METs 計算によるジョギングルート Android アプリの実装
2010SE169 岡本 久季

2010SE189 佐藤 元

2010SE204 宿谷 匠吾

指導教員： 河野 浩之

1

はじめに

現在，ジョギングアプリは距離，時間，カロリー，現在位
置を表示しジョギングをサポートするものや，ルート提案をして SNS で友達と共有するものが存在する．しかし，これらのジョギングアプリの中には消費カロリーに応じたルート提案をするアプリはない．
そこで本研究では，目標消費カロリーから目標運動量を求め，適した運動強度のコースを Google Maps を用いて表示するジョギングアプリについて提案する．運動強度の推測には METs (メッツ ： Metabolic equivalents)を用いる．また，運動中のランナーの運動強度を測定するため，腕時計型心拍計デバイスを利用する．そして，心拍数から運動強度を求める HRR (最大心拍予備能 ：HeartRate Reserve)によって評価を行う．第 2 章では先行研究話を利用することができる．
一般的なジョギング支援アプリは，図 1 のようにアプリとWeb サイトを組み合わせて提供している．アプリはスマートフォン内蔵の GPS を利用し，ペース・加速度・時間・距離の数値化したデータの統計や辿ったルートを地図に表示することが可能である．また，収集したデータは無線接
続 (Wi-Fi やセルラーデータリンク) によって関連するWeb サイトに随時アップロードされる．トレーニング後，Web サイトでは成績のグラフやチャートを確認することが可能であり，パフォーマンスの向上を助けることができる．
また，多くのアプリはモチベーション維持の為に，会員同士でアクティビティのデータの共有やメッセージの送受信などができる SNS やアクティビティの達成度を競うゲーム機能を提供している．の Web アプリである RunWithUs[1]と本研究で注目したジョギングアプリについて説明する．第 3 章では既存のジョギングアプリを比較し，提案するジョギング支援アプリ3の説明をする．第 4 章では利用する心拍計デバイスと作成するジョギングアプリのルート提案プログラムについて説明する．第 5 章では実行例と評価，最後に第 6 章では本研究のまとめを述べる．

プリについて説明する．3.2 節ではルート提案が可能なアプリである RUN NAVI について説明する．3.3 節ではGoogle Maps API について説明する．

ジョギング支援アプリの提案

3.1 節では表 1 により主要な 5 つのジョギング支援アプリについての比較する．そして，提案するジョギングア

3.1 ジョギング支援アプリの比較と提案
2

ジョギング支援アプリの先行研究

表 1 に数あるジョギング支援アプリの中でも性能が良く，人気のある主要な 5 つのアプリの比較を示す．ほとんどのアプリが対応している「心拍数モニター」では，主な接続可能な心拍計デバイスを示しており，スマートフォンと同期させることでアクティビティ中の心拍数の変化を記録することができる．デバイスには Bluetooth4.0 や ANT+といった，低消費電力のワイヤレス通信技術が使われている．また，心拍数や走行距離のデータから，運動強度を

図 1 ジョギング支援アプリのシステムアーキテクチャ測定することで消費カロリーを計算することができる．
「練習提案」では，それぞれのアプリで提供しているトレーニングメニューを示している．ペースを上下させるインターバルトレーニングや，自己のベスト記録に挑戦する

文献[1]では RunWithUs というユビキタス Oulu 市を基盤に作成された Web アプリの評価を行っている．ユビキ

トレーニングなどがある．アクティビティで収集したデータは「データ管理」の項目に示すそれぞれの Web サイトにアップロードされ，統計をグラフで確認することができる．

タス Oulu 市とは UBI (Urban Interactions) プログラムというネットワークで構成された都市である．多くの他のランニ
ングアプリは GPS を利用しているが，この研究ではユビ
キタス Oulu 市によって提供される Wi-Fi を利用している

また，My Tracks と RunKeeper ではデータを指定のファイル形式で出力することができ，他のサービスと連動させる事が可能である．GPX はアプリ間で GPS のデータをやり と り す る た め の デ ー タ フ ォ ー マ ッ ト で あ り ， KML はので GPS デバイスを必要としない．そのためランナーはWi-Fi 対応の MP3 プレーヤーや Wi-Fi を備えた携帯電Google Maps で表示する要素を記述したものである．

表 1 ジョギング支援アプリの比較
アプリ名

心拍数モニター

消費カロリー

ルート提案

練習提案

データ管理

出力My Tracks

Polar WearLink
Bluetooth有り--

google ドライブ

GPX,KML
CSV,TCX

Endomondo
Sports Tracker

Polar Wearlink
Bluetooth有り-

インターバル
カロリー目標endomondo.com-

RunKeeper

runtastic レシーバ有り-

減量のメニュー
5kｍマラソン

RunKeeper.com

GPX
CSV,TCX

Nike+ Running

Polar WearLink+

有り

-

自己に挑戦

Nike+

-

RUN NAVI--有り

目標距離の設定--

表 1 の太枠より，RUN NAVI では心拍数を記録及びカロリーを計算する機能はない．しかし，目標とする距離と通過したいスポットを設定することで，適当なルートが提ラメータを指定した URL を作成し，それを Google Maps上で実行することでルートの案内が開始される．

案される機能を唯一提供している．このことから，消費カロリーに応じたルート提案をするアプリはなく，これに着目して研究を行う．
本研究では，目標消費カロリー及び体重の入力とペー4ス選択をユーザに求める．そして，その運動量から適した運動強度となるランニングコースを Google Maps を用いて提案をするジョギングアプリの実装と評価を行う．

る．4.3 節ではルート提案プログラムのアルゴリズムを説明する．4.4 節では本研究のシステムアーキテクチャを説明する．

4.1
3.2

ルート提案アプリ

ジョギングルートの提案が可能なアプリである RUN
NAVI について説明する．RUN NAVI は心拍数や消費カロリーを測ることはできないが，ランナーが走りたい距離と通りたいスポットを設定し，それに応じた複数のランニングコースを提案できる．ユーザは提案されたルートが気に入らない場合は他のルートを再検索できる．また，過去に保存したルートを再び走ることも可能である．

3.3

Google Maps API について

Google Maps API とは Google Maps を自分のサイトやWeb アプリに利用できるよう提供されているものである．これを利用するにあたって API キーという ID を取得する必要がある．API キーは利用するサイト毎に用意する必要がある ID である．また，これは JavaScript を利用したAjax (Asynchronous JavaScript + XML) が基盤となっており，地図の動的な動きが可能となっている．
本来はこの技術を用いる予定であったが，Android 向けに用意された Google Maps Android V2 はルート検索機能がサポートされていなかった．そこで本研究ではGoogle Maps の URL を用いたルート検索機能を利用している．経路タイプ，出発地及び目的地の座標などのパルート提案プログラムの実装

4.1 節では運動強度の評価方法について説明する．
4.2 節では検証に用いる心拍計デバイスについて説明す

運動強度の評価方法

有酸素運動の運動強度の評価方法には METs やRPE (主観的運動強度 ： Rate of Perceived Exertion)，
心拍数での評価などがある．METs では酸素摂取量での評価を行う．単位時間当たり体重 1kg 当たりの酸素摂取量で表現でき，安静時における酸素摂取量 3.5(mL/kg/分)を 1MET とする．酸素摂取量による強度表現には，カロリー消費量を簡単に計算できるという長所があるため，本研究ではカロリーの計算にこれを用いる．運動強度は運動時の酸素摂取量とその人の最大酸素摂取量の比で表す．また，METs のカロリー計算は文献[2]より式(1)で表される．
𝐸𝐸 = 1.05 ・ 𝑀 ・ 𝑊 ・ 𝑇(1)
EE は消費カロリー(kcal)，M は運動強度(METs)，W は体重(kg)，T は運動時間(時間)である．また，具体的な運動に対応する METs は，文献[2]で知ることができる．
例えば 6.4km/時のペースでジョギングを行うと，METsは 6.0 となっている．
しかし，これは絶対的な運動強度であり，たとえ同じ値でも個人によって生体反応は異なると考えられる．各
個人の相対的な運動強度の検証のため，本研究では心拍数による評価も行う．文献[3]では HRR を運動強度の指標としており，式(2)で表される．

𝐻𝑅𝑅 =𝐻𝑅 − 𝐻𝑅 𝑟𝑒𝑠𝑡
𝐻𝑅 𝑚𝑎𝑥 −𝐻𝑅 𝑟𝑒𝑠𝑡

・100

𝐻𝑅𝑚𝑎𝑥 = 220 − 𝐴𝐺𝐸(2)

4.4 METs 計算によるジョギング支援アプリのシステムアーキテクチャ(3)

図 2 に METs 計算によるジョギング支援アプリのシステムアーキテクチャを示す．本システムはスマートフォン上HRR(%)とは運動強度を表しており，HR(bpm)はアクティビティ中に測定する心拍数，𝐻𝑅𝑟𝑒𝑠𝑡 (bpm)は安静時の心拍数，𝐻𝑅𝑚𝑎𝑥 (bpm)は最大心拍数である．また，式(3)によって最大心拍数を推定できる．AGE(歳)は年齢を表す．

4.2

使用する心拍計デバイス

アクティビティのカロリー消費量を計算するため，心拍計デバイスを利用する．心拍計には腕時計型と胸に固定するベルト型のデバイスがある．本研究では使い勝手や性能の面から腕時計型のデバイス (MIO Alpha) を利用する．このデバイスには内側に LED センサーが搭載されており，そこから心拍数を測定することができる．また，目のアプリを介して行う．ユーザの窓口となるアプリはAndroid にて作成する．アプリではデバイスから入力されたデータを元に移動前及び移動後の位置座標を計算する．そして，得られた情報から Google Maps の URL に位置情報及び経路タイプを指定したものを作成し，外部のアプリである Google Maps を起動してルートの提案を受ける．GPS からの位置情報の取得及び Google Maps のWeb サイトへのアクセスに無線ネットワークである Wi-Fiやセルラーデータリンクを利用する．

標心拍数を設定することができ，心拍数が目標から遠ざかるとアラーム音で知らせる機能がある．Bluetooth 4.0 の技術を搭載しており，同期させたスマートフォンなどに計測したデータを随時送信することができる．

4.3

ルート提案プログラム

ルート提案プログラムでは，ユーザから得た現在地の情報と METs を用いたカロリー計算から得られた目標移動距離によって適当なゴールを設定し，そのランニングルートを提案する．以下に本研究で用いるアルゴリズムの手順を示す．
手順 1 ：データの入力 ユーザに目標消費カロリー(kcal)，ジョギングのペース(km/時)，体重(kg)の入力を求める．
手順 2 ：METs カロリー式の計算 手順 1 で得たジョギングのペース(km/時)に対応する METs の値を身体活動のメッツ(METs)表[4]から得る．また，式(1)からユー
ザが希望するアクティビティの運動時間を得る．ジョギン
グのペースは予め分かっているので，乗算によって走行距離を算出できる．
手順 3 ：移動後の座標の設定 GPS からユーザの現在位置を取得し，手順 2 で求めた走行距離を元にゴールとする位置座標を決定する．ゴールの設定はスタ

図25

METs 計算によるジョギング支援アプリのシステムアーキテクチャ

実行例と評価提案されたルートを実際にユーザがジョギングした場合に，適切な負担を与えられているかを検証する必要がある．本研究では，HRR(%)の数値を運動強度の指標とする．ジョギングを行う前に𝐻𝑅𝑟𝑒𝑠𝑡 を予め計測しておき，アクティビティ中に随時計測した HR と合わせ式(2)を用いて計算する．
実装したアプリを実行し，提案されたジョギングルートを実際に走る検証を数回行った．その中の 1 例を以下に示す．実験では目標消費カロリーを 200kcal，体重を70kg，ペースを 6.4km/時，出発地点を南山大学名古屋キャンパス北門に設定している．実際のデータの入力画面を図 3 に示す．

ート地点からの直線距離で行っているが，実際に提案されるルートは道路に沿ったものとなるため，距離が大きくなってしまう．
そこで本研究では設定の距離に近いルートが提案されるよう，何度か検証を行った結果，ゴールの座標設定は算出された走行距離の 80%の直線距離となる座標とした．
手順 4 ：ジョギングルートの提案 手順 3 で求めた現在の位置座標およびゴールにする座標を元に，GoogleMaps でルートを提案する
図 3 データの入力画面

次に移動後の座標の計算，そして実際に走るルートのまた，計測した心拍データを元に式(2)及び(3)から表示を Google Maps で行った．その結果を図 4，5 に示す．ここでは移動前，移動後の位置座標を入力することで，ルートが提案される．そして提案されたルートでHRR を求めた結果を図 7 に示す．実験では平均心拍数が 144bpm であり，HRR の平均は 60.9%となっている．一般的に，運動強度が 50～70%の間で有酸素運動として

RunKeeper を用いて実際にジョギングを行い，計測をした．その結果を図 6 に示す．の運動効果が得られると言われており，本実験では被験者に効果的な運動が行われたと推測することができる．

図 7 実験での HRR の変化

6
図 4 座標の計算結果

図 5 提案されたルートまとめ

本研究では，METs 計算を用いることで，カロリー消費を指針としたルートの提案を行うジョギング支援アプリをAndroid に実装した．そして，提案されたルートを実際に走り，既存のアプリと心拍計を用いて計測を行った．得られたデータから HRR を求め検証した結果，目標消費カロリーなどの情報から提案されたルートを指示どおりに走ることで，おおよその理想とするカロリー消費を実現することができた．より精度の高い提案をするためにはユーザの年齢，性別などの個体差や，標高などの地形も考慮する必要があるという課題があると考えられる．
現在位置からのルート提案は HTML5 及び Javascriptを用いることで Web サービスとして実装可能ではあるが，ユーザがリアルタイムなルートのナビゲーションを受けることはできないという課題がある．

参考文献
[1]

図 6 RunKeeper の計測結果[2]選択されたペースは 106.7m/分であり，計測された平均のペースは 1km あたり 8:52 である．これは速度に換算すると 112.3m/分であり，およそペースどおりに走ることが出来たことが分かる．提案されたルートの距離が多少短くなってしまったため，運動時間が短くなり目標カロリーに届かなかったと考えられる．しかし，多少の誤差はあるものの，提案されたルートを目標のペースで走ることができれば，おおよそ目標どおりのカロリー消費が期待できるといえる．

[3]

[4]

Felipe Gil-Castiñeira et al, “RunWithUs: A Social Sports
Application in the Ubiquitous Oulu Environment,”TheInternational Conference on Mobile and UbiquitousMultimedia, Vol.11, pp.195-204, (2011).
泉嗣彦 他, “健康づくりのための運動指針 2006 ～生活習慣病予防のために～,” 厚生労働省, pp.7, (2006).
http://www.mhlw.go.jp/bunya/kenkou/undou01/pdf/data.pdf (参照 2014-01-7).
隅田麻由, “ウォーキング支援のためのスマートフォンを用いた歩行時心拍数推定,” 修士論文, 奈良先端科学技術
大学院大学 情報科学研究科 情報処理学専攻, pp.12,(2013).
中江悟司, 田中茂穂, 宮地元彦, “身体活動のメッツ(METs)表,” 国立栄養・健康研究所, pp.29, (2012)
http://www0.nih.go.jp/eiken/programs/2011mets.pdf (参照2014-01-7).