茶屋ストレージ

プログラミングの成果物を紹介するサイト

ICMR2018で観客を釘付けにしたGPSトラッキングシステムを作りました.

 

f:id:ch-antifragile:20190320173818p:plain

インカレリレー当日のGPS中継の様子
 
はじめに
今般,GPSラッキングシステム「O-GPS Tracker」を開発し2019年3月のインカレリレー(ICMR2018)にて使っていただきました.
私はエンドユーザの触れるウェブページの設計と実装、GPS端末から取得したデータの情報処理を担当しました。
インカレリレーが本番稼働だったのですが,当日は大きなトラブルもなく会場にいた多くの方や遠隔で競技を観戦していた方は本システムを通じたインカレ観戦を楽しんでいただけたのではないでしょうか.
 
この記事ではこのGPSラッキングシステムを簡単に紹介し,ついでにICMR2018の時のことを振り返ろうかなと思います.
 

 

背景

オリエンテーリングをはじめとしたナビゲーションスポーツでは選手の位置情報をリアルタイムで追跡する観戦方法がよくとられます.日本国内では2017年度・2018年度のインカレスプリント・ロングにてGPSラッキングによる中継が実施されました.
国内・大型のオリエンテーリング大会で大々的にGPSを使った演出を試みたことはそれまで無かったのではないでしょうか.
 
これらの試行ではGPSラッキングとしての要件を一応満たせたものの,エンドユーザに提供されるUI/UX、必要な資材を安定して供給できるかといった面に課題があり,国内のGPSラッキングはまだ発展途上と言える状態でした.
そこで今回のインカレでGPSラッキングによる演出が検討された際,上記課題をクリアできないかと技術面で相談をいただいたのが本システムの開発の始まりでした.

GPSトラッキングシステム 開発画面

GPSラッキングシステム 開発画面

O-GPS Trackerとは

競技者の位置情報をGPS機器で取得して,それをO-Mapなどと併せて地図にリアルタイムで投影することで,肉眼では捉えられない選手の動きを可視化するWebアプリケーションです.
観戦者は大会会場にある大型ディスプレイだけでなく個人のパソコンやスマートフォンで専用サイトにアクセスするだけで中継を楽しむことができます.
 
今回のシステムは初見のユーザが直感的に使えるよう,また,時間の制約などもあったため大掛かりな開発が難しかったこともあり
  • 中継を楽しむのに十分な機能を有すること
  • シンプルで初見の人でもすぐに使えるものであること
以上を意識した作り込みをしました.
 
機能を簡単に紹介すると以下のようになります.シンプルですね.
  • [表示の制御]:選手毎にGPSログの表示をON/OFFにできる
  • [地図の表示]:背景に表示する地図を切り替えられる(MERとWERなど)
  • [見た目の調整]:軌跡の長さやアイコンの大きさを調整できる.
また個人開発のアプリであり,開発者(これを書いている人)がオリエンテーリングに理解があるというのも特徴の一つと言えるのではないでしょうか.(数年前までインカレ参加者側,最近は運営者として関与していました.)
今回のインカレでは端末台数の制約もあり,「リレー1チームにつき2個の端末を使う.そのため1・3走の選手で端末を共有する」という変わったニーズがありましたが,こういうちょっとしたニーズもアプリにサクッと反映できました.
 

オリエンテーリング GPSトラッキングシステム SNSシェア

あまり使ってもらえなかったSNSシェア機能...

選手選択メニュー

ログを表示したい選手はチェックボックスで一人一人選択できます.
 
URLにアクセスすれば今でもアプリを触ることができます.地図や選手のログは表示されませんが参考までに.

www.antifragile.tokyo

インカレ後日談

インカレが終わった今,思っていることを思いつくだけ書いていきます.当日のGPSラッキングスクリーンショットも掲載していますのでもうしばらくお付き合いください.

MER開始直後の様子 この後の経過も見届け無事にトラッキングできていることを確認
やはり,実況にフル活用したい
今回のインカレでは音声実況についていえばGPS中継からわかる情報を音声にして伝えることは競技の公平性に影響しかねないとして,音声実況はGPS中継の情報を取り入れないようにするという配慮がありました.
今回のインカレでは実現しませんでしたが,やはりGPSと音声実況は組み合わせた演出ができたら楽しいだろうなと思います.スプリント・ロング・ミドルではできるはずです.
競技やテレイン,コース,中継選手のことをよく知る方が実況・解説に加わることで観戦するスポーツとしてオリエンテーリングがもっと楽しくなると思います.
 
今まで見えなかった選手の戦いが見られて面白かった
リレー当日はずっとこのアプリに張り付いていたので,運営をしながら選手の戦いを存分に楽しめるある意味,特等席にいました.

見ていて特に熱かったのは男子選手権・MERのトップ争い.競技開始からトップ独走だった東大で3走の種市選手がコース中盤の7番コントロールで少しもたつき慶應3走の桃井選手に抜かれてしまいます.また,すぐ後ろに東北の北見選手,横国の伊藤選手が迫っているという状況でした.

この後東大・種市選手の粘り強い走りで暫定トップの慶應・桃井選手に追いつき,ゴール間際には秒差を争うデッドヒートを繰り広げ,会場を盛り上げていました.

コントロールに設置された中間ラジコンではとられられないレースの機微な変化をGPSラッキングで観戦することができ,運営者でありながら一観戦者としてレースの結果にワクワクしていました.

その他にも「この選手,巻き返してきたな」とか「だいぶミスってるな」と刻々と変わるGPSログを見てレースを楽しんでいました.

 

3走中盤までトップ独走だった東大が慶応に抜かれ,東北・横国にも迫られている瞬間
誤差もまた一興?
これまたMER終盤の熱い展開の話になるのですが,デッドヒートを繰り広げる選手が会場に戻ってきた際,「GPSログでは慶應・桃井選手の方が先行してそうだったが,実際は東大・種市選手が会場に姿を現した」という場面がありました.これ即ちGPS機器が取得した位置情報に誤差が生じていたということです.通信インフラがあまり整備されてない山林での計測はもちろん,天候や機器そのものの不調,誤差,通信のラグなどがどうしても生じます.また,地図そのものの微細なズレ,情報処理の過程で生じる数値計算の丸めなども考慮すると真に正確なGPSログの表示は不可能でしょう.
 
ですが,ちょっと不確実性があるからこそ,「たとえGPS端末で選手を捕捉していたとしても会場に姿を表すまでわからない」という現場で観戦する面白さがあるんじゃないかなと思いました.
 
誤差を補うという観点では中間ラジコン情報はもちろん,競技エリア内に定点カメラを置いてそれをライブ中継するというのもアリですね.
 

MER優勝校決定直前の瞬間,文字が被ってみづらいが慶應・桃井選手が東大・種市選手を先行しているようにも見える
リプレイ機能が欲しかった.

レースのリプレイ機能は実装しておりませんでした.それどころかログも残っていないので,今回のレースのログを再掲することはできないのが実情です.

演出の主役だった選手達に自分たちの走りを後で見られるようにしておけばよかったなと思っています.今後の課題の一つです.


コース解説にも

位置情報を作為的に与えることによって任意の走行経路を作ることができます.これと上述したリプレイ機能を組み合わせれば,理想のルートに沿ってアイコンを地図上で走らせることができるはずです.今回のリレーの最後にもあったコース解説の時に使えるなと思いました.

女子選手権WERの競技開始から少し経った後の様子.1走集団がばらつき始めてそれぞれ異なるルートを辿っている

 

大型ディスプレイでの文字の潰れ

リレー当日は何のトラブルもなかったと記憶していますが強いていうならば,会場に設置した大型ディスプレイにGPSラッキングシステムを写した際,ディスプレイの解像度の制約により文字が潰れてしまうという現象が発生しました.

手元のスマホと併せてみたり,アイコンの色で選手を判別する方がいて大きな問題にはならなかったですし,事前準備ではテストのしようがなかったのでしょうがないかなとは思っていますが,これも課題の一つですね.

 

 

これからの話 〜アプリのアップデート〜

アプリの多機能化
今回のアプリケーションは中継に必要な要件を満たしつつ,初めての人でもシンプルに使えることを意識しました.今後はGPSログの再生機能など,よりリッチなアプリケーションへのアップデートを検討中です.(これを書いている現在,mulkaの情報とのコラボレーション実現の可能性が浮上しています!)
あと,特定の緯度経度付近を通過したらアラートを出すような機構も簡単に実装できるのでそういうのをなんか使えないかなーとか考えています.あとはツイッターのつぶやきなど(#俺たちのインカレ)のSNS情報をリアルタイムで拾って併せて表示するなどなど
 
何か面白い使い方ありませんかね?
 
観戦以外の使い方はできないだろうか?
GPSラッキングを観戦用途だけでなく,チームや個人での練習,競技分析用アプリとして使えないかなーとふんわり検討中です.ただログを取るだけでもいいんですがそこになんらかの付加情報を与える形で.
GPSログから競技のパフォーマンスを分析して競技力向上に役立てるには独特のノウハウや勘所が必要で,それは敷居が高いことではないかと考えております.ログの取得と分析をシステムである程度補うことでトレーニングサポートツールとして使えるんじゃないかと考えております.
 
スマホで計測しても良くない?
GPS端末ではなくスマートフォンでも計測ができるようにしてもっとラフにアプリを使ってもらえないか検討中です.ガーミンでオリエンテーリングのログを取っている方がいると思いますが,もっとラフに計測して,その場で分析ができれば大会や練習会がもっと楽しくなるのではないでしょうか。
 
ここに書いたことを全て実装するのは簡単ではなく,実際はニーズがある機能を都度実装していく形になると思います.「こんな機能欲しい!」とか「こういう場面で使いたいんだけど...」といったコメントをいただけると大変,開発の励みになります!

 

これからの話 〜GPSラッキングシステムを使ってみませんか?〜

今回実現したシステムはこれからも使ってもらいたい,というのが開発者の本音です.とくに大規模大会でのGPSラッキングを使った演出に興味がある方はいらっしゃいませんか?
また,今回のインカレでは観戦用のアプリケーションだけでなく,GPS端末やGPS端末の携帯に必要な装備(GPSベスト)についても新しい調達先が開拓でき,GPSラッキングに必要なソフトウェア・ハードウェアの一貫した調達がしやすくなりました.さらに,中継の表示部分は私が全て一元で管理しているため,「こんな機能はできないか?」といった個別要件に柔軟な対応が可能です.
 
GPSラッキングの活用について,興味がある方がいらっしゃれば是非ご一報ください.ご連絡お待ちしております.
 

最後に 〜正直,今回のシステムを使ってみてどうでしたか?〜

GPSラッキングを使ってみた方,正直いかがだったでしょうか?

今回改めて感じたことは自分が関わったプロダクトを人に使ってもらえるというのは最高にエキサイティングってことです.大会運営そのものでも同じことが言えるのではないでしょうか.今回のGPSラッキングについて,ぜひ感想なんかいただけると今後の励みになります!

またシステムを改良して今後も使ってもらえるものに仕上げていきたいと思っておりますが,それには開発項目や修正項目を決める必要があり,ぜひそこに一利用者の声も取り入れていきたいと考えております.そこには開発者や運営者では気づかないニーズや課題があるかもしれません,

ちょっとでも気になることがあれば,この記事のコメントなどで今回のシステムのフィードバックをいただけると非常に嬉しいです.

 

また,今回のシステムの実現にはICMR2018の実行委員会の方々の協力もあって実現できたものでした.GPS中継を使った演出を成功に導けたのは実行委員の皆様のおかげです.改めて,御礼申し上げます.私個人としても非常に楽しく,そして開発を通じて身につくスキルもあり大変有意義な時間を過ごせたと思っております.

ありがとうございました.

 

 おまけ

オフィシャルレースのログ,カオスな軌跡がちらほら...

 

f:id:ch-antifragile:20190320204615j:plain

f:id:ch-antifragile:20190320204628j:plain

f:id:ch-antifragile:20190320204640j:plain

大会当日の様子

 


追伸

大会当日のシステムにて,横国の稲森選手を「稲盛」と誤った表記をしておりました.稲森選手,すみませんでした.この場にてお詫び申し上げます.