Gyroskop v chytrých telefonech: co to je, typy a princip fungování

Autor: IT Sectr Publikováno: 2026-03-22 Doba čtení: 9 min

Gyroskop je senzor měřící úhlovou rychlost otáčení zařízení vzhledem ke třem osám. Na rozdíl od akcelerometru, který zaznamenává lineární zrychlení, gyroskop určuje otáčení a orientaci v prostoru. Podle údajů STMicroelectronics, 2024, moderní MEMS-gyroskopy poskytují přesnost až 0,01 stupně za sekundu, což umožňuje jejich použití v navigaci, stabilizaci obrazu a AR aplikacích.

Hlavní body

  • Gyroskop — MEMS-senzor měřící úhlovou rychlost kolem tří os (X, Y, Z) ve stupních za sekundu.
  • MEMS technologie umožňuje vytvářet miniaturní gyroskopy o velikosti 2×2 mm s odběrem proudu menším než 5 mA.
  • Android Sensor Framework poskytuje API TYPE_GYROSCOPE a TYPE_GYROSCOPE_UNCALIBRATED pro přístup k datům.
  • Kalibrace gyroskopu kompenzuje drift nuly — hlavní chybu MEMS-senzorů.
  • 6-osé systémy (gyroskop + akcelerometr) se používají v ARKit, ARCore a herních ovladačích.

Co je gyroskop v telefonu

Gyroskop v chytrém telefonu je mikroelektromechanický senzor (MEMS), který měří úhlovou rychlost otáčení zařízení. Na rozdíl od mechanických gyroskopů v letectví je MEMS-gyroskop křemíkový čip o velikosti 2×2×1 mm umístěný na základní desce telefonu.

Typy gyroskopů v mobilních zařízeních

V moderních chytrých telefonech se používají výhradně MEMS-gyroskopy vibračního typu — tuning-fork a ring-design. Nemají žádné rotující části, což zajišťuje životnost až 10 let nepřetržitého provozu. Přední výrobci — Bosch Sensortec (řada BMI), STMicroelectronics (řady L3G, A3G) a InvenSense (řada ICM).

Hlavní charakteristiky

Typický MEMS-gyroskop má rozsah měření od ±125 do ±2000 °/s, vzorkovací frekvenci až 32 kHz a odběr proudu 3–6 mA. Podle údajů Bosch Sensortec BMI160 (2023) je úroveň šumu 0,007 °/s/√Hz při rozsahu ±125 °/s — to je dostatečné pro přesné sledování otáček.

ParametrHodnota
TechnologieMEMS (vibrační)
Rozsah±125 — ±2000 °/s
Odběr3–6 mA
Velikost2×2×1 mm
Šum0,007 °/s/√Hz

Jak funguje MEMS-gyroskop

Princip fungování MEMS-gyroskopu je založen na Coriolisově jevu. Uvnitř čipu se nachází křemíková hmota, která kmitá s určitou frekvencí (15–30 kHz). Když se zařízení otáčí, na kmitající hmotu působí Coriolisova síla úměrná úhlové rychlosti.

Konstrukce vibračního gyroskopu

Klíčovými prvky MEMS-gyroskopu jsou hnací elektrody vytvářející kmity a citlivé elektrody zaznamenávající odchylku. Podle výzkumu „MEMS Gyroscopes for Consumer Electronics“ (IEEE, 2023) typická konstrukce zahrnuje 4–8 hřebenových struktur symetricky rozmístěných kolem centrální hmoty.

Digitální rozhraní

Moderní gyroskopy přenášejí data přes sběrnici I²C nebo SPI. Řadič chytrého telefonu přijímá tříosé hodnoty úhlové rychlosti — pro osy X (Pitch), Y (Roll) a Z (Yaw). Vestavěný ADC převádí kapacitní signál na digitální hodnoty s rozlišením 16–24 bitů. Frekvence aktualizace v herním režimu dosahuje 400 Hz.

Rozdíl mezi gyroskopem a akcelerometrem

Akcelerometr měří lineární zrychlení — změnu rychlosti objektu podél os. Gyroskop měří otáčení — rychlost změny úhlu. Tyto senzory jsou komplementární: akcelerometr poskytuje orientaci vzhledem k vektoru gravitace, ale nerozlišuje náklon od lineárního pohybu. Gyroskop sleduje otáčky nezávisle na gravitaci, ale je náchylný k driftu.

Sensor Fusion — spojování dat

V reálných aplikacích se používá Sensor Fusion — algoritmus spojující data z gyroskopu, akcelerometru a magnetometru. Mahonyho filtr nebo komplementární filtr vypočítává kvaterniony orientace s přesností až 2 stupně ve statice a 5 stupňů v dynamice. Android poskytuje virtuální senzor TYPE_ROTATION_VECTOR na úrovni frameworku.

kotlin
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] — kvaternion orientace
    }
}

Práce s gyroskopem přes Android API

Android poskytuje dva typy gyroskopických senzorů: TYPE_GYROSCOPE (kalibrovaný, bez driftu) a TYPE_GYROSCOPE_UNCALIBRATED (surová data s odhadem driftu). Přístup k nim je přes SensorManager.getDefaultSensor(). Data jsou vrácena v rad/s — radiánech za sekundu.

Příklad registrace gyroskopu

Registrace posluchače gyroskopu vyžaduje zadání zpoždění: SENSOR_DELAY_GAME (20 ms) pro hry, SENSOR_DELAY_UI (67 ms) pro rozhraní, SENSOR_DELAY_FASTEST (0 ms) pro maximální frekvenci. Bez zrušení registrace v onPause() se baterie vybije za 2–3 hodiny.

kotlin
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
            )
        }
    }
}

Zpracování dat gyroskopu

Surová data z event.values[0..2] odpovídají úhlové rychlosti pro X, Y a Z. Pro získání úhlu otočení je třeba integrovat úhlovou rychlost v čase. Při frekvenci 50 Hz je chyba integrace přibližně 1 stupeň za minutu — přijatelné pro hry, ale nedostatečné pro navigaci bez korekce.

Kalibrace a drift gyroskopu

Drift nuly (bias drift) — hlavní problém MEMS-gyroskopů. I v klidu může senzor vykazovat nenulovou úhlovou rychlost (0,1–2 °/s). Příčinou jsou teplotní změny a mechanická napětí v křemíkové struktuře. Výrobci kompenzují tento efekt na hardwarové úrovni.

  • Teplotní drift — změna offsetu při zahřívání telefonu z 25 na 60 °C. Kompenzován vestavěným teplotním modelem.
  • Dlouhodobý drift — změna charakteristik během 1–3 let používání. Vyžaduje periodickou kalibraci.
  • Šum úhlové náhodné chůze — ARW (Angle Random Walk). Charakterizuje hromadění chyby během integrace.

Kalibrace v Androidu

Systém Android automaticky kalibruje gyroskop při prvním zapnutí nebo při změně teploty. Proces kalibrace trvá 10–30 sekund a nevyžaduje zásah uživatele — stačí položit telefon na nehybný povrch. Metoda calibrate() není dostupná na všech zařízeních. Pro vynucenou kalibraci se používá TYPE_GYROSCOPE_UNCALIBRATED se získáním bias offset přes event.values[3..5].

kotlin
private fun handleUncalibratedGyro(event: SensorEvent) {
    val rawX = event.values[0]    // rad/s bez kalibrace
    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]
    )
}

Využití gyroskopu v mobilních aplikacích

Gyroskop se používá v desítkách scénářů — od stabilizace kamery po VR headsety Google Cardboard. ARKit od Apple a ARCore od Google používají gyroskop jako hlavní senzor pro sledování otáčení hlavy. Podle Apple ARKit Technical Specification (2024) poskytuje gyroskop spolu s akcelerometrem přesnost sledování až 0,5 stupně.

  • Stabilizace videa — EIS (Electronic Image Stabilisation) používá gyroskop ke kompenzaci chvění kamery. Algoritmus koriguje snímek na základě úhlové rychlosti.
  • Herní ovladače — otáčení zařízení pro ovládání auta nebo postavy. Zpoždění od gyroskopu k obrazovce je 20–50 ms.
  • Navigace v interiéru — Pedestrian Dead Reckoning (PDR) integruje data gyroskopu pro určení směru pohybu bez GPS.
  • Fitness trackery — počítání otočení a rotací v cvičeních. Moderní algoritmy určují typ aktivity s přesností 93%.

Průmyslové a vědecké využití

Mimo spotřební elektroniku se gyroskopy používají v robotice a dronech. Mobilní roboty založené na Android Things a ROS (Robot Operating System) používají MEMS-gyroskopy pro stabilizaci pohybu a odometrii. Podle výzkumu IEEE „MEMS IMU in Robotics“ (2024) je přesnost polohování mobilního robota s gyroskopem 3–5krát vyšší než s odometrií pouze kol, zejména při pohybu na kluzkých površích. Ve spotřebních dronech udržuje gyroskop spolu s barometrem výšku letu s přesností 0,5 metru při větru do 10 m/s.

AR a VR sledování

Pro AR aplikace je gyroskop hlavním senzorem určujícím polohu virtuálních objektů vůči reálnému světu. Google ARCore používá gyroskop ke sledování pohybu zařízení s frekvencí 1000 Hz (prostřednictvím interního vzorkování, nezávisle na frekvenci API). ARKit od Apple dosahuje přesnosti polohování 0,5 stupně při pohybu, což je dostatečné pro umístění virtuálního nábytku nebo herních postav na reálnou scénu.

Budoucnost gyroskopů

Nová generace 6-osých IMU (InvenSense ICM-42688, 2024) spojuje gyroskop a akcelerometr v jednom čipu s odběrem 0,45 mA v režimu nízké spotřeby. Vývoj gradiometrů a atomových gyroskopů pro mobilní zařízení zůstává ve fázi laboratorních prototypů. Průmyslové vzorky MEMS-gyroskopů s přesností 0,001 °/s se očekávají do roku 2028.

Často kladené otázky

Proč je v telefonu potřeba gyroskop?

Gyroskop určuje otáčení a orientaci zařízení v prostoru. Bez něj jsou nemožné režim VR, automatické otáčení obrazovky při náklonu, stabilizace videa a AR aplikace. Moderní telefony nemohou fungovat bez gyroskopu.

Čím se liší gyroskop od akcelerometru?

Akcelerometr měří lineární zrychlení (pohyb a náklon vůči gravitaci). Gyroskop měří úhlovou rychlost (otáčení). Akcelerometr nerozlišuje otáčení zařízení od jeho lineárního posunu — gyroskop tento problém řeší.

Lze gyroskop v telefonu kalibrovat?

V Androidu se používá automatická kalibrace. Pro ruční kalibraci si stáhněte aplikace jako „GPS Status & Toolbox“ — ty navrhují položit telefon na rovný povrch a provést kalibraci přes TYPE_GYROSCOPE_UNCALIBRATED.

Proč gyroskop ukazuje nenulové hodnoty v klidu?

To je drift nuly — přirozená vlastnost MEMS-senzorů. I drahé gyroskopy mají offset 0,1–2 °/s v klidu. Kalibrace tento offset odečítá. Pokud drift přesahuje 5 °/s — je senzor vadný.

Jak získat data gyroskopu na Androidu?

Použijte SensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) a zaregistrujte SensorEventListener. Data přicházejí v rad/s podél tří os. Pro hry použijte SENSOR_DELAY_GAME (20 ms), pro pozadí — SENSOR_DELAY_UI (67 ms).

Shrnutí

  • Gyroskop — MEMS-senzor měřící úhlovou rychlost otáčení chytrého telefonu kolem tří os.
  • MEMS technologie využívá Coriolisův jev na kmitající křemíkové hmotě k měření otáčení.
  • Gyroskop a akcelerometr — komplementární senzory: první měří otáčení, druhý — lineární zrychlení.
  • Android API poskytuje TYPE_GYROSCOPE a TYPE_GYROSCOPE_UNCALIBRATED s daty v rad/s.
  • Kalibrace kompenzuje drift nuly — hlavní chybu MEMS-gyroskopů s typickým offsetem 0,1–2 °/s.
  • Použití zahrnuje AR/VR, stabilizaci videa, herní ovladače a navigaci PDR.
  • Moderní 6-osé IMU spojují gyroskop a akcelerometr v jednom čipu s odběrem od 0,45 mA.

Vyvineme mobilní aplikaci na klíč

IT Sectr vytváří aplikace pro iOS a Android pro startupy a podniky od roku 2017. Poradíme vám a navrhneme nejlepší řešení.

Prodiskutovat projekt

Přečtěte si také