IPhone4と第4世代のiPodTouchが発売されたとき、私はAppleのCore Motionセンサーフュージョンアルゴリズムをいじって、非常に局所的な推測航法(数インチまたはフィートの範囲)で興味深い結果が得られるかどうかを確認していました。 MEMSセンサーのスペックが比較的低いことを考えると、素晴らしいものは何も期待していませんでした。また、AppleのCMDeviceMotion
gravity
プロパティは、まともな(不透明ではありますが)センサーフュージョンアルゴリズムを使用していますが、補完的なuserAcceleration
プロパティは推測航法を正確に対象としているわけではありません。それでも、少し楽しむには十分かもしれないと思いました。
IPhone 4、iPhone 5、第4世代iPod Touch、および第5世代iPod Touchはすべて、STMicroelectronicsLIS331DLH加速度計とL3G4200Dジャイロスコープを使用しているようです。 (実際、iTouch-5ジャイロの部品番号はまだ見ていないので、異なる可能性があります。)
分解: iPhone-4 、 iTouch-4 、 iPhone-5 、 iTouch-5
ST仕様は、加速度計が1000Hzで最大±8gまでサンプリングできることを示しています。そして、そのジャイロスコープは、800Hzで最大±2000dpsまでサンプリングできます。
しかし、私の第4世代iPod Touch(iOS5とiOS6の両方)で遊んでいると、サンプリングレートを100Hzまでしかクランクできません。 CMMotionManager
deviceMotionUpdateInterval
を0.01未満に設定すると、自動的に0.01にリセットされます。 accelerometerUpdateInterval
とgyroUpdateInterval
についても同じです。
さらに、加速度計の出力は常に約±2gに制限されているようです。
私は他の人がiPhone4の同様の限界について発言しているのを見ました。
これらの両方の境界により、デバイスを絞り出すことができるローカル加速度の計算が大幅に制限されます(第4世代iPod touchで実験)。 Appleは、消費電力を削減するためにこれらの境界を低く設定していると思います。ハードウェアに設定されているのか、iOSのどこかに設定されているのかはわかりませんが。
IPhone5または第5世代のiPodTouchで、これらの加速度計とジャイロスコープの境界で遊んだ人はいますか? (または、そのことについてはiPadはありますか?)100 Hzを超えるサンプリングレートはありますか? ±2gの範囲外の加速度計の測定値はありますか?
私はiPhone5でtechBASICをテストしていて、この議論に私を導いた異常に気づきました。どうやらiPhone5の加速度計は8Gの範囲に設定されています!それを確認するための参考資料は見つかりませんが、techBASICの加速度計のデモでは、iPhone5を上下に振ったときにこれが示されました。
これは、物理アプリケーションにとって非常にエキサイティングです。モデルロケットにはオプションの8G範囲があり、iPhoneにはないため、SensorTagを使用してモデルロケットの加速度を測定しました。これで、SensorTagを省略して、iPhoneを使用することができます。
私が行った読み取り値のうち、加速度計が読み取る最小/最大読み取り値を決定するときは、通常2〜3の選択肢があります。次のステップ(8G)は通常、手の動きで作業するときに必要な細かい測定値を取得するために読み取り値を粗くすることであるため、2Gは加速度計の非常に一般的な選択です。地面にぶつかる力を測定するために建物から降ろす場合は、8G(または一部のオファーとして16G)を使用することをお勧めします。
Corona Labsの人々 によると、Hzは意図的に100Hzに制限されているようです。どうやらバッテリーを乱用しないようにするためです。加速度計が最も電力を消費しないセンサーであることを読みましたが、それはすべて相対的であるか、100Hz付近のある時点で電力使用量が急激に増加していると思います。