2016年2月27日土曜日

GPS測位が完了しないのでランニングを始められない

GPS測位の悩み


最近の悩みに、時々スマートフォンがGPSの衛星を捕捉できないため、なかなかランニングを開始できないことがあります。寒空の下で、現在位置の測位をただ待つのは、もどかしいものです。

不思議なのは、良い条件と考えられるとき(最新のA-GPSデータをあらかじめ取得し、空が開けた場所で、晴れている)であっても、全く測位できないと思えば、逆に悪条件であっても即座に測位が完了することもあることです。
P7やP8liteでこの現象に悩まされていますが、これらの機種固有の問題かどうかはわかりません。
測位できない状態になってしまったときは、端末をリブートしたり、GPS利用設定をON→OFF→ONとすると、正常な状態に戻ることもあったように思えます。
このとき、GPSアプリ(GPS Status & Toolbox)のA-GPSデータをダウンロードしてエフェメリスを獲得する機能の効果はよくわかりませんでした。
なお、P8liteの測位後の位置精度は特に問題ないと思います。

この現象は外形的には、「開けた場所に立って、数時間スリープした端末のGPSがホットスタート(少なくともウォームスタート)することを期待したのに、なぜかコールドスタートになってしまう。そして端末をリブートするとホットorウォームスタートした」ようにも見えます。

他のGPSデバイス(iPhoneなど)がすぐに測位が終わるようなシチューションであっても測位が終わらない印象もあります。これはソフトウェア的な問題が原因になっているのかもしれませんし、GPSチップ製品の性能差もそれなりにあるようなので、結局のところ何が原因かはよくわかりませんでした。
GPSの位置情報提供はベストエフォート型サービスですから、性能を気にしすぎても仕方がない面はあるのかもしれません。しかし、少なくとも受信側はベストな状態に保ちたいので、これからも情報を集めたいと考えています。

アプリ利用時の影響

  • Nike+ Running App (Andoroid)
    • アクティビティが走行ペースモードで記録されてしまう。
    • ランニング開始ボタンをタップされてからGPS捕捉が一定時間成功しないときは、走行ペース記録モードになるようです。
    • 測位できなかった区間のデータは走行距離に加算されない仕様に見えます。
  • Endomondo (Andoroid)
    • 測位できなかった区間のデータは直線的に走行したとして走行距離に加算される仕様に見えます。このためNike+ Running Appよりも走行距離が長くなる傾向があるようです。
資料

手元にあったGPSロガー
上からGARMIN eTrex Venture、HOLUX M-241、PhotoTrackr DPL-900

2016年2月13日土曜日

HUAWEI P8liteとランニング

HUAWEIのスマートフォンP8liteをランニング時に使っています。
スマートフォンはランニングに使うには少々大きく重いと重いますが、ランニングに対して利便性が高くやりたいことがほとんどできてしまうので使っています。
私がランニング時に求める機能は、音楽を再生すること、計測をして記録を残すことです。ちなみにこれらは割り切ればiPod nano(7th)だけでも可能です。

私がランニング時に使うアプリは次のようなものです。
  • 計測アプリ
    • 走行距離などを確認することができます。GPSや加速度センサーを活用します。
    • 走行後にWebで確認することもできます。
    • Nike+ Running、Endomondo、Runkeeper、Sports Trackerなどを使っています。一長一短で定まりません。
  • 音楽アプリ
    • 標準音楽アプリ、Power Amp、Amazon Music、Google Play Music
  • ラジオアプリ
    • Radiko、NHKネットラジオ らじる★らじる
  • タイマーアプリ
  • そのほか
    • LINE HERE(現在位置を家人に知らせます)、LINE
P8liteは、ハード的にもソフト的にもとてもよくできたスマートフォンだと思います。以前は同じHUAWEIのAscend P7を使っていましたが、それよりもずいぶん動作が軽くなりました。その前はiPhone4Sを使っていましたが、あるOSのバージョンからしょっちゅうアプリが(メモリ不足で)killされるように見え、計測ニーズに対して致命的に感じられ使わなくなりました。
ところでHUAWEIのスマートフォンには「アプリの保護」という機能があります。アプリごとにバックグラウンド動作をするかしないかを指定する機能で、デフォルトは「バックグラウンド動作しない」なので、上記のアプリのようにバックグラウンド動作が前提のものには注意が必要だと思います。

P8lite(左) と Ascend P7(右)