Когда вышли iPhone 4 и iPod Touch 4-го поколения, я играл с алгоритмами объединения датчиков Apple Core Motion, чтобы посмотреть, смогу ли я получить какие-либо интересные результаты для очень локального точного счисления (в диапазоне нескольких дюймов или футов). Я не ожидал ничего впечатляющего, учитывая относительно низкие характеристики датчиков MEMS. И хотя свойство Apple CMDeviceMotion
gravity
использует приличный (хотя и непрозрачный) алгоритм объединения датчиков, дополнительное свойство userAcceleration
не совсем нацелено на точный расчет. Тем не менее, я подумал, что там будет достаточно, чтобы немного повеселиться.
IPhone 4, iPhone 5, iPod Touch 4-го поколения и iPod Touch 5-го поколения, по-видимому, используют акселерометр STMicroelectronics LIS331DLH и гироскоп L3G4200D. (На самом деле, я еще не видел номер детали гироскопа iTouch-5, поэтому он может быть другим.)
Разборка: iPhone-4, iTouch-4, iPhone-5, iTouch-5
Спецификации ST показывают, что акселерометр может производить выборку на частоте 1000 Гц до ± 8g. И этот гироскоп мог производить выборку на частоте 800 Гц до ± 2000 dps.
Технические характеристики: LIS331DLH, L3G4200D
Но, играя с моим iPod Touch 4-го поколения (iOS 5 и iOS 6), я могу поднять частоту дискретизации только до 100 Гц. Если я устанавливаю CMMotionManager
deviceMotionUpdateInterval
любое значение ниже 0,01, оно автоматически сбрасывается до 0,01. То же самое для accelerometerUpdateInterval
и gyroUpdateInterval
.
Кроме того, выход акселерометра всегда кажется ограниченным примерно на уровне ± 2g.
Я видел, как другие отмечали аналогичные ограничения для iPhone 4.
Обе эти границы сильно ограничивают вычисления локального ускорения, которые я могу выжать из устройства (экспериментируя с моим iPod touch 4-го поколения). Я предполагаю, что Apple установила эти ограничения на низком уровне, чтобы снизить энергопотребление. Хотя я не знаю, установлены ли они на оборудовании или где-то в iOS.
Кто-нибудь играл с этими границами акселерометра и гироскопа на iPhone 5 или iPod Touch 5-го поколения? (Или любые iPad в этом отношении?) Любая частота дискретизации выше 100 Гц? Измерения акселерометра выходят за пределы ± 2g?