(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024090779
(43)【公開日】2024-07-04
(54)【発明の名称】情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
(51)【国際特許分類】
A63B 71/06 20060101AFI20240627BHJP
A63B 22/02 20060101ALI20240627BHJP
【FI】
A63B71/06 N
A63B22/02
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022206881
(22)【出願日】2022-12-23
(71)【出願人】
【識別番号】000000310
【氏名又は名称】株式会社アシックス
(74)【代理人】
【識別番号】110002516
【氏名又は名称】弁理士法人白坂
(72)【発明者】
【氏名】野村 泰弘
(72)【発明者】
【氏名】黄 雄暉
(72)【発明者】
【氏名】平川 菜央
(57)【要約】
【課題】屋内用有酸素運動装置によるバーチャルレースを提供するにあたり、ランナーの参加へのモチベーションを高める情報処理装置等を提供すること
【解決手段】本発明の一実施形態に係る、屋内用有酸素運動装置による仮想コースでの仮想レースを提供する仮想レース提供システムにおける情報処理装置は、仮想コースに設定された、走行距離及び勾配を少なくとも含むコース形状に基づいて、仮想レースへ参加するユーザが走行する屋内用有酸素運動装置を駆動させる駆動情報を生成する生成部と、ユーザの装着するセンサ装置で取得された、ユーザが屋内用有酸素運動装置を走行する際の走行情報に基づき、ユーザによる仮想レースの完走タイムを補正するタイム補正部と、タイム補正部によって補正された補正完走タイムに基づいて、仮想レースの参加ユーザの順位を決定する決定部とを備える。
【選択図】
図2
【特許請求の範囲】
【請求項1】
屋内用有酸素運動装置による仮想コースでの仮想レースを提供する仮想レース提供システムにおける情報処理装置であって、
前記仮想コースに設定された、走行距離及び勾配を少なくとも含むコース形状に基づいて、前記仮想レースへ参加するユーザが走行する屋内用有酸素運動装置を駆動させる駆動情報を生成する生成部と、
前記ユーザの装着するセンサ装置で取得された、前記ユーザが前記屋内用有酸素運動装置を走行する際の走行情報に基づき、前記ユーザによる前記仮想レースの完走タイムを補正するタイム補正部と、
前記タイム補正部によって補正された補正完走タイムに基づいて、前記仮想レースの参加ユーザの順位を決定する決定部と、
を備える情報処理装置。
【請求項2】
前記タイム補正部は、前記ユーザの前記走行情報に基づいた、走行フォームに関する指標の前記ユーザの評価値から算出される、前記ユーザの走行スコアに基づいて、前記ユーザの完走タイムを補正し、
前記ユーザの走行スコアは、不特定多数のユーザから収集された走行速度と前記指標との相関関係に基づいて設定される前記指標の評価値と、前記ユーザの評価値との差異に基づいて算出される、
請求項1に記載の情報処理装置。
【請求項3】
前記ユーザの生体情報を取得する取得部をさらに備え、
前記タイム補正部は、不特定多数のユーザから収集された走行速度と走行時の生体情報との相関関係に基づいて設定される生体基準値と、前記ユーザの走行時の生体情報の値との差異に基づいて、前記ユーザの完走タイムを補正する、
請求項1または2に記載の情報処理装置。
【請求項4】
前記仮想コースは、前記仮想レースへ参加するユーザの走行能力を示すレベルに応じて複数種類設定され、
前記生成部は、前記複数種類の仮想コースのうち、前記ユーザによって選択された仮想コースのコース形状に基づいて、前記ユーザの屋内用有酸素運動装置を駆動させる駆動情報を生成する、
請求項1に記載の情報処理装置。
【請求項5】
前記生成部は、さらに、前記仮想レースへ参加するユーザの前記レベルに応じた仮想コースを提示させる画面を、前記ユーザの通信端末へ表示させる表示情報を生成する、
請求項4に記載の情報処理装置。
【請求項6】
前記タイム補正部は、前記ユーザが走行した仮想コースの難易度に応じて、前記ユーザの完走タイムを補正する、
請求項4に記載の情報処理装置。
【請求項7】
前記タイム補正部は、前記仮想レースに参加するユーザが走行する屋内用有酸素運動装置の種類に応じて、前記ユーザの完走タイムを補正する、
請求項1に記載の情報処理装置。
【請求項8】
前記生成部は、前記仮想レースに参加するユーザが走行する屋内用有酸素運動装置の種類に応じたコース形状を駆動させる駆動情報を生成し、前記ユーザが勾配の設定が不可である屋内用有酸素運動装置で走行する場合のコース形状は、前記ユーザが勾配の設定が可能である屋内用有酸素運動装置で走行する場合のコース形状よりも、走行距離が長く設定される、
請求項1に記載の情報処理装置。
【請求項9】
屋内用有酸素運動装置による仮想コースでの仮想レースを提供する仮想レースシステムにおける情報処理装置の制御方法であって、
情報処理装置が、
前記仮想コースに設定された、走行距離及び勾配を少なくとも含むコース形状に基づいて、前記仮想レースへ参加するユーザが走行する屋内用有酸素運動装置を駆動させる駆動情報を生成するステップと、
前記ユーザの装着するセンサ装置で取得された、前記ユーザが前記屋内用有酸素運動装置を走行する際の走行情報に基づき、前記ユーザによる前記仮想レースの完走タイムを補正するステップと、
前記補正するステップによって補正された補正完走タイムに基づいて、前記仮想レースの参加ユーザの順位を決定するステップと、
を含む、情報処理装置の制御方法。
【請求項10】
屋内用有酸素運動装置による仮想コースでの仮想レースを提供する仮想レースシステムにおける情報処理装置の制御プログラムであって、
情報処理装置に、
前記仮想コースに設定された、走行距離及び勾配を少なくとも含むコース形状に基づいて、前記仮想レースへ参加するユーザが走行する屋内用有酸素運動装置を駆動させる駆動情報を生成する機能と、
前記ユーザの装着するセンサ装置で取得された、前記ユーザが前記屋内用有酸素運動装置を走行する際の走行情報に基づき、前記ユーザによる前記仮想レースの完走タイムを補正する機能と、
前記補正する機能によって補正された補正完走タイムに基づいて、前記仮想レースの参加ユーザの順位を決定する機能と、
を実現させる、情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムに関する。
【背景技術】
【0002】
近年、マラソンやロードバイクなどのレースをオンラインで開催する、いわゆる「バーチャルレース」が広がりをみせている(例えば、非特許文献1)。バーチャルレースにおいて、ランナーは位置情報を取得可能な通信装置を携行し、レースで規定された距離分のコースを、開催期間中の自由なタイミングで走行すればよい。すなわち、バーチャルレースにおいて、ランナーは、自身の好きなタイミングで好きなコースを走行することができる。走行した累積距離は、例えば、ランナーが所有するアプリケーションを介して開催者側のサーバにアップロードされ、タイムや順位等が記録されてよい。なお、バーチャルレースは、仮想レース、オンラインマラソン、バーチャルマラソン、オンラインサイクリング等とも呼称される。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】株式会社アシックス、“ASICS VIRTUAL RACE”、[online]、令和4年11月28日検索、インターネット<URL:https://www.asics.com/jp/ja-jp/mk/virtual_race>
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1に開示されたバーチャルレースは、屋外の公道や山道等をコースとすることが想定されている。ここで、ランニングマシン等の屋内用の有酸素運動装置によるバーチャルレースを実現できれば、天候に左右されずにレースに参加でき、ランナーにとって利便性が高い。しかしながら、屋内でのランニングでは、屋外でのランニングと異なり景色の変化やコースの起伏がなく、ランナーが単調に感じやすい。
【0005】
すなわち、屋内用有酸素運動装置によるバーチャルレースを提供するにあたり、ランナーの参加へのモチベーションを高める工夫が求められていた。
【課題を解決するための手段】
【0006】
本発明の一実施形態に係る、屋内用有酸素運動装置による仮想コースでの仮想レースを提供する仮想レース提供システムにおける情報処理装置は、仮想コースに設定された、走行距離及び勾配を少なくとも含むコース形状に基づいて、仮想レースへ参加するユーザが走行する屋内用有酸素運動装置を駆動させる駆動情報を生成する生成部と、ユーザの装着するセンサ装置で取得された、ユーザが屋内用有酸素運動装置を走行する際の走行情報に基づき、ユーザによる仮想レースの完走タイムを補正するタイム補正部と、タイム補正部によって補正された補正完走タイムに基づいて、仮想レースの参加ユーザの順位を決定する決定部とを備える。
【0007】
本発明の一実施形態に係る情報処理装置において、タイム補正部は、ユーザの走行情報に基づいた、走行フォームに関する指標のユーザの評価値から算出される、ユーザの走行スコアに基づいて、ユーザの完走タイムを補正し、ユーザの走行スコアは、不特定多数のユーザから収集された走行速度と指標との相関関係に基づいて設定される指標の評価値と、ユーザの評価値との差異に基づいて算出されてよい。
【0008】
本発明の一実施形態に係る情報処理装置は、ユーザの生体情報を取得する取得部をさらに備え、タイム補正部は、不特定多数のユーザから収集された走行速度と走行時の生体情報との相関関係に基づいて設定される生体基準値と、ユーザの走行時の生体情報の値との差異に基づいて、ユーザの完走タイムを補正してよい。
【0009】
本発明の一実施形態に係る情報処理装置において、仮想コースは、仮想レースへ参加するユーザの走行能力を示すレベルに応じて複数種類設定され、生成部は、複数種類の仮想コースのうち、ユーザによって選択された仮想コースのコース形状に基づいて、ユーザの屋内用有酸素運動装置を駆動させる駆動情報を生成してよい。
【0010】
本発明の一実施形態に係る情報処理装置において、生成部は、さらに、仮想レースへ参加するユーザのレベルに応じた仮想コースを提示させる画面を、ユーザの通信端末へ表示させる表示情報を生成してよい。
【0011】
本発明の一実施形態に係る情報処理装置において、タイム補正部は、ユーザが走行した仮想コースの難易度に応じて、ユーザの完走タイムを補正してよい。
【0012】
本発明の一実施形態に係る情報処理装置において、タイム補正部は、レースに参加するユーザが走行する屋内用有酸素運動装置の種類に応じて、ユーザの完走タイムを補正してよい。
【0013】
本発明の一実施形態に係る情報処理装置において、生成部は、仮想レースに参加するユーザが走行する屋内用有酸素運動装置の種類に応じたコース形状を駆動させる駆動情報を生成し、ユーザが勾配の設定が不可である屋内用有酸素運動装置で走行する場合のコース形状は、ユーザが勾配の設定が可能である屋内用有酸素運動装置で走行する場合のコース形状よりも、走行距離が長く設定されてよい。
【0014】
本発明の一実施形態に係る情報処理装置は、仮想レースに参加するユーザが走行する屋内用有酸素運動装置の種類に応じて、仮想コースのコース形状を補正するコース補正部をさらに備え、コース補正部は、ユーザが勾配の設定が不可である屋内用有酸素運動装置で走行する場合、ユーザが走行する仮想コースの走行距離を伸長するように、コース形状を変更してよい。
【0015】
本発明の一実施形態に係る、屋内用有酸素運動装置による仮想コースでの仮想レースを提供する仮想レース提供システムにおける情報処理装置の制御方法は、情報処理装置が、仮想コースに設定された、走行距離及び勾配を少なくとも含むコース形状に基づいて、仮想レースへ参加するユーザが走行する屋内用有酸素運動装置を駆動させる駆動情報を生成するステップと、ユーザの装着するセンサ装置で取得された、ユーザが屋内用有酸素運動装置を走行する際の走行情報に基づき、ユーザによる仮想レースの完走タイムを補正するステップと、補正するステップによって補正された補正完走タイムに基づいて、仮想レースの参加ユーザの順位を決定するステップとを含む。
【0016】
本発明の一実施形態に係る、屋内用有酸素運動装置による仮想コースでの仮想レースを提供する仮想レース提供システムにおける情報処理装置の制御プログラムは、情報処理装置に、仮想コースに設定された、走行距離及び勾配を少なくとも含むコース形状に基づいて、仮想レースへ参加するユーザが走行する屋内用有酸素運動装置を駆動させる駆動情報を生成する機能と、ユーザの装着するセンサ装置で取得された、ユーザが屋内用有酸素運動装置を走行する際の走行情報に基づき、ユーザによる仮想レースの完走タイムを補正する機能と、補正する機能によって補正された補正完走タイムに基づいて、仮想レースの参加ユーザの順位を決定する機能とを実現させる。
【発明の効果】
【0017】
本発明の一実施形態によれば、屋内用有酸素運動装置によるバーチャルレースを提供するにあたり、順位付けが単に完走タイムのみで行われないため、ランナーの参加へのモチベーションを高める、仮想レース提供システムにおける情報処理装置等を提供することができる。
【図面の簡単な説明】
【0018】
【
図1】
図1は、本発明の一実施形態に係る仮想レース提供システムの構成を示す概略図である。
【
図2】
図2は、本発明の一実施形態に係るサーバ(情報処理装置)、ユーザ端末(通信端末、およびセンサ装置の機能ブロック図の一例である。
【
図3】
図3は、本発明の一実施形態に係るユーザ情報テーブルの一例である。
【
図4】
図4は、本発明の一実施形態に係る運動装置情報テーブルの一例である。
【
図5】
図5(a)は、仮想コースをノードデータによる概略図、
図5(b)は、本発明の一実施形態に係るコース形状情報の一例である。
【
図6】
図6は、本発明の一実施形態に係る指標のスコアリングについて説明する概略図である。
【
図7】
図7は、本発明の一実施形態に係る指標の基準値の一例である。
【
図8】
図8は、完走タイムの補正による順位の変更を説明する概略図である。
【
図9】
図9(a)、(b)は、本発明の一実施形態に係るユーザ端末の表示画面の一例を示す図である。
【
図10】
図10(a)は、仮想コースをノードデータによる概略図、
図10(b)は、本発明の一実施形態に係るコース形状情報の一例である。
【
図11】
図11は、本発明の一実施形態に係るサーバの動作例を示すフローチャートである。
【発明を実施するための形態】
【0019】
以降、図を用いて、本開示に係る発明(本発明ともいう)の一実施形態を説明する。なお、図は一例であって、本発明は図に示すものに限定されない。例えば、図示したサーバ(情報処理装置)、ユーザ端末(通信装置)、データベースサーバ、屋内用有酸素運動装置、センサ装置の数及びそれらのサイズ比率、データセット(テーブル)、並びにフローチャートは一例であって、本発明はこれらに限定されるものではない。
【0020】
<システム構成>
図1は、本発明の一実施形態に係る仮想レース提供システムの構成例を示す図である。仮想レース提供システム600は、屋内用有酸素運動装置を用いて参加可能な仮想レースを、ユーザ(ランナー)に提供する情報通信システムであってよい。仮想レース提供システムにおいて、仮想レースにエントリーした各ユーザは、それぞれ屋内用有酸素運動装置を用いて規定の距離分を走行し、各ユーザのタイムに基づいて順位(ランキング)付けが行われてよい。その際、本発明の一実施形態によれば、ユーザの走行フォームや屋内用有酸素運動装置の種類等に応じて、ランキングが補正されてもよい(詳細は後述する)。
【0021】
仮想レース提供システム600は、サーバ100と、データベースサーバ101と、ユーザの通信端末(ユーザ端末)200(200A,200B)と、センサ装置301(301A,301B),302(302A,302B)とを少なくとも含んでよい。また、仮想レース提供システム600は、屋内用有酸素運動装置400(400A,400B)をさらに含んでよい。なお、
図1において、仮想レースに参加するユーザをユーザ10A,10Bの2名とし、ユーザ10A,10Bに関するユーザ端末、センサ装置及び屋内用有酸素運動装置の符号に、それぞれ、英字「A」、「B」を付して区別する。しかしながら、仮想レースに参加するユーザはこれ以上でもこれ以下であってもよく、ユーザ端末、センサ装置及び屋内用有酸素運動装置は、ユーザに対応する数だけ存在してよい。また、これ以降特に区別しない場合、ユーザ、ユーザ端末、センサ装置及び屋内用有酸素運動装置を、それぞれ、単にユーザ10、ユーザ端末200、センサ装置301,302及び屋内用有酸素運動装置400と記す。なお、詳細は後述するが、センサ装置301はモーションセンサであり、センサ装置302はバイタルセンサであってよい。
【0022】
サーバ100は、仮想レース提供システム600により実現される仮想レースに係る種々の処理を実行することができてよい。また、サーバ100は、ユーザ端末200とネットワーク500を介して接続されてよい。ネットワーク500は、無線ネットワークや有線ネットワークを含んでよく、例えば、ワイヤレスLAN(wireless LAN:WLAN)や広域ネットワーク(wide area network:WAN)、ISDNs(integrated service digital networks)、無線LANs、CDMA(code division multiple access)、LTE(long term evolution)、LTE-Advanced、第4世代通信(4G)、第5世代通信(5G)、及び第6世代通信(6G)以降の移動体通信システム等やこれらの組み合わせであってもよい。
【0023】
サーバ100は、さらに、データベースサーバ101との間で、各種データの送受信を行ってよい。詳細は後述するが、データベースサーバ101は、本発明の一実施形態に係る仮想レース提供システム600の機能の実現に必要な各種データを記憶(格納)してもよい。
【0024】
なお、
図1において、サーバ100やデータベースサーバ101を、それぞれ1つずつ示してあるが、これに限られるものではない。すなわち、サーバ100が備えるとして説明する各機能は、複数のサーバによって実現されてもよいし、データベースサーバ101が複数あってもよい。また、サーバ100は、例えば、ネットワークを介して通信を行うことで協調動作する分散型サーバシステムでもよく、いわゆるクラウドサーバでもよい。すなわち、サーバ100は、物理的なサーバに限らず、ソフトウェアによる仮想的なサーバも含まれてよい。
【0025】
ユーザ端末200はユーザ10の通信端末であって、仮想レースを利用するためのアプリケーション(これ以降、「レースアプリ」とも称する)がインストールされてよい。詳細は後述するが、ユーザ端末200は、モーションセンサ301、バイタルセンサ302や屋内用有酸素運動装置400から取得した情報を、レースアプリを介してサーバ100へ送信できてよい。
【0026】
なお、
図1では、ユーザ端末200としてスマートフォンを示してあるが、ユーザ端末200としては、これ以降に説明する各実施形態において記載する機能を実現できる端末であればどのような端末であってもよい。例えば、ユーザ端末200は、コンピュータ(例えば、タブレット、デスクトップパソコン、ノートパソコン)、ハンドヘルドコンピュータデバイス(限定でなく例として、ウェアラブル端末(メガネ型デバイス(スマートグラス)、時計型デバイス(スマートウォッチ)等)であってよい。
【0027】
屋内用有酸素運動装置400は、屋内に設置されてユーザによる有酸素運動を実現させる装置であれば特に限定されない。例えば、有酸素運動がウォーキングやランニングである場合、屋内用有酸素運動装置400は、トレッドミル、ウォーキングマシン、ランニングマシン、ジョギングマシン、ルームランナー等であってよい。また、有酸素運動がサイクリングである場合、屋内用有酸素運動装置400は、スマートトレーナー(ローラー台)、スマートバイク等であってよい。なお、ここでは、ユーザが自身の脚で走行する競技(ランニング)での仮想レースが実施され、屋内用有酸素運動装置400がトレッドミルであるとして説明する。したがって、これ以降、屋内用有酸素運動装置400を「トレッドミル400」と称することもある。
【0028】
本発明の一実施形態において、トレッドミル400は、幅広の輪状のベルトをモーターで回転させ、ユーザにベルトの回転方向と逆向きに走行させることで、その場でのランニングを可能とする器具であってよい。また、トレッドミル400は、ユーザの走行距離を、ベルトの回転速度と走行時間とから算出してよい。なお、トレッドミル400は、少なくともベルトの回転速度が調節可能であってよく、機種によっては、ベルトの傾斜角度が可変であってもよい。また、本発明の一実施形態において、トレッドミル400は、所定の駆動情報に基づいて、その回転速度や傾斜角度が制御可能であってよい。例えば、トレッドミル400は、無線通信または有線通信によって駆動情報を取得することができ、駆動情報には、ベルトの回転速度や傾斜角度の継続時間を指定する情報(プログラム)が含まれてよい。なお、駆動情報は、サーバ100から通信端末200に送信され、通信端末200からトレッドミル400へ送信されてよい。ここで、トレッドミル400と通信端末200とは、近距離無線通信(ブルートゥース(Bluetooth(登録商標))やケーブル接続により、データの送受信が可能な通信機能を有してよい。
【0029】
ユーザ10は、モーションセンサ301、バイタルセンサ302を装着して、トレッドミル400を用いて走行してよい。モーションセンサ301、バイタルセンサ302は、ユーザ10の体に装着されて、ユーザ10の走行情報や生体情報を取得し、取得した情報をユーザ端末200に送信可能な、通信機能を有するウェアラブル装置である。本発明の一実施形態において、モーションセンサ301は、ユーザ10の体幹に沿った腰付近に装着され、ユーザ10の走行フォームを評価する指標の評価値を算出するためのセンサデータを、走行情報として計測してよい。また、バイタルセンサ302は、走行中のユーザ10の生体情報を取得してよい。なお、
図1において、モーションセンサ301とバイタルセンサ302とを別個に示してあるが、本発明はこれに限定されず、モーションセンサ301とバイタルセンサ302とが一体化された一つのセンサ装置で、走行情報及び生体情報が取得されてもよいし、さらに複数のセンサ装置が用いられてもよい。あるいは、ユーザ10の走行情報や生体情報が、トレッドミル400に備えられたセンサ装置によって取得されてもよい。なお、走行情報や生体情報については後述する。
【0030】
ここで、本発明の一実施形態に係る仮想レース提供システム600で用いられ、例えばデータベースサーバ101に記憶される各種データについて説明する。
【0031】
図3は、仮想レースに参加するユーザのユーザ情報テーブルの一例である。なお、テーブルとは、各種情報の集合(データセット)であってよい。
図3の例では、ユーザ情報テーブルTB10は、ユーザ10を一意に識別するための識別子であるユーザID(IDentifier)に関連付けて、ユーザ名、運動装置識別情報、レベル、基本情報を記憶してよい。ここで、「運動装置識別情報」は、ユーザが使用している屋内用有酸素運動装置400を一意に識別するための情報であって、例えば、屋内用有酸素運動装置400の製造メーカーが付与した商品番号、製造番号等であってよい。また、「レベル」は、ランニングに対する習熟度であって、ユーザの走行能力を示し、ユーザのランニング歴、仮想レース歴、身体能力(筋力や持久走のタイム等)等から付与されてよい。また、「基本情報」は、ユーザの性質や特徴を示す情報であって、例えば、ユーザの性別、年齢、身長、体重、生体情報(最高血圧/最低血圧、心拍数等)が含まれてよい。なお、ユーザ情報には、
図3に示す情報のほか、ユーザのランニングに対する習熟度を示す情報として、例えば、ユーザがランニングを開始してから現在までの期間を示すランニング歴、過去に参加した仮想レースの履歴等が含まれてよい。
【0032】
図4は、運動装置情報テーブルの一例である。運動装置情報テーブルTB20は、ユーザが使用する屋内用有酸素運動装置400の機能や特徴に関する情報であって、上述したユーザ情報テーブルTB10の「運動装置識別情報」で識別される屋内用有酸素運動装置が、それぞれ有する機能を記憶してよい。例えば、運動装置識別情報「ZR-T*U10」で識別される屋内用有酸素運動装置400は、メーカーID「mf_001」で識別されるメーカーで製造され、対応機能として、速度のみ可変であることがわかる。なお、運動装置情報テーブルTB20において記憶される情報は、
図4に示す情報に限定されず、その他の情報が記憶されてもよい。なお、データベースサーバ101に記憶されるその他のデータについては後述する。
【0033】
次に、
図2を用いて、本発明の一実施形態に係るサーバ100、ユーザ端末200、モーションセンサ301、バイタルセンサ302のハードウェア構成、機能構成について説明する。
【0034】
<センサ装置>
図2に、本発明の一実施形態によるセンサ装置(モーションセンサ301、バイタルセンサ302)のブロック図の一例を示す。なお、モーションセンサ301、バイタルセンサ302は、取得する情報が異なるのみで、基本的な構成及び機能は同様であるため、同一のブロック図を用いて説明する。
【0035】
モーションセンサ301、バイタルセンサ302は、制御部310、通信部320、センサ部330、操作部340、及び記憶部370を備えてよい。制御部310は、CPU等の演算処理装置で構成され、記憶部370に記憶されているプログラムを実行することによって、予め定めたタイミングで、センサ部330の出力を取得してよい。また、制御部310は、センサ部330から取得したデータを、通信部230を介してユーザ端末200へ送信してよい。
【0036】
モーションセンサ301において、センサ部330は、例えば、互いに直交する3軸に沿った直線方向に生じる加速度、互いに直交する3軸を軸とする回転方向に生じる角速度又は地磁気を検出してよい。センサ部330は、ユーザ10がトレッドミル400を走行する際の加速度や角速度といったセンサデータを、走行情報として取得してよい。走行情報は、取得された時間に関する情報とともに、記憶部370に記憶されてよい。
【0037】
また、バイタルセンサ302において、センサ部330は、ユーザ10の体温、血圧、心拍数、単位時間あたりの呼吸回数等の生体情報を検出してよい。生体情報は、取得された時間に関する情報とともに、記憶部370に記憶されてよい。
【0038】
通信部320は、無線LAN(Local Area Network)や近距離無線通信等の無線通信(例えばBluetooth(登録商標) Low Energy:BLE)や有線通信によって、所定の通信プロトコルを用いて、ユーザ端末200との間でデータを送受信する機能を有してよい。例えば、通信部320は、記憶部370に記憶された走行情報や生体情報を、ユーザ端末200へ送信してよい。なお、通信部320は、ユーザ端末200に対し、モーションセンサ301、バイタルセンサ302による計測が完了した後に、記憶部370に記憶されている走行情報や生体情報をまとめて送付してもよいし、センサ部330による計測中の予め定めたタイミングで、記憶部370に記憶されている走行情報や生体情報を送信してもよい。
【0039】
操作部340は、例えば、入力ボタン又はタッチパネルで構成され、ユーザ10による操作を受け付けてよい。例えば、モーションセンサ301、バイタルセンサ302において、センサ部330による計測は、操作部340においてユーザ10による計測開始の操作が入力された場合に、開始、中断、停止等が行われてよい。
【0040】
<ユーザ端末>
(1)ユーザ端末のハードウェア構成
ユーザ端末200は、制御部210、通信部220、表示部230、入出力部240、記憶部270を備えてよい。
【0041】
制御部210は、典型的にはプロセッサであって、中央処理装置(CPU)、MPU(Micro Processing Unit)、GPU(Graphics Processing Unit)等を含み、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現されてよい。制御部210は、記憶部270に記憶されるプログラムを読み出し、読み出したプログラムに含まれるコード又は命令を実行することによって、各実施形態に示す機能、方法を実行してよい。
【0042】
制御部210は、通信部220、表示部230、及び入出力部240を制御してよい。具体的には、制御部210は、通信部220による、ユーザ端末200と、サーバ100、モーションセンサ301、バイタルセンサ302、及びトレッドミル400との間の通信を制御し、それらとの間で各種データの送受信を行ってよい。また、制御部210は、表示部230へのデータの表示を制御してよい。例えば、制御部210は、仮想レースにおけるユーザ10の順位や、ユーザ10の走行フォームに対する後述する指標等を、表示部230に表示させてよい。さらに、制御部210は、入出力部240を介した外部装置との各種情報の伝達を制御してよい。例えば、制御部210は、入力装置で受け付けたユーザの入力操作に応じて、各種情報を各機能部へ情報を伝達したり、タッチパネル、モニタ、スピーカ等の図示しない出力装置に対し、各機能部からの情報を伝達したりしてよい。
【0043】
記憶部270は、ユーザ端末200が動作するうえで必要とする各種プログラムや各種データを記憶する。例えば、記憶部270は、上述したレースアプリのプログラムが記憶されてよい。記憶部270は、例えば、フラッシュメモリ等を含んでよい。また、記憶部270は、制御部210に対する作業領域を提供するメモリ(RAM(Random Access Memory)、ROM(Read Only Memory)等)を含んでよい。
【0044】
通信部220は、ネットワークアダプタ等のハードウェアや通信用ソフトウェア、及びこれらの組み合わせとして実装され、ネットワーク500を介して、サーバ100との間で各種データの送受信を行ってよい。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。通信部220は、制御部210からの指示に従って、各種データをサーバ100に送信してよい。また、通信部220は、サーバ100から送信された各種データを受信し、制御部210に伝達してよい。また、通信部220は、モーションセンサ301、バイタルセンサ302との間の、上述した無線または有線による通信を実行してよい。さらに、通信部220は、トレッドミル400との間の、無線または有線による通信を実行してよい。
【0045】
表示部230は、フレームバッファに書き込まれた表示データに従って、データを表示するモニタであって、例えば、タッチパネル、タッチディスプレイ等であってよい。
【0046】
入出力部240は、ユーザ端末200に対する各種操作を入力する入力装置、及び、ユーザ端末200で処理された処理結果を出力する出力装置を含んでよい。入力装置は、例えば、タッチパネル、タッチディスプレイ、カメラ、マイクを含んでよい。出力装置は、制御部210で処理された処理結果を出力してよい。出力装置は、例えば、ディスプレイ、タッチパネル、スピーカ等を含んでよい。
【0047】
(2)ユーザ端末の機能構成
ユーザ端末200は、制御部210によって実現される機能として、駆動情報処理部211、センサデータ取得部212、運動装置データ取得部213、及び指標算出部214を備えてよい。
【0048】
駆動情報処理部211は、仮想コースに沿ってトレッドミル400を駆動させる駆動情報をサーバ100から取得し、トレッドミル400に出力してよい。駆動情報については後述する。
【0049】
センサデータ取得部212は、トレッドミル400を走行するユーザ10が装着するモーションセンサ301で計測されたセンサデータを、走行情報として取得してよい。また、センサデータ取得部212は、ユーザ10が装着するバイタルセンサ302で計測されたセンサデータを、生体情報として取得してよい。
【0050】
運動装置データ取得部213は、ユーザ10が走行するトレッドミル400から、走行距離を示す距離データを取得してよい。なお、運動装置データ取得部213は、トレッドミル400から、走行を開始してからの経過時間を示す経過時間データ、トレッドミル400の負荷(走行速度、傾斜角度等)の変化履歴を示す負荷履歴データ等をさらに取得してよい。また、運動装置データ取得部213は、ユーザ10がトレッドミル400を用いて仮想レースを完走するのに要した時間を、トレッドミル400から取得してよい。
【0051】
指標算出部214は、少なくともモーションセンサ301から取得した走行情報に基づき、ユーザの走行フォームに関する指標の評価値を算出してよい。ここで、指標算出部214は、指標の評価値の算出に、走行情報に加えて、トレッドミル400から取得したデータ(距離データ、経過時間データ、負荷履歴データ等)を用いてもよい。
【0052】
ここで、指標について説明する。指標は、ユーザ10の走行の質を示す要素であって、例えば、走行速度、ピッチ、ストライド、ストライド身長比、上下動、上下動身長比、左右動、前後動、着地時間、遊脚時間、着地時間率、遊脚時間率、減速量、沈み込み量、沈み込み量身長比、沈み込み時間、ブレーキ時間、推進時間、着地衝撃、蹴り出し加速度、蹴り出し時間、骨盤回転量、スティフネス、スティフネス体重比、着地角度、蹴り出し角度、左右方向衝撃、骨盤後傾量、骨盤落ち込み量、骨盤引き上げ量、着地後の骨盤回転タイミング、前傾角、及び衝撃ピーク傾き等が含まれてよい。各指標によって、ユーザの走行フォームを特徴づけてスコアリングすることができ、例えば、「ストライド身長比」の値が大きいほど、「動きの力強さ」のスコアを高くしてよい。なお、ユーザの走行フォームを特徴づける項目としては、上述の「動きの力強さ」のほか、「負担の少ない接地」、「安定した姿勢」、「骨盤を軸とした全身の連動」、「スムーズな重心移動」、及び「左右対称」等が挙げられるが、これらに限定されない。
【0053】
なお、詳細は後述するが、各指標には基準値(目安値)が設定されてよい。そして、ユーザの指標の値の、基準値に対する相対位置に応じて、ユーザの走行フォームをスコアリングしてよい。例えば、「上下動身長比」について、基準値に対し値が小さくなるほど、「負担の少ない接地」のスコアを高くしてよい。また、「骨盤回転量」について、基準値に対し値が大きくなるほど、「動きの力強さ」のスコアを高くしてよい。
【0054】
なお、指標算出部214による各指標の算出には、任意の公知の手法が用いられてよい。公知の手法としては、例えば、特許第6648439号公報、特許第6711433号公報、特許第7155345号公報、又は特許第5849092号公報等に記載の手法が挙げられる。
【0055】
各指標について簡単に説明する。指標算出部214は、モーションセンサ301が出力したセンサデータによって示される加速度ベクトルの上下方向成分の波形の周期であるランニング周期を求め、当該ランニング周期から、単位時間当たりの歩数であるピッチを算出してよい。また、指標算出部214は、1分間当たりの速度をピッチで除算することにより、一歩当たりの歩幅であるストライドを算出してよい。さらに、指標算出部214は、ストライドをユーザ10の身長で除算することにより、ストライド身長比を算出してよい。
【0056】
上下動は、一方の足の着地から他方の足の着地までのポジションの最高点と最低点の差である。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの上下方向成分を積分して、最高点と最低点のポジションを算出した上で、最高点と最低点のポジションの差である上下動を算出してよい。また、指標算出部214は、上下動身長比を、上下動をユーザ10の身長で除算することにより算出してよい。なお、これ以降、「ポジション」とは、ユーザ10におけるモーションセンサ301の取付位置であり、例えば、モーションセンサ301が取り付けられた腰の位置を指してよい。
【0057】
左右動は、一方の足の着地から他方の足の着地までのポジションの左右の変動幅である。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの左右方向成分を積分して、最左点と最右点のポジションを算出した上で、最左点と最右点のポジションの差である左右動を算出してよい。
【0058】
前後動は、一方の足の着地から他方の足の着地までの間におけるポジションの前後方向の変動幅である。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの前後方向成分を積分し、平均速度での移動距離を減算することで、前後動を算出してよい。
【0059】
着地時間は、一方の足が着地してから当該足が離地するまでの時間であり、遊脚時間は、一方の足が離地してから当該一方の足が着地するまでの時間である。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの上下方向成分に基づいて着地と離地のタイミングを特定することにより、着地時間及び遊脚時間を算出してよい。また、指標算出部214は、着地時間率を、着地時間/(着地時間+遊脚時間)により求めることができ、遊脚時間率を、遊脚時間/(着地時間+遊脚時間)により求めることができる。
【0060】
減速量は、一方の足が着地している区間(一方の足が着地してから当該一方の足が離地するまでの区間であって、以下「着地区間」と称する)における前後方向の速度の低下量である。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの後退方向の成分を、着地区間分にわたって積分することにより、減速量を求めてよい。
【0061】
沈み込み量は、一方の足の着地時のポジションとその後の最低点でのポジション(腰が最も低い位置にあるときのポジション)との差である。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの上下方向成分を、着地時からポジションが最低点に位置するタイミングまでを積分することにより、沈み込み量を求めてよい。さらに、指標算出部214は、沈み込み量をユーザ10の身長で除算することにより、沈み込み量身長比を求めてよい。なお、指標算出部214は、一方の足の着地時からポジションが最低点に位置するタイミングまでの時間を、沈み込み時間として求めることができる。
【0062】
ブレーキ時間は、着地時から加速度ベクトルの前後方向成分が推進方向に変わるまでの時間である。指標算出部214は、着地のタイミングと、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの前後方向成分が推進方向に変わるタイミングとを特定することにより、ブレーキ時間を求めてよい。また、指標算出部214は、加速度ベクトルの前後方向成分が推進方向に変わるタイミングから離地時までの時間を、推進時間として求めてよい。
【0063】
着地衝撃は、着地したときの衝撃の量であり、衝撃ピーク量とも呼ばれる。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの着地した直後の各成分に基づいて、加速度の最大値を、着地衝撃として算出することができる。
【0064】
蹴り出し加速度は、推進時の加速度の大きさであり、指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの、前後方向成分の大きさにより、蹴り出し加速度を求めることができる。蹴り出し時間は、着地期間中の推進方向の加速度が発生している時間である。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの前後方向成分が発生している時間を計測して、蹴り出し時間を求めることができる。あるいは、指標算出部214は、センサデータによって示される加速度ベクトルの上下方向成分に基づいて、ポジションが最低点に位置するタイミングから一方の足の離地時までの時間を計測して、蹴り出し時間を求めてもよい。
【0065】
骨盤回転量は、一方の足が着地してから離地して再度、当該一方の足が着地するまでの区間(以下、「2歩周期の区間」と称する)に、もしくは、一方の足が着地してから続けて他方の足が着地するまでの区間(以下「1歩周期の区間」と称する)に、腰が回転した量である。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの左右方向成分、及び前後方向成分で表される回転速度に基づいて、2歩周期の区間又は1歩周期の区間における骨盤回転量を求めてよい。
【0066】
スティフネスは、足をばねに見立てた時のばね定数であり、指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの上下方向成分の変化に基づいて、スティフネスを求めてよい。また、指標算出部214は、スティフネスをユーザ10の体重で除算することにより、スティフネス体重比を求めてよい。
【0067】
着地角度は、一方の足が着地した時の加速度ベクトルと水平面又はトレッドミルのベルト面との角度であり、蹴り出し角度は、離地した時の加速度ベクトルと水平面又はベルト面との角度である。指標算出部214は、着地角度及び蹴り出し角度を、モーションセンサ301が出力するセンサデータによって示される、加速度センサの3軸に沿った方向の各々の成分に基づいて算出することができる。
【0068】
左右方向衝撃は、2歩周期の区間にユーザ10が受ける左右方向の衝撃の量である。指標算出部214は、モーションセンサ301が出力するセンサデータに基づいて、2歩周期の区間における加速度ベクトルの左右方向成分の最大変化量を、左右方向衝撃として算出することができる。
【0069】
骨盤後傾量は、着地した後の腰の後傾方向の角度の最大値である。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの各方向の成分に基づいて、骨盤後傾量を算出することができる。
【0070】
骨盤落ち込み量は、着地衝撃に対して骨盤を水平に支えきれず生じる傾きの量である。指標算出部214は、一方の足の着地から離地までの着地区間において、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの各方向の成分に基づいて、着地時の角度と立脚側最大挙上角との変化量から骨盤落ち込み量を算出することができる。
【0071】
骨盤引き上げ量は、正面から骨盤を見た時に,足の着地の瞬間を起点として最大どのくらい骨盤が回転したかを示す角度である。指標算出部214は、立脚側の最大挙上時から次の着地までの区間において、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの各方向の成分に基づいて、着地時の角度と遊脚側の最大挙上角との変化量から、骨盤引き上げ量を算出することができる。
【0072】
着地後の骨盤回転タイミングは、骨盤ローテーションの動きの特徴として、着地脚側に骨盤を前に振り出すような動きがいつ起きているかということを割合で示したものである。指標算出部214は、着地から次着地の時間の半分の時間幅で着地の前後を検索し、最も腰が回転した時から着地までの時間を着地から次着地までの時間で除した割合(%)を、着地後の骨盤回転タイミングとして算出することができる。
【0073】
前傾角は、センサ装置301の鉛直方向に対する進行方向の傾斜角度を表すものである。指標算出部214は、モーションセンサ301が出力するセンサデータによって示される加速度ベクトルの上下方向の成分、及び前後方向の成分に基づいて、鉛直方向に対する進行方向の傾斜角度を2歩周期の区間で平均した値を、前傾角として算出することができる。また、指標算出部214は、一方の足の着地タイミング、一方の足の離地タイミング、あるいはポジションが最低点になったタイミング等、特定のタイミングでの前傾角を算出することもできる。
【0074】
衝撃ピーク傾きは着地時の足への負担を表すものである。指標算出部214は、前述の着地衝撃を、着地時から着地衝撃が最大となる時までの時間で除算することにより、衝撃ピーク傾きを算出することができる。あるいは、指標算出部214は、着地衝撃を、着地時から着地衝撃が最大となる時までの時間で除算した値を、逆三角関数(例えば逆正接関数:Arctangent)によって角度のパラメータに換算し、換算した角度のパラメータを、衝撃ピーク傾きとして算出してもよい。
【0075】
<サーバ>
図2に、本発明の一実施形態によるサーバ100のブロック図の一例を示す。サーバ100は、制御部110、通信部120、表示部130、入出力部140及び記憶部170を備えてよい。
【0076】
記憶部170は、典型的には、HDD(Hard Disc Drive)、SSD(Solid State Drive)、フラッシュメモリ等各種の記録媒体により実現され、サーバ100が動作するうえで必要とする各種プログラム及びデータを記憶する機能を有してよい。また、記憶部170は、制御部110に対する作業領域を提供するメモリ(RAM、ROM等)を含んでよい。
【0077】
制御部110は、典型的にはプロセッサであって、中央処理装置(CPU)、MPU、GPU等によって実現されてよい。制御部110は、記憶部170に記憶されるプログラムを読み出し、読み出したプログラムに含まれるコード又は命令を実行することによって、各実施形態に示す機能、方法を実行してよい。
【0078】
通信部120は、ネットワークアダプタ等のハードウェアや通信用ソフトウェア、及びこれらの組み合わせとして実装されてよい。通信部120は、ネットワーク500を介し、任意の通信プロトコルを用いて、ユーザ端末200との間で各種データの送受信を行ってよい。
【0079】
入出力部140は、サーバ100に対する各種操作を入力する入力装置、及び、サーバ100で処理された処理結果を出力する出力装置を含んでよい。入力装置は、例えば、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス、カメラ、マイクを含む。出力装置は、制御部110で処理された処理結果を出力し、例えば、タッチパネル、スピーカ等を含む。
【0080】
(2)サーバの機能構成
サーバ100は、制御部110によって実現される機能として、生成部111、取得部112、タイム補正部113、順位決定部114、及び判定部115を備えてよい。なお、
図2において、これ以降に説明する各実施形態で必須でない機能部はなくともよい。また、各機能部の機能又は処理は、実現可能な範囲において、機械学習又はAIにより実現されてもよい。
【0081】
生成部111は、仮想コースに設定された、走行距離及び勾配を少なくとも含むコース形状に基づいて、仮想レースへ参加するユーザ10が走行する屋内用有酸素運動装置400を駆動させる駆動情報を生成してよい。
【0082】
ここで、本発明の一実施形態における、仮想レースに用いられる仮想コースのコース形状を規定するためのデータについて、
図5を用いて説明する。例えば、仮想コースは、
図5(a)に示すようにノードデータ20で表現され、各ノードの位置座標によって、仮想コースの距離や勾配が規定されてよい。例えば、
図5(b)は、ノード番号とその位置座標(X座標、Y座標、Z座標)とを関連付けたコース形状情報テーブルの一例である。
図5(b)に示すように、仮想コースは複数種類規定され、各仮想コースを一意に識別するコースIDごとに、ノードデータが記憶されてよい。さらに、本発明の一実施形態において、仮想コースにおける走行速度の目標値(すなわち、トレッドミル400のベルトの回転速度)が、あらかじめ設定されてよい。例えば、
図5(b)の例では、コース形状情報テーブルTB30において、コースID「cource_001」で識別されるコースのノード番号N1,N2の位置座標は、それぞれ(X,Y,Z)=(x1,y1,z1)、(x2,y2,z2)であって、ノード番号N1とN2との間には勾配がある。また、ノード番号N1~N2間の走行速度(ベルトの回転速度)は、速度v1と設定されている。なお、仮想コースを規定するデータは上述したものに限定されない。
【0083】
また、仮想コースには難易度が設定されてもよい。難易度とは、例えば仮想レースを完走することのできるユーザ数や完走タイム等に影響し、例えば、トレッドミルの走行速度(ベルトの回転速度)が速いコース、上り坂が連続するコース、走行距離が長いコース等は、難易度が高いコースとされてよい。
図5(b)の例では、コースID「cource_001」で識別されるコースの難易度は、「レベル3」である。なお、
図5(b)の例では、数値が大きいものほど難易度が高いものとして示すが、難易度の設定についてはこれに限定されない。また、
【0084】
本発明の一実施形態において、仮想レースは、
図5(b)に示す仮想コースを複数個組み合わせて設定されてもよいし、一の仮想コースのみで設定されてもよい。生成部111は、コース形状情報テーブルTB30に規定された、仮想レースを構成する仮想コースのコース形状を示すノードデータに基づいて、トレッドミル400を駆動させる駆動情報を生成してよい。例えば、駆動情報は、ノード間の勾配、距離、トレッドミル40の速度及び走行時間に基づいて、トレッドミル400の傾斜角度を変更させる情報であってよい。生成された駆動情報は、通信部120を介してユーザ端末200に送信され、ユーザ端末200から、トレッドミル400に送信されてよい。
【0085】
図2へ戻り、取得部112は、ユーザ10が屋内用有酸素運動装置400を走行する際の走行情報に基づいた、ユーザの走行フォームに関する指標の評価値を取得してよい。指標は上述の通りであって、ユーザ端末200から送信されてよい。なお、指標の評価値は、取得部112がユーザ端末200を介して取得した走行情報に基づいて、サーバ100で算出されてもよい。また、取得部112は、仮想レースに参加した各ユーザの完走タイムを、各ユーザのユーザ端末200から取得してよい。
【0086】
タイム補正部113は、走行情報に基づき、ユーザによる仮想レースの完走タイムを補正してよい。なお、タイム補正部113は、ユーザの走行情報に基づいた、走行フォームに関する指標のユーザの評価値から算出される、ユーザの走行スコアに基づいて、ユーザの完走タイムを補正してよい。なお、ユーザの走行スコアは、不特定多数のユーザから収集された走行速度と指標との相関関係に基づいて設定される指標の評価値と、ユーザの指標の評価値との差異に基づいて算出されてよい。
【0087】
ここで、ユーザの走行スコア(指標のスコアリング)について説明する。
図6は、指標のスコアリングについて説明する概略図である。なお、ここでは、指標として蹴りだし時間を一例に説明する。
図6は、横軸を走行速度(ペース)、縦軸を指標とし、不特定多数のユーザから収集された、あるペースにおける指標(蹴りだし時間)のデータをプロットしたグラフと、ユーザから収集された、あるペースにおける指標(蹴りだし時間)のデータ31をプロットしたグラフ(これ以降、「スコアリンググラフ」とも称する)の一例である。スコアリンググラフ30に示すように、不特定多数のユーザのデータ31から走行速度と指標の近似線32を、ユーザのデータ31′から走行速度と指標の近似線32′を算出することができ、当該近似線32上の値が、指標の基準値と設定されてよい。例えば、
図6の例では、「蹴りだし時間」の値が基準値よりも高い場合、基準値から離れるほど、走行フォームを特徴付ける項目のうち「骨盤を軸とした全身の連動」のスコアが高くなるように、基準値からの差に相関するように走行スコアが設定されてよい。他の指標についても同様に走行スコアが設定され、データベースサーバ101に格納されてよい。
【0088】
走行スコアの算出について、
図6に示す指標が「蹴りだし時間」である場合を一例に説明する。例えば、ユーザ10の走行情報に基づいて、ユーザ10の近似式32′のペース「6分/km」における指標の「蹴りだし時間」の評価値が、「160ms」であったとする。上述のように、「蹴りだし時間」は、その値が小さいほど、走行フォームを特徴付ける項目のうち「骨盤を軸とした全身の連動」のスコアが高くなるように走行スコアが設定されており、例えば基準値との差が10msであれば、予め設定された相関係数aに基づいて、10a点の走行スコアが、ユーザ10の「骨盤を軸とした全身の連動」のスコアに寄与することとなる。
【0089】
本発明の一実施形態において、モーションセンサ301で計測された走行情報に基づいて、各指標についてスコアリングされ、スコアリングの結果算出された、各指標の総合スコアを、ユーザ10の走行フォームの走行スコアとしてよい。このとき、スコアリングは、上述した走行フォームを特徴づける項目ごとになされてよい。例えば、「負担の少ない接地」は〇点、「安定した姿勢」は〇点といったスコアリングがされてよい。
【0090】
例えば、
図7は、データベースサーバ101に記憶される、指標ごとに設定された基準値を格納するテーブルの一例である。図に示すように、指標の基準値は、ペースごとに設定されてよい。また、各指標について、
図6で説明したスコアリンググラフ30に関するデータとして、不特定多数のユーザのデータから求まる、走行速度と指標の近似線に関するデータがさらに記憶されてよい。
【0091】
タイム補正部113は、ユーザ10の指標の値と、スコアリンググラフ(指標とスコアとの対応関係)とに応じて、上述したスコアリングを行ってよい。そして、スコアリングの結果に応じて、ユーザ10の完走タイムを補正してよい。例えば、ユーザのスコアが所定の閾値以下である場合に、完走タイムが遅くなるような補正がなされたり、逆に、所定の閾値以上である場合に、完走タイムが速くなるような補正がなされてよい。そして、順位決定部114は、タイム補正部113によって補正された補正完走タイムに基づいて、仮想コースの参加ユーザの順位を決定してよい。
【0092】
このことを、
図8を用いて説明する。
図8は、完走タイムの補正による順位の変更を説明する概略図である。
図8の例では、ユーザBは完走タイムにおいては順位が第2位であるが、スコア「54」によって完走タイムが補正され、補正完走タイムでは、順位が第20位とされる。また、ユーザDは完走タイムにおいては順位が第4位であるが、スコア「89」によって完走タイムが補正され、補正完走タイムでは、順位が第2位とされる。なお、補正の手法については、任意の手法が取られてよい。
【0093】
このように、本発明の一実施形態によれば、仮想レースにおけるユーザの順位が、ユーザの走行フォームに応じて補正されてよい。したがって、ユーザは、よりスコアが高くなるフォームで走行することを目標とし、より自身の走行フォームを意識して走行することとなり、屋内でのランニングであってもモチベーションを高く維持することができる。また、走行タイムが遅くとも、走行フォームによっては順位が入れ替わる可能性があるため、ユーザに対し、屋内であっても、仮想コースへ参加するきっかけを与えることができる。
【0094】
なお、完走タイムの補正が、ユーザの走行時の特徴に応じてより細かく行われてもよい。例えば、
図6を参照すると、ユーザは、4.0分/kmでの走行時は、6.0分/kmでの走行時と比較すると、基準値との差が大きい。これはすなわち、ユーザが4.0分/kmで走行する際の走行フォームは、6.0分/kmで走行する際の走行フォームよりも悪いことを意味する。このことを踏まえ、タイム補正部113は、6.0分/kmでの走行時よりも、4.0分/kmでの走行時に、加算されるタイム幅が大きくなるように、完走タイムを補正してよい。
【0095】
なお、本発明の一実施形態において、仮想コースは、仮想レースへ参加するユーザ10のレベルに応じて複数種類設定されてよい。すなわち、同じ仮想レースに参加するユーザのレベルに応じて、走行する仮想コースが異なってよい。例えば、レベルが初級であるユーザは、難易度が1以上の仮想コースを選択可能であって、レベルが中級であるユーザは、難易度が4以上の仮想コースを選択可能であってよい。
【0096】
生成部111は、ユーザ端末200において、仮想コースを選択させる画面を表示するための表示情報を生成してよい。
図9は、ユーザ端末200の表示画面の一例である。なお、図は一例であってこれに限定されない。
図9(a)に示すように、仮想コースを選択可能な画面51から、ユーザ10は、自身が走行する仮想コースを選択可能であってよい。取得部112は、ユーザ端末200から、複数種類の仮想コースのうち、ユーザによって選択された仮想コースに関する情報を取得してよい。生成部111は、ユーザ10によって選択された仮想コースのコース形状に基づいて、ユーザ10のトレッドミル400を駆動させる駆動情報を生成してよい。なお、
図9(b)については後述する。
【0097】
このように、本発明の一実施形態によれば、仮想レースにおいて、ユーザ10は、自身のレベルに応じた仮想コースを走行することができる。したがって、仮想レースへ参加する障壁をなくし、様々なレベルのユーザを仮想レースへ参加させて、仮想レースを活性化させることが可能となる。
【0098】
なお、本発明の一実施形態において、生成部111は、仮想レースへ参加するユーザ10のレベルに応じた仮想コースを提示する画面を、ユーザ端末200へ表示させる表示情報を生成してよい。サーバ100の判定部115は、データベースサーバ101に格納されたユーザ情報テーブルTB10、コース形状情報テーブルTB30に基づいて、ユーザ10のレベルに応じた仮想コースを判定してよい。なお、判定は、ユーザのレベルと仮想コースの難易度とをあらかじめ対応付けたデータベースに基づいて行われてよい。例えば、ユーザのレベルが「初級」、「中級」である場合、それぞれ、難易度が1~3、4~6の仮想コースが選択されてよい。
【0099】
図9(b)は、ユーザ10に推奨されるレベルの仮想コースが表示された、ユーザ端末200の画面例である。なお、図は一例であって、これに限定されない。
図9(b)に示すように、ユーザ10のレベルに応じた仮想コースを選択可能な画面52から、ユーザ10は、自身が走行する仮想コースを選択可能であってよい。
【0100】
このように、本発明の一実施形態によれば、ユーザのレベルに応じた仮想コースが提案されてよい。したがって、ユーザは、自身のレベルに合った、完走できるコースを選択することができ、ユーザの仮想レースへのモチベーションを高めることができる。
【0101】
なお、タイム補正部113は、ユーザが走行した仮想コースのレベルに応じて、ユーザ10の完走タイムを補正してよい。例えば、レベルの高低に応じて、上述した走行スコアによる補正の程度が異なってよい。具体的には、複数のユーザの走行スコアが同点であった場合に、より高いレベルの仮想コースを走行したユーザの走行スコアを高くするような重みづけがされてよい。これにより、ユーザに対し、レベルを向上させるとのモチベーションを提供することができる。なお、反対に、より低いレベルの仮想コースを走行したユーザの走行スコアを高くするような重みづけがされてもよい。これにより、レベルの低いユーザに対しても、仮想レースに参加させるきっかけを与えることができる。
【0102】
また、タイム補正部113は、仮想レースに参加するユーザ10が走行する屋内用有酸素運動装置400の種類に応じて、ユーザ10の完走タイムを補正してもよい。例えば、ユーザ10のトレッドミル400が傾斜角度を変更できない種類である場合、タイム補正部113は、ユーザ10の完走タイムが遅くなるような補正を行ってよい。これにより、ユーザ10が利用するトレッドミル400の種類を問わず、ユーザを仮想レースに参加させることができる。
【0103】
また、本発明の一実施形態において、生成部111は、仮想レースに参加するユーザ10が走行する屋内用有酸素運動装置400の種類に応じたコース形状を駆動させる駆動情報を生成し、ユーザ10が勾配の設定が不可である屋内用有酸素運動装置400で走行する場合のコース形状は、ユーザ10が勾配の設定が可能である屋内用有酸素運動装置400で走行する場合のコース形状よりも、走行距離が長く設定されてよい。例えば、勾配を含むコース形状と対応する、勾配を含まないコース形状に関するデータがあらかじめデータベースサーバ101に格納され、生成部111は、当該データベースサーバ101に格納されたデータを用いて、駆動情報を生成してよい。
【0104】
図5及び
図10を用いて説明する。上述のように、
図5(a)、(b)は、仮想コースの形状を示すノードデータの一例であって、ノードデータ20で表される仮想コース(ここでは、
図5(b)のコース形状情報テーブルTB30におけるコースID「cource_001」で識別されるコースである)は、勾配を含んでいる。ここで、本発明の一実施形態によれば、屋内用有酸素運動装置400が傾斜角度の変更ができない機種の場合、仮想レースにおいてユーザ10の走行するコース形状が、勾配を含まないものに変更されてよい。例えば、
図10(a)は、勾配を含まないコース形状のノードデータ21であって、
図10(b)は、ノードデータ21に含まれる各ノードの位置座標に関するコース形状情報テーブルTB31の一例であってよい。ここで、勾配のない仮想コースのノードデータ21におけるノード番号N1′,N2′…は、勾配のある仮想コースのノードデータ20におけるノード番号N1,N2…に対応する。例えば、勾配のない仮想コースのN1′-N2′は、勾配のある仮想コースの勾配部分N1-N2に対応してよい。このとき、N1′-N2′間の距離は、N1-N2間の距離よりも長く設定され、さらに、N1′-N2′間の走行速度v11は、N1-N2間の走行速度v1よりも速く設定されてよい。すなわち、勾配がある場合の負荷に相当する負荷がかかるように、コース形状が設定されてよい。
【0105】
このように、本発明の一実施形態によれば、傾斜角度が変更できない屋内用有酸素運動装置400に対し、傾斜角度が可変の装置と同等の負荷がかかるような駆動情報が提供されてよい。したがって、傾斜角度が変更できない屋内用有酸素運動装置400を利用するユーザ10にも、仮想レースへ参加するモチベーションを提供することができる。
【0106】
<サーバの制御フローチャート>
サーバ100の制御方法について、
図11のフローチャートを用いて説明する。サーバ100の生成部111は、仮想コースに設定された、走行距離及び勾配を少なくとも含むコース形状に基づいて、仮想レースへ参加するユーザが走行する屋内用有酸素運動装置400を駆動させる駆動情報を生成してよい(ステップS11)。なお、駆動情報については、上述の通りであってよい。
【0107】
タイム補正部113は、ユーザ10の装着するセンサ装置301で取得された、ユーザ10が屋内用有酸素運動装置400を走行する際の走行情報に基づき、ユーザ10による仮想レースの完走タイムを補正してよい(ステップS12)。なお、完走タイムは、ユーザ端末200を介して、屋内用有酸素運動装置400から取得してよい。あるいは、完走タイムは、ユーザ端末200のレースアプリによって記録され、ユーザ端末200からサーバ100へ送信されてもよい。
【0108】
順位決定部114は、補正完走タイムに基づいて、仮想レースの参加ユーザの順位を決定してよい(ステップS13)。なお、順位決定部114は、仮想レースに参加したすべてのユーザに対して、順位を決定してよい。
【0109】
本発明を諸図面や実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形や修正を行うことが容易であることに注意されたい。従って、これらの変形や修正は本発明の範囲に含まれることに留意されたい。例えば、各手段、各ステップ等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の手段やステップ等を1つに組み合わせたり、或いは分割したりすることが可能である。また、上記実施の形態に示す構成を適宜組み合わせることとしてもよい。例えば、サーバ100が備えるとして説明した各構成部は、複数のサーバによって分散されて実現されてもよい。また、サーバ100の機能として説明した処理は、ユーザ端末200、センサ装置301,302、屋内用有酸素運動装置400によって行われても良い。逆に、ユーザ端末200によって行われるとした処理が、サーバ100、センサ装置301,302、または屋内用有酸素運動装置400によって行われてもよい。
【0110】
例えば、上述では、駆動情報がユーザ端末200を介して屋内用有酸素運動装置400に送信される態様について説明した。しかしながら、屋内用有酸素運動装置400が通信機能を有する場合、駆動情報は、ネットワーク500を介して、サーバ100から屋内用有酸素運動装置400へ直接送信されてもよい。
【0111】
また、モーションセンサ301、バイタルセンサ302には位置情報取得部がさらに含まれてよく、ユーザ10が屋内を走行する際の位置情報が取得されてもよい。
【0112】
さらに、ユーザ10の走行フォームを評価するのに、動画像が用いられてもよい。例えば、ユーザ10が走行する様子を撮像装置で撮影した動画像を解析して、走行フォームの評価が行われてもよい。
【0113】
また、上述では、駆動情報によって屋内用有酸素運動装置400が駆動される態様について説明した。しかしながら、屋内用有酸素運動装置400は、当該屋内用有酸素運動装置400に備えられた操作部を介して、ユーザ10によって直接操作されてもよい。その場合、屋内用有酸素運動装置400の駆動履歴が、屋内用有酸素運動装置400からユーザ端末200へ送信され、当該駆動履歴を加味した完走タイムの補正が行われてもよい。
【0114】
また、上述では、走行情報に基づいて完走タイムが補正される態様について説明した。しかしながら、完走タイムの補正は、生体情報に基づいて行われてもよい。例えば、生体情報として、走行中の心拍や脈拍、血圧等がバイタルセンサ302によって測定され、それらの生体情報をスコアリングして、完走タイムが補正されてもよい。スコアリングについては、走行情報の場合と同様であってよく、例えば、不特定多数のユーザから収集された走行速度、走行時の生体情報との相関関係に基づいて、生体情報と生体スコアとの対応関係をあらかじめ定めておき、ユーザの生体情報の値が、当該対応関係からどの程度差があるかに応じて、生体スコアが算出されてよい。そして、生体スコアに応じた重みづけ等によって、完走タイムが補正されてよい。
【0115】
また、本発明の一実施形態において、屋内用有酸素運動装置400を走行するユーザとともに、屋外を走行するユーザも含んで順位付けがなされてもよい。例えば、屋外に実在するコースを仮想コースで実現し、屋外のコースを走行するユーザと、仮想コースを走行するユーザとを含むレースが開催されてもよい。
【0116】
サーバ100又は情報処理装置200の各機能部は、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。また、各機能部は、1又は複数の集積回路により実現されてよく、複数の機能部の機能を1つの集積回路により実現されることとしてもよい。
【0117】
本開示の各実施形態のプログラムは、情報処理装置に読み取り可能な記憶媒体に記憶された状態で提供されてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。プログラムは、例えば、ソフトウェアプログラムや情報処理装置プログラムを含む。情報処理装置100の各機能部をソフトウェアにより実現する場合、情報処理装置100は、プロセッサがメモリ上にロードされたプログラムを実行することにより、生成部111、取得部112、タイム補正部113、順位決定部114、及び判定部115として機能する。
【0118】
記憶媒体は適切な場合、1つ又は複数の半導体ベースの、又は他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)、特定用途向けIC(ASIC)等)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、任意の他の適切な記憶媒体、又はこれらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、又は揮発性と不揮発性の組合せでよい。
【0119】
また、本開示のプログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、情報処理装置200に提供されてもよい。
【0120】
また、本開示の各実施形態は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。なお、本開示のプログラムは、例えば、JavaScript(登録商標)、Python等のスクリプト言語、C言語、Go言語、Swift,Koltin、Java(登録商標)等を用いて実装されてよい。
【符号の説明】
【0121】
100 サーバ(情報処理装置)
110 制御部
111 生成部
112 取得部
113 タイム補正部
114 順位決定部
115 判定部
120 通信部
130 表示部
140 入出力部
170 記憶部
101 データベースサーバ
200 ユーザ端末(通信端末)
210 制御部
211 駆動情報処理部
212 センサデータ取得部
213 運動装置データ取得部
214 評価情報算出部
220 通信部
230 表示部
240 入出力部
270 記憶部
301 センサ装置(モーションセンサ)
302 センサ装置(バイタルセンサ)
500 ネットワーク
600 仮想レース提供システム