Ein Gyroskop ist ein Sensor, der die Winkelgeschwindigkeit der Drehung eines Geräts um drei Achsen misst. Im Gegensatz zu einem Beschleunigungssensor, der die lineare Beschleunigung misst, erkennt ein Gyroskop die Drehung und Ausrichtung im Raum. Laut STMicroelectronics, 2024 erreichen moderne MEMS-Gyroskope eine Genauigkeit von bis zu 0.01 Grad pro Sekunde, was ihren Einsatz in Navigation, Bildstabilisierung und AR-Anwendungen ermöglicht.
Wichtigste Erkenntnisse
Ein Gyroskop in einem Smartphone ist ein mikroelektromechanischer Sensor (MEMS), der die Winkelgeschwindigkeit der Drehung des Geräts misst. Im Gegensatz zu mechanischen Gyroskopen in der Luftfahrt ist ein MEMS-Gyroskop ein Siliziumchip von 2×2×1 mm, der auf der Hauptplatine des Telefons montiert ist.
Moderne Smartphones verwenden ausschließlich MEMS-Gyroskope des Schwingungstyps — Tuning-Fork und Ring-Design. Sie haben keine rotierenden Teile, was eine Haltbarkeit von bis zu 10 Jahren Dauerbetrieb gewährleistet. Die führenden Hersteller sind Bosch Sensortec (BMI-Serie), STMicroelectronics (L3G-, A3G-Serie) und InvenSense (ICM-Serie).
Ein typisches MEMS-Gyroskop hat einen Messbereich von ±125 bis ±2000 °/s, eine Abtastrate von bis zu 32 kHz und eine Stromaufnahme von 3–6 mA. Laut Bosch Sensortec BMI160 (2023) beträgt der Rauschpegel im Bereich von ±125 °/s 0,007 °/s/√Hz — ausreichend für eine genaue Drehverfolgung.
| Parameter | Wert |
|---|---|
| Technologie | MEMS (Schwingung) |
| Bereich | ±125 — ±2000 °/s |
| Stromaufnahme | 3–6 mA |
| Größe | 2×2×1 mm |
| Rauschen | 0,007 °/s/√Hz |
Das Funktionsprinzip eines MEMS-Gyroskops basiert auf dem Coriolis-Effekt. Im Inneren des Chips befindet sich eine Siliziummasse, die mit einer bestimmten Frequenz (15–30 kHz) schwingt. Wenn sich das Gerät dreht, wirkt die Coriolis-Kraft auf die schwingende Masse, proportional zur Winkelgeschwindigkeit.
Die Schlüsselelemente eines MEMS-Gyroskops sind Antriebselektroden, die Schwingungen erzeugen, und Sensorelektroden, die die Auslenkung erfassen. Laut der Forschungsarbeit „MEMS Gyroscopes for Consumer Electronics“ (IEEE, 2023) umfasst ein typisches Design 4–8 kammartige Strukturen, die symmetrisch um die Zentralmasse angeordnet sind.
Moderne Gyroskope übertragen Daten über I²C- oder SPI-Busse. Der Smartphone-Controller empfängt dreiachsige Winkelgeschwindigkeitswerte — X (Pitch), Y (Roll) und Z (Yaw). Der integrierte ADC wandelt das kapazitive Signal in digitale Werte mit einer Auflösung von 16–24 Bit um. Die Aktualisierungsrate im Spielmodus erreicht 400 Hz.
Ein Beschleunigungssensor misst die lineare Beschleunigung — die Geschwindigkeitsänderung eines Objekts entlang der Achsen. Ein Gyroskop misst die Drehung — die Änderungsrate des Winkels. Diese Sensoren sind komplementär: Der Beschleunigungssensor liefert die Ausrichtung relativ zum Gravitationsvektor, kann aber Neigung nicht von linearer Bewegung unterscheiden. Das Gyroskop verfolgt Drehungen unabhängig von der Gravitation, unterliegt jedoch einer Drift.
In realen Anwendungen wird Sensor Fusion verwendet — ein Algorithmus, der Daten von Gyroskop, Beschleunigungssensor und Magnetometer kombiniert. Der Mahony-Filter oder der Komplementärfilter berechnen Orientierungsquaternionen mit einer Genauigkeit von 2 Grad im statischen Zustand und 5 Grad im dynamischen Zustand. Android stellt den virtuellen Sensor TYPE_ROTATION_VECTOR auf Framework-Ebene zur Verfügung.
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] — Orientierungsquaternion
}
}
Android bietet zwei Arten von Gyroskopsensoren: TYPE_GYROSCOPE (kalibriert, ohne Drift) und TYPE_GYROSCOPE_UNCALIBRATED (Rohdaten mit Driftschätzung). Der Zugriff erfolgt über SensorManager.getDefaultSensor(). Die Daten werden in rad/s — Radiant pro Sekunde — zurückgegeben.
Die Registrierung eines Listeners für das Gyroskop erfordert die Angabe einer Verzögerung: SENSOR_DELAY_GAME (20 ms) für Spiele, SENSOR_DELAY_UI (67 ms) für die Benutzeroberfläche, SENSOR_DELAY_FASTEST (0 ms) für maximale Frequenz. Ohne Abmeldung in onPause() entlädt sich der Akku in 2–3 Stunden.
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
)
}
}
}
Die Rohdaten aus event.values[0..2] entsprechen der Winkelgeschwindigkeit entlang X, Y und Z. Um den Drehwinkel zu erhalten, muss die Winkelgeschwindigkeit über die Zeit integriert werden. Bei 50 Hz beträgt der Integrationsfehler etwa 1 Grad pro Minute — akzeptabel für Spiele, aber ohne Korrektur für die Navigation unzureichend.
Die Nullpunktdrift (Bias Drift) ist das Hauptproblem von MEMS-Gyroskopen. Selbst im Ruhezustand kann der Sensor eine von Null verschiedene Winkelgeschwindigkeit (0,1–2 °/s) anzeigen. Ursache sind Temperaturänderungen und mechanische Spannungen in der Siliziumstruktur. Die Hersteller kompensieren diesen Effekt auf Hardwareebene.
Das Android-System kalibriert das Gyroskop automatisch beim ersten Start oder bei Temperaturänderungen. Der Kalibriervorgang dauert 10–30 Sekunden und erfordert kein Eingreifen des Benutzers — legen Sie das Telefon einfach auf eine feste Oberfläche. Die Methode calibrate() ist nicht auf allen Geräten verfügbar. Für eine erzwungene Kalibrierung wird TYPE_GYROSCOPE_UNCALIBRATED verwendet, wobei der Bias-Offset über event.values[3..5] ermittelt wird.
private fun handleUncalibratedGyro(event: SensorEvent) {
val rawX = event.values[0] // rad/s ohne Kalibrierung
val biasX = event.values[3] // X-Achsen-Versatz
val calibratedX = rawX - biasX
applyCalibrationToFusion(
calibratedX,
event.values[1] - event.values[4],
event.values[2] - event.values[5]
)
}
Das Gyroskop wird in Dutzenden von Szenarien eingesetzt — von der Kamera-Stabilisierung bis zu VR-Headsets wie Google Cardboard. Apples ARKit und Googles ARCore verwenden das Gyroskop als primären Sensor zur Verfolgung der Kopfrotation. Laut Apple ARKit Technical Specification (2024) bietet das Gyroskop in Verbindung mit einem Beschleunigungssensor eine Tracking-Genauigkeit von bis zu 0,5 Grad.
Außerhalb der Unterhaltungselektronik werden Gyroskope in Robotik und UAVs eingesetzt. Mobile Roboter auf Basis von Android Things und ROS (Robot Operating System) verwenden MEMS-Gyroskope zur Bewegungsstabilisierung und Odometrie. Laut einer IEEE-Studie „MEMS IMU in Robotics“ (2024) ist die Positioniergenauigkeit eines mobilen Roboters mit Gyroskop 3- bis 5-mal höher als mit reiner Radodometrie, insbesondere auf rutschigen Oberflächen. In Verbraucherdrohnen hält das Gyroskop in Kombination mit einem Barometer die Flughöhe bei Windgeschwindigkeiten bis zu 10 m/s mit einer Genauigkeit von 0,5 m.
Für AR-Anwendungen ist das Gyroskop der primäre Sensor, der die Position virtueller Objekte relativ zur realen Welt bestimmt. Google ARCore verwendet das Gyroskop zur Gerätebewegungsverfolgung bei 1000 Hz (über interne Abtastung, unabhängig von der API-Rate). Apples ARKit erreicht eine Positioniergenauigkeit von 0,5 Grad während der Bewegung, was ausreicht, um virtuelle Möbel oder Spielfiguren in die reale Szene einzublenden.
Die neue Generation von 6-Achsen-IMUs (InvenSense ICM-42688, 2024) integriert ein Gyroskop und einen Beschleunigungssensor in einem einzigen Chip mit einer Leistungsaufnahme von 0,45 mA im Energiesparmodus. Die Entwicklung von Gradiometern und Atomgyroskopen für mobile Geräte befindet sich noch im Stadium von Laborprototypen. Kommerzielle MEMS-Gyroskope mit einer Genauigkeit von 0,001 °/s werden bis 2028 erwartet.
Häufig gestellte Fragen
Das Gyroskop erkennt die Drehung und Ausrichtung des Geräts im Raum. Ohne es wären der VR-Modus, die automatische Drehung durch Neigung, die Videostabilisierung und AR-Anwendungen unmöglich. Moderne Telefone können ohne Gyroskop nicht funktionieren.
Ein Beschleunigungssensor misst die lineare Beschleunigung (Bewegung und Neigung relativ zur Schwerkraft). Ein Gyroskop misst die Winkelgeschwindigkeit (Drehung). Der Beschleunigungssensor kann die Drehung des Geräts nicht von seiner linearen Bewegung unterscheiden — das Gyroskop löst dieses Problem.
Android verwendet eine automatische Kalibrierung. Für eine manuelle Kalibrierung laden Sie Apps wie „GPS Status & Toolbox“ herunter — sie führen Sie durch das Auflegen des Telefons auf eine ebene Fläche und die Kalibrierung über TYPE_GYROSCOPE_UNCALIBRATED.
Dies ist die Nullpunktdrift — eine natürliche Eigenschaft von MEMS-Sensoren. Selbst teure Gyroskope haben im Ruhezustand einen Offset von 0,1–2 °/s. Die Kalibrierung subtrahiert diesen Offset. Überschreitet die Drift 5 °/s, ist der Sensor defekt.
Verwenden Sie SensorManager.getDefaultSensor(Sensor.TYPE_GYROSCOPE) und registrieren Sie einen SensorEventListener. Die Daten kommen in rad/s auf drei Achsen. Für Spiele verwenden Sie SENSOR_DELAY_GAME (20 ms); für den Hintergrund SENSOR_DELAY_UI (67 ms).
Zusammenfassung
Wir entwickeln eine mobile Applikation schlüsselfertig
IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.
Lesen Sie auch