GPSって実際どれほどの精度なのか試してみた

たまたまGPSを使う要件がありまして、
GPSがどこまでいけるのか検証してみました。

結論からいうと、かなりよい。

モジュールはスパークファンから購入した
Adafruit Ultimate 66チャンネル10Hz GPSモジュール Version 3

このライブラリの通りに5Vと、TX/RXをつなぐだけ。

IMG_0313.jpg

ArduinoのSerial MonitorでそのままGPSのログが確認できるようになりますが、
一点だいじな事…
屋内では使えません。
Macと、この怪しげなArduinoむき出しのブレッドボードをもって近所の公園へ出掛けました。
僕が警官なら間違いなく職質します。

↓横浜海辺の公園を、不審者まがいに歩いたログ
GPS LOG

↓高度情報はこちら
height_walk_10fps.png

絶対値のoffsetは2m程東へずれていますが、
相対値の移動はかなり正確だという印象。
車載GPSで次の角を曲がってくださいって言っているんだから当たり前か。自分でやるとえらく感動する。

シリアル通信でこんな感じのフォーマットが流れてくる。(横浜の公園だけどちょっとだけ伏せ字)

$GPGGA,094022.200,35XX.XXXX,N,139XX.XXXX,E,2,11,0.78,-10.4,M,39.5,M,0000,0000*79
$GPRMC,094022.200,A,35XX.XXXX,N,139XX.XXXX,E,0.08,311.14,201113,,,D*6B

これはNMEAフォーマットというものらしい。パーサーも上述のgithubにあるので、ありがたい。
速度方向も結構な精度が出ていた。

ちなみに、GPSログの解析は、
http://www.gpsvisualizer.com/
このサイトを利用。
生のNMEAログファイルをいれるだけで、googlemapでみれるし、png,jpg,svg,さらにgoogleearth用のkmlフォーマットにも変換してくれる。
なんて素敵なサービス。(サクラではありません。ほんとうに素敵です。)