Giroskop adalah sensor yang mengukur kecepatan sudut rotasi perangkat relatif terhadap tiga sumbu. Berbeda dengan akselerometer yang mencatat percepatan linier, giroskop menentukan rotasi dan orientasi di ruang angkasa. Menurut data STMicroelectronics, 2024, MEMS-giroskop modern memberikan akurasi hingga 0,01 derajat per detik, memungkinkan penggunaannya dalam navigasi, stabilisasi gambar, dan aplikasi AR.
Poin Penting
Giroskop di ponsel pintar adalah sensor mikroelektromekanis (MEMS) yang mengukur kecepatan sudut rotasi perangkat. Berbeda dengan giroskop mekanis di penerbangan, MEMS-giroskop adalah chip silikon berukuran 2×2×1 mm yang dipasang di papan utama ponsel.
Di ponsel pintar modern, hanya MEMS-giroskop tipe vibrasi yang digunakan — tuning-fork dan ring-design. Mereka tidak memiliki bagian yang berputar, yang memastikan ketahanan hingga 10 tahun operasi berkelanjutan. Produsen terkemuka — Bosch Sensortec (seri BMI), STMicroelectronics (seri L3G, A3G), dan InvenSense (seri ICM).
MEMS-giroskop tipikal memiliki rentang pengukuran dari ±125 hingga ±2000 °/s, frekuensi sampling hingga 32 kHz, dan konsumsi arus 3–6 mA. Menurut data Bosch Sensortec BMI160 (2023), tingkat kebisingan adalah 0,007 °/s/√Hz pada rentang ±125 °/s — cukup untuk pelacakan rotasi yang akurat.
| Parameter | Nilai |
|---|---|
| Teknologi | MEMS (vibrasi) |
| Rentang | ±125 — ±2000 °/s |
| Konsumsi | 3–6 mA |
| Ukuran | 2×2×1 mm |
| Kebisingan | 0,007 °/s/√Hz |
Prinsip kerja MEMS-giroskop didasarkan pada efek Coriolis. Di dalam chip terdapat massa silikon yang berosilasi pada frekuensi tertentu (15–30 kHz). Saat perangkat berputar, gaya Coriolis yang sebanding dengan kecepatan sudut bekerja pada massa yang berosilasi.
Elemen kunci MEMS-giroskop adalah elektroda penggerak yang menciptakan osilasi dan elektroda sensitif yang mencatat deviasi. Menurut penelitian “MEMS Gyroscopes for Consumer Electronics” (IEEE, 2023), konstruksi tipikal mencakup 4–8 struktur sisir yang ditempatkan secara simetris di sekitar massa pusat.
Giroskop modern mentransmisikan data melalui bus I²C atau SPI. Pengontrol ponsel pintar menerima nilai kecepatan sudut tiga sumbu — masing-masing untuk sumbu X (Pitch), Y (Roll), dan Z (Yaw). ADC internal mengubah sinyal kapasitif menjadi nilai digital dengan resolusi 16–24 bit. Frekuensi pembaruan dalam mode game mencapai 400 Hz.
Akselerometer mengukur percepatan linier — perubahan kecepatan objek di sepanjang sumbu. Giroskop mengukur rotasi — kecepatan perubahan sudut. Sensor-sensor ini saling melengkapi: akselerometer memberikan orientasi relatif terhadap vektor gravitasi, tetapi tidak membedakan kemiringan dari gerakan linier. Giroskop melacak rotasi secara independen dari gravitasi, tetapi rentan terhadap drift.
Dalam aplikasi nyata, digunakan Sensor Fusion — algoritma yang menggabungkan data dari giroskop, akselerometer, dan magnetometer. Filter Mahony atau filter komplementer menghitung kuaternion orientasi dengan akurasi hingga 2 derajat dalam statis dan 5 derajat dalam dinamis. Android menyediakan sensor virtual TYPE_ROTATION_VECTOR di tingkat framework.
val rotationVector = sensorManager
.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR)
val callback = object : SensorEventListener {
override fun onSensorChanged(event: SensorEvent) {
val quat = FloatArray(4)
SensorManager.getQuaternionFromVector(quat, event.values)
// quat[0..3] — kuaternion orientasi
}
}
Android menyediakan dua jenis sensor giroskop: TYPE_GYROSCOPE (terkalibrasi, tanpa drift) dan TYPE_GYROSCOPE_UNCALIBRATED (data mentah dengan estimasi drift). Akses ke sana dilakukan melalui SensorManager.getDefaultSensor(). Data dikembalikan dalam rad/s — radian per detik.
Registrasi pendengar giroskop memerlukan penentuan penundaan: SENSOR_DELAY_GAME (20 ms) untuk game, SENSOR_DELAY_UI (67 ms) untuk antarmuka, SENSOR_DELAY_FASTEST (0 ms) untuk frekuensi maksimum. Tanpa pembatalan registrasi di onPause(), baterai habis dalam 2–3 jam.
class GyroActivity : AppCompatActivity() {
private lateinit var sensorManager: SensorManager
private var gyroscope: Sensor? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
sensorManager = getSystemService(SENSOR_SERVICE) as SensorManager
gyroscope = sensorManager.getDefaultSensor(
Sensor.TYPE_GYROSCOPE
)
}
override fun onResume() {
super.onResume()
gyroscope?.let { sensor ->
sensorManager.registerListener(
this, sensor, SensorManager.SENSOR_DELAY_GAME
)
}
}
}
Data mentah dari event.values[0..2] sesuai dengan kecepatan sudut untuk X, Y, dan Z. Untuk mendapatkan sudut rotasi, kecepatan sudut harus diintegrasikan terhadap waktu. Pada frekuensi 50 Hz, kesalahan integrasi sekitar 1 derajat per menit — dapat diterima untuk game, tetapi tidak cukup untuk navigasi tanpa koreksi.
Drift nol (bias drift) — masalah utama MEMS-giroskop. Bahkan dalam keadaan diam, sensor dapat menunjukkan kecepatan sudut bukan nol (0,1–2 °/s). Penyebab — perubahan suhu dan tekanan mekanis dalam struktur silikon. Produsen mengompensasi efek ini di tingkat perangkat keras.
Sistem Android secara otomatis mengkalibrasi giroskop saat pertama kali dinyalakan atau saat perubahan suhu. Proses kalibrasi memakan waktu 10–30 detik dan tidak memerlukan campur tangan pengguna — cukup letakkan ponsel di permukaan yang diam. Metode calibrate() tidak tersedia di semua perangkat. Untuk kalibrasi paksa, digunakan TYPE_GYROSCOPE_UNCALIBRATED dengan mendapatkan bias offset melalui event.values[3..5].
private fun handleUncalibratedGyro(event: SensorEvent) {
val rawX = event.values[0] // rad/s tanpa kalibrasi
val biasX = event.values[3] // offset X
val calibratedX = rawX - biasX
applyCalibrationToFusion(
calibratedX,
event.values[1] - event.values[4],
event.values[2] - event.values[5]
)
}
Giroskop digunakan dalam puluhan skenario — dari stabilisasi kamera hingga headset VR Google Cardboard. ARKit dari Apple dan ARCore dari Google menggunakan giroskop sebagai sensor utama untuk melacak rotasi kepala. Menurut Apple ARKit Technical Specification (2024), giroskop bersama dengan akselerometer memberikan akurasi pelacakan hingga 0,5 derajat.
Di luar elektronik konsumen, giroskop digunakan dalam robotika dan drone. Robot seluler berbasis Android Things dan ROS (Robot Operating System) menggunakan MEMS-giroskop untuk stabilisasi gerakan dan odometri. Menurut penelitian IEEE “MEMS IMU in Robotics” (2024), akurasi penentuan posisi robot seluler dengan giroskop 3–5 kali lebih tinggi daripada dengan odometri roda saja, terutama saat bergerak di permukaan licin. Di drone konsumen, giroskop bersama dengan barometer mempertahankan ketinggian terbang dengan akurasi 0,5 meter pada angin hingga 10 m/s.
Untuk aplikasi AR, giroskop adalah sensor utama yang menentukan posisi objek virtual relatif terhadap dunia nyata. Google ARCore menggunakan giroskop untuk melacak gerakan perangkat dengan frekuensi 1000 Hz (melalui sampling internal, independen dari frekuensi API). ARKit dari Apple mencapai akurasi penentuan posisi 0,5 derajat saat bergerak, cukup untuk menempatkan furnitur virtual atau karakter game di atas pemandangan nyata.
Generasi baru IMU 6-sumbu (InvenSense ICM-42688, 2024) menggabungkan giroskop dan akselerometer dalam satu chip dengan konsumsi 0,45 mA dalam mode daya rendah. Pengembangan gradiometer dan giroskop atom untuk perangkat seluler masih dalam tahap prototipe laboratorium. Sampel industri MEMS-giroskop dengan akurasi 0,001 °/s diharapkan pada tahun 2028.
Pertanyaan yang Sering Diajukan
Giroskop menentukan rotasi dan orientasi perangkat di ruang angkasa. Tanpanya, mode VR, rotasi otomatis layar saat dimiringkan, stabilisasi video, dan aplikasi AR tidak mungkin dilakukan. Ponsel modern tidak dapat berfungsi tanpa giroskop.
Akselerometer mengukur percepatan linier (gerakan dan kemiringan relatif terhadap gravitasi). Giroskop mengukur kecepatan sudut (rotasi). Akselerometer tidak membedakan rotasi perangkat dari perpindahan liniernya — giroskop memecahkan masalah ini.
Di Android, kalibrasi otomatis digunakan. Untuk kalibrasi manual, unduh aplikasi seperti “GPS Status & Toolbox” — aplikasi ini menyarankan meletakkan ponsel di permukaan datar dan melakukan kalibrasi melalui TYPE_GYROSCOPE_UNCALIBRATED.
Ini adalah drift nol — sifat alami sensor MEMS. Bahkan giroskop mahal memiliki offset 0,1–2 °/s saat diam. Kalibrasi mengurangi offset ini. Jika drift melebihi 5 °/s — sensor rusak.
Gunakan SensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) dan daftarkan SensorEventListener. Data masuk dalam rad/s di sepanjang tiga sumbu. Untuk game, gunakan SENSOR_DELAY_GAME (20 ms), untuk latar belakang — SENSOR_DELAY_UI (67 ms).
Ringkasan
Kami akan mengembangkan aplikasi seluler turnkey
IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.
Baca juga