以前公開したiPhoneで10Hz GPSラップタイマーを作成する「KLAP ip10シリーズ」走行テストでは、iPhoneで10Hz更新そのものには成功したものの、実際の走行ラインが大きくズレるという問題が発生しました。
今回は、その原因をGPSモジュール側にあると考え、GPSモジュールを変更して再度走行テストを実施しました。
果たして、iPhoneでも実用的な10Hz GPSラップタイマーは実現できるのか・・
前回の問題点
前回のテストでは、
- 10Hz(100ms間隔)の更新自体は正常に動作
- BLE通信も安定
- ラップタイマーとして動作
していました。
しかし、実際の走行ラインを確認すると、本来のコースから大きく外れた軌跡が記録される場面がありました。
ラップタイムは計測できても、走行解析に利用できる精度とは言えない状態でした。
原因はGPSモジュールの測位精度?
ログを解析した結果、問題は更新頻度ではなく、GPSモジュール自体の測位精度にあると判断しました。
10Hzで位置情報を取得できても、1点ごとの位置精度が低ければ、
- スタートライン通過判定
- セクター計測
- 走行ライン解析
に大きな誤差が発生してしまいます。
そこで今回は、GPSモジュールをu-blox製M8チップ搭載モデルへ変更して再テストを行いました。
今回のテスト仕様
ハードウェア
- GPSモジュール:u-blox M8チップ搭載GPSモジュール
- ESP32
データ処理
ESP32側でGPSから出力されるNMEAデータを解析し、100ms間隔(10Hz)のデータとして処理します。
通信方式
- Bluetooth Low Energy(BLE)
- Web Bluetooth API
使用アプリ
- Bluefyブラウザ
- KLAP PWAアプリ
GPSモジュール以外は、前回のテストと同一条件です。
テスト結果
走行後にログを確認したところ、前回とは大きく異なる結果となりました。
走行ラインは実際のコース形状に沿って滑らかに描画され、明らかな位置飛びも大幅に減少しました。
また、
- セクタータイム
- 速度表示
- ラップ履歴
- ラップタイム
についても正常に記録・表示されることを確認しました。
今回の結果から、iPhone環境でも実用レベルの10Hz GPSラップタイマーが実現できる可能性が高まったと言えます。
高レート更新だけでは不十分だった
今回のテストで改めて実感したのは、
「10Hzであること」と「高精度であること」は別問題だということです。
更新回数が多くても、位置そのものが不正確であれば、
- スタート/ゴールライン判定
- セクター解析
- 走行ライン比較
の信頼性は低下してしまいます。
逆に、測位精度の高いGPSモジュールを使用することで、10Hzのメリットを十分に活かせることが分かりました。
まとめ
今回の再テストでは、u-blox M8チップ搭載GPSモジュールへ変更することで、iPhone環境でも高精度な10Hzラップ計測が可能であることを確認できました。
今回得られた知見は以下の通りです。
- 10Hz更新だけでは高精度とは言えない
- GPSモジュール自体の測位性能が重要
- 高精度GPSと10Hz更新の組み合わせが走行解析の品質を左右する
- iPhoneでもBLEとWeb Bluetoothを利用した実用的なラップタイマー構築は可能
KLAP ip10シリーズは、今回の検証によって実用段階へ一歩近づきました。
今後も実走テストを重ねながら、より正確で使いやすいiPhone向けGPSラップタイマーを目指して改良を続けていきます。
関連記事
iPhoneで10Hz GPSを実現するには? MFi認証とKLAP ip10シリーズの仕組み

コメント
コメントを投稿