iPhoneで10Hz GPSによる高精度ラップタイマーを実現できるのか。
現在開発中の「KLAP ip10シリーズ」の実力を検証するため、実際のサーキットで走行テストを実施しました。
今回は結果として課題が見つかるテストとなりましたが、iPhoneで高精度GPSラップタイマーを実現する上で重要な発見が得られました。
テスト環境
- コース:白糸スピードランド
- デバイス:KLAP ip10シリーズ(開発中プロトタイプ)
- GPS:外部GPSモジュール
- 通信:Bluetooth Low Energy(BLE)
- クライアント:iPhone + PWAアプリ
なぜiPhoneで10Hz GPSを目指すのか
一般的なスマートフォン内蔵GPSは1Hz~5Hz程度で位置情報を取得しています。
サーキット走行では車両やバイクが高速で移動するため、取得回数が少ないと走行ラインが粗くなり、ラップタイムやセクタータイムの再現性にも影響します。
そこでKLAP ip10シリーズでは、外部GPSモジュールから10Hzの位置情報を取得し、iPhoneでも高精度なGPSラップタイマーを実現することを目標にしています。
システム構成
今回のシステムは、iPhoneの制約を回避するため以下の構成を採用しました。
ハードウェア
- GPSモジュール
- ESP32
データ処理
ESP32側でGPSから出力されるNMEAデータを解析し、100ms間隔(10Hz)のデータとして処理します。
通信方式
- Bluetooth Low Energy(BLE)
- Web Bluetooth API
アプリ
- Bluefyブラウザ
- KLAP PWAアプリ
GPSデータをBLE経由で送信し、iPhone上のPWAが受信・解析する仕組みです。
実走テスト結果
結論から言うと、今回のテストは成功と失敗が混在する結果となりました。
成功した点
まず大きな成果として、
- BLE通信は安定して動作
- 10Hzデータ受信に成功
- PWA上でリアルタイム表示に成功
しました。
特に走行ラインは非常に滑らかに描画され、10Hz通信そのものは問題なく機能していることが確認できました。
発生した問題
しかし肝心のGPS位置精度に問題がありました。
記録された走行ラインは実際のコース形状とかけ離れており、ラップタイマーとして利用できる精度には達していませんでした。
当初は通信処理やPWA側の問題も疑いましたが、ログ解析の結果、それらは正常に動作していることが分かりました。
原因分析
10Hz化してもGPS精度は向上しない
今回改めて確認できたのは、
「10Hz GPS=高精度GPS」
ではないということです。
10Hz化によって位置取得回数は増えますが、GPS自体の測位精度が向上するわけではありません。
つまり、
- 更新頻度
- 測位精度
は別の問題として考える必要があります。
使用したGPSモジュールの性能不足
今回使用したGPSモジュールは、手元にあった旧世代のモジュールでした。
公道での走行テストでは問題が見られませんでしたが、サーキット特有の
- 急加速
- 急減速
- 急旋回
といった状況では位置演算性能が不足していたと考えられます。
公道テストでは見抜けなかった
開発中は車両での一般走行テストを繰り返していました。
そのためGPSログも一見正常に見えていました。
しかしサーキットでは車両の挙動が大きく変化するため、通常走行では見えなかった問題が顕在化しました。
改めて実走テストの重要性を実感する結果となりました。
今回のテストで得られた成果
位置精度という点では課題が残りましたが、開発面では大きな成果もありました。
- iPhoneで10Hzデータ受信に成功
- BLE通信の安定性を確認
- PWAでのリアルタイム表示を確認
- ボトルネックがGPSモジュール側であることを特定
問題の切り分けができたことで、次の改善方針が明確になりました。
今後の展望
今後は最新世代のGPSモジュールへ変更し、再度サーキットで検証を行う予定です。
目標は、すでに実績のあるAndroid版KLAPと同等レベルの計測精度をiPhoneでも実現することです。
iPhoneで高精度GPSラップタイマーを実現するまで、引き続き開発とテストを進めていきます。
まとめ
今回の走行テストでは、10Hz通信自体は成功したものの、GPSモジュール性能の限界によって実用レベルの位置精度は得られませんでした。
しかし、
- iPhoneでの10Hz受信
- BLE通信
- PWAによるリアルタイム処理
という重要な技術的課題はクリアできています。

コメント
コメントを投稿