見出し画像

[妄想テック]スマホで移動手段の自動検知の仕組みを妄想する

グラージ衛藤です。妄想テック第2回目は起業家向けにこちらのテーマでお送りします。

Milesは、すべての移動に対してマイルを貯められるアプリです。移動方法によって貯まるマイルの倍率が変わります。

上のニュースから、Milesの仕組みを妄想で技術解説してみます。間違っていたらごめんなさい。

移動手段の自動検出

Milesでは、あらゆる移動に対してマイルのポイントを付与してくれるようです。また、

徒歩やランニングは10倍、自転車は5倍、バス・電車・スキーは3倍など、より環境にやさしい移動に対し、多くのマイルを付与することで、持続可能な社会づくりおよびSDGsの達成への貢献を目指す。

というように、移動の仕方によってマイルのポイント倍率が変化するようです。さてはて、どうやって移動方法を判定しましょう。

今回も例によって、プロトタイプ段階やMVP段階で利用するべきお手軽な方法から、研究開発が要求される高度な方法まで考えてみます。実際にビジネスで取り組むときは、ビジネス検証段階では簡易な方法で素早く実装、ユーザーに使ってもらいフィードバックを得ることが大切なのをお忘れなく!

1. GPSから移動速度で判定

非常に単純ながら、移動速度からの移動手段判定で、ビジネス的な要件の大部分は解決できそうです。すごくシンプルに、緯度経度から三角関数を用いて移動距離を測定するわけですね。

GPSに誤差はかなりありますが、数回の測定を繰り返せば誤差も減りそうです。

なにより、サーバーに位置情報データを上げて収集せずとも移動手段を判定できるのが、個人情報保護の観点から良いですね。

課題はGPSを常にバックグラウンドでも動作するように設定してもらわないと利用できないことです。その設定を促す部分のUI・UXが一番の課題になりそうです。

2. 1の省電力版

1と一緒なんかい!と言いたいところですが、GPSを常時動かしておくことはとても電力を使います。バッテリーの減りがとても早く、これを気にする方はかなり多いと思われるため、まず取り組まないと行けない技術課題です。

具体的には30秒に1回のGPS収集くらいまで落としても問題ないでしょう。更に収集間隔を広げることもできそうです。正確に現在地をトラッキングする必要はなく、あくまで移動速度を知りたいだけですからね。

実装の手間はほとんどありませんが、本当に電力消費が削減できるのかの測定に手間や時間が必要です。そのため、1とは開発フェーズを別にすべきです。

3. 加速度センサーの入力をエッジMLで判定

1,2では、自転車とランニングの区別をつけることは難しいでしょう。Milesではランニングは自転車の2倍のマイルが貯まるようです。この判別をしないといけません。

これは、スマホの加速度センサーで歩数計が実装されているように、そこまで難しい物ではありませんが、様々な移動手段を扱わないといけない(スキー移動までMilesでは実装されている!)ということからすると、いっそいくつかのセンサーを入力に教師あり機械学習を走らせてエッジ判定してしまうのが透過的な実装になるので楽だと思います。

これはとても高度な研究開発が必要という物ではなく、一般に使われている機械学習ライブラリを当たり前に叩く、位の実装になるかと思います。ただし、精度を十分に上げるためには研究とその投資を、当然覚悟しなければなりません。

仕組みまとめ

上記はすべて、判定自体はエッジで行っています。サーバーへ位置情報を送って、サーバー側で判定するようなコストの高い方法は使っていません。

一部MLのモデルの配布などはありますが、ここで想定される配布頻度ならばアプリのアップデートにモデルデータが含まれれば十分に思います。

エッジで移動手段を判定。移動手段・移動時間・距離をサーバーに定期的に送る。DBはInfluxDBなどのTimeSeriesな物が良いでしょうか?AWSのAmazon Timestreamなども選択肢に入ってきそうです。

最終的なデータサイズや規模感によりますが、ユーザーのログを適当に時系列DBなどに突っ込んでおいて、あとでバッチ集計するのがパフォーマンス的に良いのかなと妄想します。以上!

グラージベンチャーズは、スタートアップ開発のお仕事承っております。お仕事のご連絡はお問い合わせページまたはEmailまでお気軽に!  info@garage-ventures.com
また、グラージベンチャーズは絶賛エンジニア募集中です。ご相談はWantedlyか、Emailまでお気軽に!  hr@garage-ventures.com

この記事が気に入ったらサポートをしてみませんか?