Giroskop — qurilmaning uch o'qqa nisbatan aylanish burchak tezligini o'lchaydigan sensor. Chiziqli tezlanishni qayd qiladigan akselerometrdan farqli o'laroq, giroskop fazoda aylanish va orientatsiyani aniqlaydi. STMicroelectronics, 2024 ma'lumotlariga ko'ra, zamonaviy MEMS-giroskoplar sekundiga 0.01 daraja aniqlikni ta'minlaydi, bu ularni navigatsiya, tasvir barqarorlashtirish va AR-ilovalarida qo'llash imkonini beradi.
Asosiy ma'lumotlar
Giroskop smartfonda — qurilmaning aylanish burchak tezligini o'lchaydigan mikroelektromexanik sensor (MEMS). Aviatsiyadagi mexanik giroskoplardan farqli o'laroq, MEMS-giroskop telefonning bosh platasiga o'rnatilgan 2×2×1 mm o'lchamdagi kremniy chipdir.
Zamonaviy smartfonlarda faqat MEMS-giroskoplar tebranish tipidagi — tuning-fork va ring-design qo'llaniladi. Ularning aylanuvchi qismlari yo'q, bu 10 yilgacha uzluksiz ishlash muddatini ta'minlaydi. Yetakchi ishlab chiqaruvchilar — Bosch Sensortec (BMI seriyasi), STMicroelectronics (L3G, A3G seriyalari) va InvenSense (ICM seriyasi).
Oddiy MEMS-giroskop ±125 dan ±2000 °/s gacha o'lchash diapazoniga, 32 kHz gacha namuna olish chastotasiga va 3–6 mA tok sarfiga ega. Bosch Sensortec BMI160 (2023) ma'lumotlariga ko'ra, ±125 °/s diapazonida shovqin darajasi 0.007 °/s/√Hz ni tashkil qiladi — bu aylanishlarni aniq kuzatish uchun yetarli.
| Parametr | Qiymat |
|---|---|
| Texnologiya | MEMS (tebranish) |
| Diapazon | ±125 — ±2000 °/s |
| Tok sarfi | 3–6 mA |
| O'lcham | 2×2×1 mm |
| Shovqin | 0.007 °/s/√Hz |
MEMS-giroskopning ishlash prinsipi Koriolis effektiga asoslangan. Chip ichida ma'lum chastotada (15–30 kHz) tebranuvchi kremniy massa joylashgan. Qurilma aylanganda, tebranuvchi massaga burchak tezligiga mutanosib Koriolis kuchi ta'sir qiladi.
MEMS-giroskopning asosiy elementlari — tebranish yaratuvchi qo'zg'atuvchi elektrodlar va og'ishni qayd qiluvchi sezuvchan elektrodlar. IEEE “MEMS Gyroscopes for Consumer Electronics“ (2023) tadqiqotiga ko'ra, odatdagi konstruksiya markaziy massa atrofida simmetrik joylashgan 4–8 taroqsimon strukturalarni o'z ichiga oladi.
Zamonaviy giroskoplar ma'lumotlarni I²C yoki SPI shinasi orqali uzatadi. Smartfon kontrolleri uch o'qli burchak tezligi qiymatlarini — X (Pitch), Y (Roll) va Z (Yaw) o'qlari bo'yicha oladi. Ichki ADC sig'im signalini 16–24 bit aniqlikda raqamli qiymatlarga o'zgartiradi. O'yin rejimida yangilanish chastotasi 400 Hz ga etadi.
Akselerometr chiziqli tezlanishni — ob'ekt tezligining o'qlar bo'ylab o'zgarishini o'lchaydi. Giroskop aylanishni — burchak o'zgarish tezligini o'lchaydi. Bu sensorlar bir-birini to'ldiradi: akselerometr gravitatsiya vektoriga nisbatan orientatsiyani beradi, lekin qiyalikni chiziqli harakatdan farqlamaydi. Giroskop aylanishlarni gravitatsiyadan mustaqil kuzatadi, lekin dreyfga uchraydi.
Haqiqiy ilovalarda Sensor Fusion — giroskop, akselerometr va magnitometr ma'lumotlarini birlashtiruvchi algoritm qo'llaniladi. Mahoni filtri yoki komplementar filtr 2 daraja statikada va 5 daraja dinamikada orientatsiya kvaternionlarini hisoblaydi. Android framework darajasida virtual TYPE_ROTATION_VECTOR sensorini taqdim etadi.
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] — orientatsiya kvaternioni
}
}
Android ikkita giroskop sensorini taqdim etadi: TYPE_GYROSCOPE (kalibrlangan, dreyfsiz) va TYPE_GYROSCOPE_UNCALIBRATED (dreyf bahosi bilan xom ma'lumotlar). Ularga SensorManager.getDefaultSensor() orqali kirish mumkin. Ma'lumotlar rad/s — sekundiga radianlarda qaytariladi.
Giroskop tinglovchisini ro'yxatdan o'tkazish kechikishni ko'rsatishni talab qiladi: o'yinlar uchun SENSOR_DELAY_GAME (20 ms), interfeys uchun SENSOR_DELAY_UI (67 ms), maksimal chastota uchun SENSOR_DELAY_FASTEST (0 ms). onPause() da ro'yxatdan o'tkazishni bekor qilmasdan batareya 2–3 soatda zaryadsizlanadi.
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
)
}
}
}
Xom ma'lumotlar event.values[0..2] dan mos ravishda X, Y va Z bo'yicha burchak tezligiga mos keladi. Aylanish burchagini olish uchun burchak tezligini vaqt bo'yicha integrallash kerak. 50 Hz chastotada integrallash xatosi daqiqada taxminan 1 darajani tashkil qiladi — bu o'yinlar uchun maqbul, lekin tuzatishsiz navigatsiya uchun yetarli emas.
Nol dreyfi (bias drift) — MEMS-giroskoplarning asosiy muammosi. Hatto harakatsiz holatda ham sensor noldan farqli burchak tezligini (0.1–2 °/s) ko'rsatishi mumkin. Sabab — harorat o'zgarishlari va kremniy strukturasidagi mexanik kuchlanishlar. Ishlab chiqaruvchilar bu effektni apparat darajasida kompensatsiya qiladi.
Android tizimi giroskopni birinchi yoqishda yoki harorat o'zgarganda avtomatik kalibrlaydi. Kalibrlash jarayoni 10–30 soniya davom etadi va foydalanuvchi aralashuvini talab qilmaydi — telefonni harakatsiz yuzaga qo'yish kifoya. calibrate() metodi barcha qurilmalarda mavjud emas. Majburiy kalibrlash uchun event.values[3..5] orqali bias offset olish bilan TYPE_GYROSCOPE_UNCALIBRATED ishlatiladi.
private fun handleUncalibratedGyro(event: SensorEvent) {
val rawX = event.values[0] // rad/s kalibrlashsiz
val biasX = event.values[3] // X siljishi
val calibratedX = rawX - biasX
applyCalibrationToFusion(
calibratedX,
event.values[1] - event.values[4],
event.values[2] - event.values[5]
)
}
Giroskop kamera barqarorlashtirishdan tortib VR ko'zoynaklar Google Cardboardgacha o'nlab stsenariylarda qo'llaniladi. Apple-dan ARKit va Google-dan ARCore bosh aylanishini kuzatish uchun giroskopni asosiy sensor sifatida ishlatadi. Apple ARKit Technical Specification (2024) ma'lumotlariga ko'ra, giroskop akselerometr bilan birgalikda 0.5 darajagacha kuzatish aniqligini ta'minlaydi.
Iste'mol elektronikasidan tashqari, giroskoplar robototexnika va dronlarda qo'llaniladi. Android Things va ROS (Robot Operating System) asosidagi mobil robotlar harakatni barqarorlashtirish va odometriya uchun MEMS-giroskoplardan foydalanadi. IEEE “MEMS IMU in Robotics“ (2024) tadqiqotiga ko'ra, giroskopli mobil robotning joylashish aniqligi faqat g'ildirak odometriyasidan 3–5 baravar yuqori, ayniqsa sirpanchiq yuzalarda harakatlanayotganda. Iste'mol dronlarida giroskop barometr bilan birgalikda 10 m/s gacha shamolda 0.5 metr aniqlikda parvoz balandligini ushlab turadi.
AR ilovalari uchun giroskop virtual ob'ektlarning real dunyoga nisbatan o'rnini aniqlovchi asosiy sensordir. Google ARCore giroskopdan qurilma harakatini 1000 Hz chastotada kuzatish uchun foydalanadi (API chastotasidan mustaqil ravishda ichki namuna olish orqali). Apple-dan ARKit harakat paytida 0.5 daraja joylashish aniqligiga erishadi, bu real sahnaga virtual mebel yoki o'yin personajlarini qo'yish uchun yetarli.
Yangi avlod 6 o'qli IMU (InvenSense ICM-42688, 2024) kam quvvat rejimida 0.45 mA tok bilan bir chipda giroskop va akselerometrni birlashtiradi. Mobil qurilmalar uchun gradientometr va atom giroskoplarining rivojlanishi hali laboratoriya prototiplari bosqichida qolmoqda. 0.001 °/s aniqlikdagi sanoat MEMS-giroskop namunalari 2028 yilgacha kutilmoqda.
Tez-tez beriladigan savollar
Giroskop qurilmaning aylanishi va fazoda orientatsiyasini aniqlaydi. U holda VR rejimi, ekranning egilish bo'yicha avtomatik aylanishi, video barqarorlashtirish va AR ilovalari mumkin emas. Zamonaviy telefonlar giroskopsiz ishlay olmaydi.
Akselerometr chiziqli tezlanishni (gravitatsiyaga nisbatan harakat va qiyalik) o'lchaydi. Giroskop burchak tezligini (aylanish) o'lchaydi. Akselerometr qurilmaning aylanishini uning chiziqli siljishidan farqlamaydi — giroskop bu muammoni hal qiladi.
Android-da avtomatik kalibrlash qo'llaniladi. Qo'lda kalibrlash uchun „GPS Status & Toolbox“ kabi ilovalarni yuklab oling — ular telefonni tekis yuzaga qo'yish va TYPE_GYROSCOPE_UNCALIBRATED orqali kalibrlashni taklif qiladi.
Bu nol dreyfi — MEMS-sensorlarning tabiiy xususiyati. Hatto qimmat giroskoplarda tinch holatda 0.1–2 °/s siljish bor. Kalibrlash bu siljishni ayiradi. Agar dreyf 5 °/s dan oshsa — sensor buzilgan.
SensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) dan foydalaning va SensorEventListener ni ro'yxatdan o'tkazing. Ma'lumotlar uch o'q bo'ylab rad/s da keladi. O'yinlar uchun SENSOR_DELAY_GAME (20 ms), fon uchun — SENSOR_DELAY_UI (67 ms) ishlating.
Xulosa
Biz kalit topshirig'i bilan mobil ilovani ishlab chiqamiz
IT Sectr 2017-yildan beri startaplar va korxonalar uchun iOS va Android ilovalarini yaratadi. Biz sizga maslahat beramiz va eng yaxshi yechimni taklif qilamiz.