以下に、本発明に係るデータ解析装置及びデータ解析方法、データ解析プログラムについて、実施形態を示して詳しく説明する。なお、以下の実施形態においては、本発明に係るデータ解析装置を運動支援装置に適用し、ユーザ(利用者)が陸上競技場等のトラックや所定のランニングコース、マラソンコース等を走った場合に収集される各種のデータ(センサデータ)に基づいて、走行中の移動速度やストライド(歩幅)を推定して、ユーザに可視化して提供する場合について説明する。
<第1の実施形態>
(運動支援装置)
図1は、本発明に係るデータ解析装置を適用した運動支援装置の第1の実施形態を示す概略構成図である。図1(a)は本実施形態に係る運動支援装置に適用されるセンサ機器等の人体への装着状態を示す概念図であり、図1(b)はセンサ機器及びデータ解析装置の構成を示す概略ブロック図である。
本発明の実施形態に係る運動支援装置は、例えば図1(a)に示すように、ユーザUSの腰部等に装着されるセンサ機器100と、ユーザUSの手首等に装着されるコントロール機器300と、センサ機器100により収集されたセンサデータを解析するデータ解析装置200と、を有している。
センサ機器100は、ランニングやマラソン等の移動を伴う運動中の人体の動作状態に関する各種のセンサデータを測定して蓄積する機能を有するモーションセンサである。ここで、本実施形態においては、センサ機器100としてユーザUSの腰部に装着する構成を示したが、本発明はこれに限定されるものではない。人体の中心を通る体軸上に装着するものであれば他の位置、例えば胸部や頸部、腹部等に装着されるものであってもよい。また、センサ機器100の人体への装着方法についても、特に限定するものではなく、例えばトレーニングウェアにクリップで挟み込む形態やテープ部材等で貼り付ける形態、ベルト等により体に巻き付ける形態等、種々の装着方法を適宜適用するものであってもよい。
センサ機器100は、具体的には、例えば図1(b)に示すように、加速度計測部110と、角速度計測部120と、記憶部130と、制御部140と、無線通信用インターフェース(以下、「無線通信I/F」と略記する)150と、有線通信用インターフェース(以下、「有線通信I/F」と略記する)160と、を備えている。
加速度計測部110は、ユーザUSの運動中の動作速度の変化の割合(加速度)を計測する。加速度計測部110は、3軸加速度センサを有し、互いに直交する3軸方向の各々に沿った加速度成分(加速度信号)を検出して加速度データとして出力する。また、角速度計測部120は、ユーザUSの運動中の動作方向の変化(角速度)を計測する。角速度計測部120は、3軸角速度センサを有し、上記加速度データを規定する、互いに直交する3軸について、各軸に沿った回転運動の回転方向に生じる角速度成分(角速度信号)を検出して角速度データとして出力する。加速度計測部110及び角速度計測部120により取得されたセンサデータ(加速度データ、角速度データ)は、後述する制御部140において生成される時間データに関連付けられて、後述する記憶部130の所定の記憶領域に保存される。
記憶部130は、加速度計測部110及び角速度計測部120により取得されたセンサデータ(加速度データ、角速度データ)を、時間データに関連付けて所定の記憶領域に保存する。なお、記憶部130は、その一部又は全部が、例えばメモリカード等のリムーバブル記憶媒体としての形態を有し、センサ機器100に対して着脱可能に構成されているものであってもよい。
制御部140は、計時機能を備えたCPU(中央演算処理装置)やMPU(マイクロプロセッサ)等の演算処理装置であって、所定の動作クロックに基づいて、所定の制御プログラムを実行する。これにより、制御部140は、加速度計測部110や角速度計測部120におけるセンシング動作や、記憶部130への各種のデータ保存、読出し動作、後述する無線通信I/F150や有線通信I/F160における外部機器との通信やデータ転送動作等の、各種の動作を制御する。
無線通信I/F150は、少なくとも、後述するコントロール機器300から送信される、センサ機器100におけるログ開始又はログ終了を指示する命令信号を受信して制御部140に転送する。これにより、加速度計測部110や角速度計測部120におけるセンシング動作の開始又は終了が制御されて、当該センシング動作の期間中に取得されたセンサデータが、記憶部130の所定の記憶領域に時系列的に保存される。ここで、無線通信I/F150において、センサ機器100とコントロール機器300との間で、各種の信号を伝送する手法としては、例えばブルートゥース(Bluetooth(登録商標))やワイファイ(WiFi;wireless fidelity(登録商標))等の各種の無線通信方式を適用することができる。
有線通信I/F160は、少なくとも、記憶部130に保存されたセンサデータを、後述するデータ解析装置200に転送する機能を有している。これにより、データ解析装置200において、ユーザUSの走行速度やストライドを推定する所定のデータ解析処理が実行される。ここで、有線通信I/F160において、センサ機器100からデータ解析装置200にセンサデータを伝送する手法としては、例えばUSB(Universal Serial Bus)規格の通信ケーブル(USBケーブル)等を介した各種の有線通信方式を適用することができる。
データ解析装置200は、ユーザUSの運動中にセンサ機器100により測定され蓄積された各種のセンサデータに基づいて、人体の運動状態に関わる指標(運動指標)として、移動速度(走行速度)及びストライドを推定して提供する機能を有している。ここで、データ解析装置200は、後述するデータ解析プログラムを実行できる機能を有するものであれば、ノート型やデスクトップ型のパーソナルコンピュータであってもよいし、スマートフォン(高機能携帯電話機)やタブレット端末のような携帯情報端末であってもよい。また、データ解析装置200は、データ解析プログラムをネットワーク上のクラウドシステムを利用して実行する場合には、当該クラウドシステムに接続された通信端末であってもよい。
データ解析装置200は、具体的には、例えば図1(b)に示すように、表示部210と、記憶部230と、制御部(時系列角度データ生成部、時系列速度データ生成部、運動指標算出部)240と、入力操作部250と、有線通信I/F260と、を備えている。
表示部210は、例えばカラー表示が可能な液晶方式や、有機EL素子等の発光素子方式の表示パネルを有し、少なくとも後述する入力操作部250を用いた入力操作の際に関連する情報等を所定の形態で表示する。具体的には、表示部210は、後述する記憶部230に保存されたセンサデータ(加速度データ、角速度データ)や、これらのセンサデータに基づいて算出される走行速度やストライドを示すグラフ、各種の設定メニュー等を表示する。
記憶部230は、後述する有線通信I/F260を介してセンサ機器100から転送されたセンサデータを所定の記憶領域に保存する。ここで、記憶部230に蓄積されるセンサデータは、例えば走行方法(トレーニングメニュー等)やコース条件(コースの種類や走行距離、コーナー角度等)に関連付けて時系列的に保存される。また、記憶部230に蓄積されるセンサデータは、特定の一ユーザのものであってもよいし、複数のユーザのものであってもよい。また、記憶部230は、後述する制御部240において、所定の制御プログラムやアルゴリズムプログラムを実行して、走行速度やストライドを示すデータやグラフを生成する際や、表示部210に各種の情報を表示する際に使用するデータや生成されるデータを保存する。なお、記憶部230は、制御部240において実行される制御プログラムやアルゴリズムプログラムが保存されるものであってもよい。また、記憶部230は、その一部又は全部が、例えばメモリカード等のリムーバブル記憶媒体としての形態を有し、データ解析装置200に対して着脱可能に構成されているものであってもよい。
制御部240は、CPUやMPU等の演算処理装置であって、所定の制御プログラムを実行することにより、表示部210における各種情報の表示や、後述する有線通信I/F260におけるセンサ機器100からのセンサデータの転送、記憶部230におけるセンサデータの保存や読出し等の、各種の動作を制御する。また、制御部240は、記憶部130に保存されている所定のアルゴリズムプログラムを実行することにより、ユーザUSが所望するトレーニングや試技について、対応するセンサデータを記憶部230から抽出し、ユーザUSによる入力操作(編集操作)の内容を反映しつつ、走行速度やストライドを示すデータやグラフを生成する解析処理を行う。ここで、制御部240において実行される制御プログラムやアルゴリズムプログラムは、制御部240の内部に予め組み込まれているものであってもよい。なお、本実施形態に係るデータ解析方法については、詳しく後述する。
入力操作部250は、データ解析装置200に付設されるキーボードやマウス、タッチパッド、タッチパネル等の入力手段である。入力操作部250は、ユーザUSが表示部210に表示される任意の項目やアイコンを選択したり、画面表示中の任意の位置を指示したりすることにより、当該項目やアイコン、位置に対応する機能が実行される。特に、本実施形態においては、入力操作部250は、記憶部230に保存されたセンサデータから解析処理を行うトレーニングや試技を選択する際や、選択されたトレーニングや試技に対応するセンサデータから走行速度やストライドを示すデータやグラフを生成する際の入力操作に用いられる。ここで、入力操作部250に適用される入力手段は、例えば上述した各種の入力手段のうち、いずれか1つを備えているものであってもよいし、複数の入力手段を備えているものであってもよい。
有線通信I/F260は、少なくとも、上述したセンサ機器100から送信されるセンサデータを受信して記憶部230に転送する機能を有している。ここで、有線通信I/F260において、センサ機器100からセンサデータを受信する手法としては、上述したUSBケーブル等を介した有線通信方式を適用することができる。
コントロール機器300は、少なくともセンサ機器100に対して、所定の無線通信方式を用いて接続され、ユーザUSがコントロール機器300の操作部を操作することにより、コントロール機器300からセンサ機器100にログ開始又はログ終了を指示する命令信号が送信される。これにより、センサ機器100において、加速度計測部110や角速度計測部120におけるセンシング動作の開始又は終了が制御される。ここで、コントロール機器300とセンサ機器100との間で各種の信号を伝送する手法としては、上述したブルートゥース(Bluetooth(登録商標))やワイファイ(WiFi;wireless fidelity(登録商標))等の各種の無線通信方式を適用することができる。なお、コントロール機器300は、上記のセンサ機器100におけるセンシング動作の制御の他、センサ機器100において取得されたセンサデータや、センサ機器100の動作状態、時刻情報等を表示(又は報知)する機能を有しているものであってもよい。
なお、本実施形態に係る運動支援装置においては、有線通信によりセンサ機器100とデータ解析装置200との間でデータ伝送を行い、無線通信によりセンサ機器100とコントロール機器300との間でデータ伝送を行う構成を示したが、本発明はこれに限定されるものではない。すなわち、無線通信によりセンサ機器100とデータ解析装置200との間でデータ伝送するものであってもよいし、有線通信によりセンサ機器100とコントロール機器300との間でデータ伝送するものであってもよい。また、センサ機器100の記憶部130やデータ解析装置200の記憶部230を構成するメモリカード等のリムーバブル記憶媒体を差し替えることにより、センサ機器100からデータ解析装置200にセンサデータを伝送する手法を適用するものであってもよい。
また、本実施形態においては、コントロール機器300として、図1(a)に示すように、ユーザUSの手首に装着する腕時計型(又はリストバンド型)の形態を有する機器を示したが、本発明はこれに限定されるものでない。すなわち、コントロール機器は、例えばポケットに収納されたり、上腕部に装着されたりしたスマートフォン等の携帯情報端末や専用端末であってもよいし、センサ機器100とは別個の機器を用いることなく、センサ機器本体にログ開始又はログ終了を指示する操作スイッチを設けたものであってもよい。
(データ解析方法)
次に、本実施形態に係る運動支援装置における制御方法(データ解析方法)について、図面を参照して説明する。ここでは、本実施形態に係るセンサ機器100における運動中のセンサデータの収集、蓄積から、データ解析装置200における運動状態に関わる指標(走行速度、ストライド)を推定してユーザに提供するまでの、一連の制御処理について説明する。
図2は、本実施形態に係る運動支援装置の制御方法(データ解析方法)の一例を示すフローチャートであり、図3は、本実施形態に係るデータ解析方法において生成される角速度データの積分値と時系列角度データとの関係を示す図である。図4は、本実施形態に係るデータ解析方法において生成される時系列角度データと時系列速度データの表示例を示す図である。図5は、本実施形態に係るデータ解析方法における入力操作(編集操作)を説明するための表示例を示す図である。図6は、本実施形態に係るデータ解析方法における入力操作(編集操作)の具体例を示す図である。
本実施形態に係る運動支援装置における制御方法(データ解析方法)は、大別して、ランニング時の運動状態に関する各種のセンサデータを収集して蓄積する手順(センサデータ収集手順)と、収集したセンサデータに基づいて運動状態に関わる指標(走行速度、ストライド)を推定して表示する手順(指標推定手順)と、を有している。ここで、指標推定手順におけるユーザの入力操作(編集操作)の補助、及び、指標を示すデータやグラフの生成処理は、データ解析装置200の制御部240において実行される所定のアルゴリズムプログラムに基づいて実現される。
センサデータ収集手順においては、まず、図1(a)に示したように、ユーザUSがセンサ機器100を腰部に装着した状態で、競技場のトラックや所定のランニングコース、マラソンコースのような、ユーザの進行方向におけるコースの角度が互いに異なる複数の区間(例えばトラックのストレートとカーブ等)を有し、且つ、全体の距離及び各区間の距離が既知である(判明している)コースを、ランニング等により走行する。ここで、ランニングを開始する際に、ユーザUSが手首等に装着したコントロール機器300を操作することにより、コントロール機器300からセンサ機器100にログ開始を指示する命令信号が送信される。これにより、センサ機器100の制御部140は、加速度計測部110及び角速度計測部120におけるセンサデータ(加速度データ、角速度データ)の計測を開始し、記憶部130に順次保存する。そして、ランニングを終了する際に、ユーザUSがコントロール機器300を操作することにより、センサ機器100にログ終了を指示する命令信号が送信されて、加速度計測部110及び角速度計測部120におけるセンサデータの計測が終了する。これにより、ランニング中の動作状態を示すセンサデータが、時間データに関連付けられて取得される。
次いで、センサ機器100とデータ解析装置200とをUSBケーブルで接続することにより、走行中に蓄積されたセンサデータがセンサ機器100からデータ解析装置200に転送され、記憶部230に保存される。ここで、ユーザUSは、センサ機器100からデータ解析装置200にセンサデータを転送する際(又は、記憶部230に保存されたセンサデータを表示部210で参照しつつ)、当該センサデータを取得した際のランニング(運動状態)に関する諸情報を、入力操作部250を用いて入力する。具体的には、ランニング時の走行方法(トレーニングメニュー等)やコース条件(コースの種類や走行距離、コーナー角度等)、ユーザ名等の項目情報が入力される。
次いで、制御部240は、記憶部230に保存されたセンサデータのうちの加速度データに対して軸補正処理を実行する。一般に、人体の体幹に装着したセンサ機器100は、ランニング等の運動中の上体の揺れや傾きの影響を受けるため、重力方向の軸と、センサ機器100により検出される人体の上下方向の加速度の軸との間に差異が生じている。そのため、センサ機器100により取得された角速度データの値に基づいて、時刻ごとに異なる上記軸方向の差異成分を相殺する補正を行う必要がある。
軸補正処理は、具体的には、まず、制御部240によりセンサ機器100により取得された角速度データに基づいて、各時刻の重力方向を推定する。そして、制御部240は、推定した重力方向と加速度データの上下方向が一致するように、加速度データの各軸を回転することで、加速度データの値を補正する。この補正後の加速度データと角速度データは、補正後センサデータとして記憶部230の所定の記憶領域に保存される。
次いで、指標推定手順においては、制御部240は、上記の補正後センサデータを解析して、ランニング時の運動状態に関わる指標として、ピッチ、上下動、接地時間等をランニング動作の一歩毎に計算し、さらに、走行速度及びストライドを算出して推定する処理を実行する。ここで、本実施形態においては、走行速度及びストライドの算出処理(推定処理)について、ユーザUSによる入力操作(編集操作)を前提とし、当該編集内容を反映した推定処理を実行する。なお、本実施形態においては、説明を簡明にするために、典型的なストレート区間とカーブ区間の2種類の、コースの角度が互いに異なる2つの区間を有する陸上競技場等のトラックを、ユーザUSが走行する場合を想定するものとする。しかしながら、本実施形態の対象となるコースは、このようなトラックに限定されるものではなく、走行距離が既知であれば、コースの角度が互いに異なる、3つ以上の区間(例えばストレート区間、緩いカーブ区間、急なカーブ区間等)を有するコースであっても同様の概念を適用することができる。
具体的には、指標推定処理においては、まず、ユーザUSがデータ解析装置200の入力操作部250を用いて、記憶部230に保存された任意の補正後センサデータを選択する。これにより、制御部240は、所定のアルゴリズムプログラム(データ解析プログラム)を実行して、図2のフローチャートに示すように、当該補正後センサデータについて、鉛直軸回りの角速度を積分する(ステップS102)。ここで、鉛直軸とは、地表に垂直な重力方向を示す軸であって、制御部240は、補正後センサデータから当該鉛直軸回りの角速度データを抽出して積分処理する。この角速度データを積分処理した結果は、例えば図3(a)中の破線で示される。
次いで、制御部240は、上記の角速度データを積分処理した結果について、ランニング動作の周期ごとに平均値を算出し、時系列角度データを生成する(ステップS104)。この時系列角度データは、例えば図3(a)中の実線で示される。ここで、周期とは、ランニング時に正面を向いている時を起点として、2歩進んだ後、再び正面を向くまでの期間とする。具体的には、例えば図3(b)に示すように、周期的な変化を繰り返す時系列角度データにおいて、ランニング動作の2歩分(角度が正方向及び負方向に1回ずつ振れる期間)が1周期を示す。あるいは、ランニング動作の周期は、センサデータのうちの上下方向の加速度データから検出される左右の足の着地タイミングに基づいて1周期を算出するものであってもよい。また、図3(a)に示した時系列角度データにおいて、時間の経過とともに角度が増加する領域R1はカーブ区間を示し、時間の経過に関わらず角度が略一定(略均等)の領域R2はストレート区間を示す。すなわち、ユーザUSがストレート区間とカーブ区間を交互に繰り返す陸上競技場等のトラックを走行する場合、図3(a)に示した時系列角度データは、当該トラックの連続するカーブ区間(領域R1)とストレート区間(領域R2)に相当する。
次いで、制御部240は、例えば図4の上段に示すように、生成した時系列角度データを表示部210の画面上にグラフの形態で表示する。ここで、図4の上段に示したグラフは、ストレート区間(図中、「直線」区間に相当)とカーブ区間(図中、「曲線」区間に相当)とを交互に繰り返すトラック(ストレート区間:2箇所、カーブ区間:2箇所)を複数回周回した場合の、時系列角度データを示している。なお、図4の上段における縦軸の角度の値は、走り始めからの角度の値の絶対値の累積値を示している。
そして、ユーザUSは、データ解析装置200の表示部210に表示された時系列角度データのグラフ(図4の上段)を視認して、マウス等の入力操作部250を用いて手動で各ストレート区間及び各カーブ区間を選択(又は規定)する(ステップS106)。ここで、図3(a)、図4の上段に示したように、時系列角度データにおいてはストレート区間とカーブ区間で角度の増減の傾向が異なる。例えば、角速度にノイズやドリフト成分が含まれていない場合には、ストレート区間を走行中の角度は一定になる。このことから、時系列角度データのグラフ(図4の上段)において、ストレート区間とカーブ区間をユーザUSが目で見て比較的容易に判断することができる。そこで、本実施形態においては、ユーザUSが表示部210に表示された時系列角度データのグラフ(図4の上段)を視認して、各ストレート区間とカーブ区間の境界となる切り替わりを示す点(切替点CP)を、一つずつマウス等の入力操作部250を用いて指定(又は選択)する。図4の上段においては、表示部210に表示された時系列角度データD1のグラフに対して、マウスポインタMPで上記切替点CPを順次クリックして指定(又は選択)した状態を示している。
上記の切替点CPを順次指定する入力操作により、ストレート区間及びカーブ区間が規定されて、各区間を走行するために要した時間が判明する。また、本実施形態の対象となるコース(ランニングを行ったトラック)のストレート区間及びカーブ区間の距離は予め判明している。これにより制御部240は、判明した各区間の所要時間と、既知である各区間の距離とに基づいて、次の(1)式によりランニング中の走行速度を算出する。
走行速度(m/s)= 区間距離(m)/所要時間(s) ・・・(1)
これにより、制御部240は、時系列速度データを生成し(ステップS108)、例えば図4の下段に示すように、生成した時系列速度データを表示部210の画面上にグラフの形態で表示する。
次いで、ユーザUSは、上記の時系列速度データの変化の程度に応じて、時系列角度データを修正する編集作業を行う。すなわち、ランニング等の走行動作における速度(走行速度)は、少なくとも連続するストレート区間とカーブ区間とでは急激に変化することはなく、緩やかに変化することが一般的である。そこで、このような仮定に基づいて、ユーザUSは、表示部210の画面上に表示された時系列速度データのグラフ(図4の下段)を目で見て、時系列速度データにおける連続(又は隣接)するストレート区間(直線)とカーブ区間(曲線)とにおいて、速度変化が大きい箇所に着目する。例えば、ユーザUSは、図4の下段において、速度変化が比較的大きい箇所VPに着目する。
そして、ユーザUSは、マウス等の入力操作部250を用いて図4の上段の時系列角度データのグラフにおいて、上記の着目した箇所VPに対応するストレート区間とカーブ区間の切替点CPaの位置を、例えば図5の上段に示すように、マウスポインタMPでドラッグして(図中矢印のように、上下左右の任意の位置に移動させて)修正する。これにより、図5の下段に示すように、時系列速度データの着目した箇所VPにおける速度変化が小さくなる(低減される)ように調整される。
この時系列角度データにおける切替点の位置の修正操作は、具体的には、まず、ユーザUSが図4の下段に示された時系列速度データのグラフを見て、速度変化の大きい箇所VPに着目する。そして、図5の上段に示すように、ユーザUSは着目箇所VPに対応する位置の切替点CPaをマウスポインタMPでクリック(又はドラッグ)して選択する。これにより、制御部240は、図6(a)に示すように、切替点CPaが選択されている間、当該切替点CPaと隣接する切替点(両隣に位置する切替点;例えば切替点CPb)との間に、切替点相互を結ぶ補助線Lsx、Lcxを表示する。ユーザUSは、マウスを操作して、マウスポインタMPにより選択されている切替点CPaを画面上で上下左右(図中矢印参照)の任意の位置に移動させて、図6(b)に示すように、それぞれの補助線Lsx、Lcxが時系列角度データD1のストレート区間及びカーブ区間の各変化傾向に一致する、又は、同等となるように(図中、直線Ls、Lc参照)、切替点CPaの位置を修正(調整)する。このような修正操作により、ストレート区間及びカーブ区間が再選択(又は再規定)されたことになるため、制御部240は、修正された切替点CPaの位置により判明した各区間における所要時間に基づいて、上記(1)式により走行速度を再計算する。これにより、制御部240は、時系列速度データを再生成して図5の下段に示ように、表示部210の画面上にグラフを再表示する。ユーザUSは、再表示された時系列速度データのグラフを見て、隣接するストレート区間とカーブ区間における速度変化の程度(大小)を判断する。
すなわち、このような修正操作により、時系列角度データにおいて切替点CPの位置が修正されて、上述したステップS106と同様に、ストレート区間及びカーブ区間が再選択(又は再規定)される。さらに、上述したステップS108と同様に、修正された切替点CPの位置により判明した所要時間と、既知である各区間の距離とに基づいて、(1)式によりランニング中の各ストレート区間及びカーブ区間の走行速度が再計算されて、時系列速度データが再生成される。
そして、ユーザUSは、上述した修正操作を、時系列速度データにおける速度変化が所望の小ささ(すなわち、速度変化が緩やか)になるまで、各切替点CPについて繰り返し実行する。そして、ユーザUSが時系列速度データの変化が緩やかであると判断した場合には、例えば図4、図5に示された表示部210の画面上の「編集終了」のメニューを選択することにより、一連の編集作業を終了する(ステップS110)。
次いで、制御部240は、上記の編集作業により生成(再計算)された時系列速度データにおける各ストレート区間及びカーブ区間の値を、走行速度として記憶部230の所定の記憶領域に保存する(ステップS112)。
また、制御部240は、各ストレート区間及びカーブ区間について、上記のようにして再計算された走行速度と、随時計算されるピッチとに基づいて、次の(2)式によりランニング中のストライドを算出して、記憶部230の所定の記憶領域に保存する(ステップS114)。ここで、ピッチは、1分間の歩数であるので、例えば、各区間について、記憶部230に保存された加速度データのうちの上下方向の成分の信号波形における、1分当たりの周期の回数を計測することにより取得される。
ストライド(m/歩) = 走行速度(m/s)/ピッチ(歩/s) ・・・(2)
このように、本実施形態においては、走行距離が既知であり(判明しており)、かつ、コースの角度が互いに異なる複数の区間を有するコース(例えば、ストレート及びカーブを有する陸上競技場のトラック等)を走行した時の走行速度及びストライドを、GPSを用いることなく、モーションセンサにより時系列的に収集されたセンサデータのうちの鉛直軸回りの角速度(又は、時系列角度データ)に基づいて推定することができる。ここで、本実施形態においては、上記の走行速度及びストライドの算出に際して、ユーザUSによる入力操作(時系列角度データにおける各ストレート区間及びカーブ区間を規定する切替点の位置を修正する編集操作)の内容を反映させることができる。
すなわち、一般に、ジャイロセンサ(角速度計測部)で取得した角速度を積分した場合、角速度データに含まれるノイズやドリフト成分の影響で誤差が大きくなってしまい、例えば、ストレート区間を走行している場合であっても、角度が増減してしまうという問題を有している。これに対して、本実施形態においては、角速度データに含まれるノイズやドリフト成分が時間経過に対して大きく変化しない場合には、ユーザUSによる入力操作(各ストレート区間及びカーブ区間を規定する切替点の位置を修正する編集操作)の内容を反映した推定処理により、時系列角度データにおける各ストレート区間及びカーブ区間を精度よく推定することができる。
これにより、ユーザUSのランニング中の運動状態に関わる指標(走行速度及びストライド)が的確に推定され、その結果が表示部210の画面上にグラフや数値の形態で表示されるので、ユーザUSは視覚を通じて当該運動状態を把握し、その判断や改善に役立てることができる。
<第2の実施形態>
(データ解析方法)
次に、第2の実施形態に係る運動支援装置における制御方法(データ解析方法)について、図面を参照して説明する。なお、上述した第1の実施形態と同等の構成や手法については、同等の符号を付して説明を簡略化する。
図7は、第2の実施形態に係る運動支援装置の制御方法(データ解析方法)の一例を示すフローチャートであり、図8は、本実施形態に係るデータ解析方法における区間推定処理の一例を示すフローチャートである。図9は、本実施形態に係るデータ解析方法における階級選択処理を説明するための概念図である。図10は、本実施形態に係るデータ解析方法における区間推定処理を説明するための概念図である。図11は、本実施形態に係るデータ解析方法における区間決定処理を説明するための概念図である。図12は、本実施形態に係るデータ解析方法において生成される時系列角度データと時系列速度データと角度ヒストグラムの表示例を示す図である。図13は、本実施形態に係るデータ解析方法における区間修正処理を説明するための表示例を示す図である。
上述した第1の実施形態に係るデータ解析方法においては、ユーザUSが入力操作部を用いて、ランニングコースの各ストレート区間及びカーブ区間を規定する切替点を指定することにより生成された時系列角度データに基づいて、各区間における走行速度とストライドを算出する手法を示した。第2の実施形態に係るデータ解析方法においては、陸上競技場等のトラックを何十周も走行する場合等に、各ストレート区間及びカーブ区間を規定する切替点を指定するユーザUSの入力操作の負担を軽減する手法を有している。なお、第2の実施形態においても、後述する指標推定手順において実行される走行速度及びストライドの推定処理は、データ解析装置200の制御部240において所定のアルゴリズムプログラムを実行することにより実現される。
第2の実施形態に係るデータ解析方法においては、まず、上述した第1の実施形態と同様に、センサデータ収集手順が実行されて、センサ機器100によりユーザUSのランニング中の動作状態を示すセンサデータが取得され、当該センサデータがデータ解析装置200に転送されて記憶部230に保存される。
次いで、指標推定手順においては、図7のフローチャートに示すように、まず、上述した第1の実施形態と同様に、記憶部230に保存された任意の補正後センサデータについて、鉛直軸回りの角速度を積分する(ステップS202)。次いで、制御部240は、上記の角速度を積分処理した結果について、ランニング動作の周期ごとに平均値を算出し、時系列角度データを生成し(ステップS204)、例えば図12の上段に示すように、表示部210の画面上にグラフの形態で表示する。
次いで、制御部240は、鉛直軸回りの角速度を所定周期ごとに積分する。例えば、所定周期を5周期に設定した場合、走り始めから5周期分の角速度を積分した値を角度として記憶部230に保存し、次いで、5周期分をずらした次の5周期分の角速度を積分した値を角度として記憶部230に保存する処理を、上記の所定周期ごとに繰り返し実行する(ステップS206)。ここで、所定周期は、陸上競技場等のトラックのような場合には、例えば5周期程度に設定すればよいが、比較的短い距離で区間が変わるような場合には、より短い周期を設定することが好ましい。
次いで、制御部240は、上記の計算結果に基づいて、後述する角度変化のヒストグラムを生成するための階級幅を算出する(ステップS208)。具体的には、例えば周知の手法である「スタージェスの公式」を適用して階級幅を決定するものであってもよいし、階級幅を計算する対象となるデータ数に応じて、他の手法を適用するものであってもよい。
次いで、制御部(角度ヒストグラム生成部)240は、上記のステップS208により算出され決定された階級幅に基づいて、上記所定周期毎の角度の変化(角度変化)の頻度(度数)を示す角度ヒストグラムを生成し(ステップS210)、例えば図12の下段に示すように、表示部210の画面上に表示する。ここで、本実施形態のように、所定の角度を有するストレート区間とカーブ区間を有するトラックを走行した場合、角度変化のヒストグラムは、例えば図9(a)の左図に示すように、カーブ区間では角度が「0」から離れた位置に度数が極大となる分布を示し、また、ストレート区間ではカーブ区間の分布よりも角度が「0」に近い位置に度数が極大となる分布を示すという特徴を有している。このことから、図9(a)の左図に示すような角度ヒストグラムにおいて、ストレート区間とカーブ区間に相当する階級をユーザUSが目で見て比較的容易に判断することができる。そこで、本実施形態においては、表示部210に表示された角度ヒストグラムをユーザUSが視認して、マウス等の入力操作部250を用いて、例えば左クリック、右クリック等の操作により、図9(b)、(c)の左図のようにストレート区間及びカーブ区間に相当する階級を選択する(ステップS212)。
そして、ユーザUSは、上記のステップS212におけるストレート区間及びカーブ区間に相当する階級を選択する入力操作を完了する場合には、例えば完了を示すボタンやアイコンをマウスカーソルによりクリック操作して上記の階級選択処理を終了する。これにより、制御部240は、図9(a)の右図のような階級が選択される前の状態の時系列角度データのストレート区間及びカーブ区間に、図9(b)、(c)の右図に示すように、ユーザUSによる階級の選択操作の結果を反映させて表示部210に表示する(ステップS214)。ここで、図9に示した階級選択処理は、センサデータにノイズやドリフト成分が含まれていない理想的な状態における角度ヒストグラムや時系列角度データを用いた場合の概念を示すものである。
次いで、制御部240は、ユーザUSにより選択された階級が反映された時系列角度データに基づいて、ストレート区間及びカーブ区間を推定する処理を実行する(ステップS216)。ここで、以下に示すストレート区間及びカーブ区間の推定処理は、センサデータにノイズやドリフト成分が含まれている状態の時系列角度データに適用して、上記のノイズやドリフト成分の影響を除去又は低減するためのものである。すなわち、センサデータにノイズやドリフト成分が含まれていない、あるいは、その影響をほとんど受けない場合には、ステップS216及び図8に示すストレート区間及びカーブ区間の推定処理を省略するものであってもよい。
本実施形態においては、上記のステップS212、S214における角度ヒストグラムの階級の選択操作の結果に基づいて、例えば図10(a)に示すように、時系列角度データがストレートとカーブの2つのクラスタに分類されている。ここで、図10に示す時系列角度データは、図9の右図に示したような、理想的な状態における時系列角度データとは異なり、センサデータにノイズやドリフト成分が含まれている、より現実的な状態における時系列角度データの一例である。
本実施形態におけるストレート区間及びカーブ区間の推定処理においては、図8のフローチャートに示すように、制御部240は、時系列角度データ上で分類されているストレートとカーブのクラスタを、次の手順で所定の時間以内でのまとまりからグループ化する(ステップS252)。
具体的には、制御部240は、まず、時系列角度データ上の同じクラスタで時間的に連続している点を、例えば図10(b)に示すように、同一のグループとしてまとめる。図10(b)においては、ストレート1〜3とカーブ1〜3にグループ化した状態を示している。ここで、ストレート2とカーブ2に含まれる点は、センサデータに含まれているノイズやドリフト成分に起因する異常値である。
次いで、制御部240は、同じクラスタ内のグループ同士を比較し、所定時間Ta以上離れていないグループ同士を統合する。例えば図10(b)において、同じクラスタ内のストレート1、2、3の各グループに着目し、グループ相互が例えば10秒以上離れていない場合には、例えば図10(c)に示すように、これらのグループが1つのグループ(ストレート1)に統合される。ここで、グループ同士の統合の可否を判断するための所定時間Taは、本実施形態のようにトラックを走行する場合には、例えば10秒程度に設定することが好ましい。
次いで、制御部240は、上記のグループの統合後、例えば図10(d)に示すように、各グループ内に存在する所定時間Tb以下のグループを削除する。図10(d)においては、ストレート1のグループ内に存在するカーブ2のグループを削除した状態を示している。ここで、グループの削除の可否を判断するための所定時間Tbは、本実施形態のようにトラックを走行する場合には、例えば10秒程度に設定することが好ましい。
次いで、制御部240は、グループ化されたクラスタごとに最小二乗法を用いて直線を算出する(ステップS254)。具体的には、例えば図11(a)に示すように、時系列角度データにおいてグループG1〜G4をそれぞれ含む各クラスタについて、例えば図11(b)に示すように、各クラスタ(グループG1〜G4)の角度の時間変化の傾向を示す直線L1〜L4が算出される。
次いで、制御部240は、時間的に隣接する異なるクラスタの直線の交点を算出する(ステップS256)。具体的には、例えば図11(b)に示すように、時系列角度データ上のクラスタ(グループG1〜G4)ごとに算出された直線L1〜L4について、例えば図11(c)に示すように、時間的に隣接する異なるクラスタの直線相互の交点が算出される。図11(c)においては、直線L1とL2の交点CP1、直線L2とL3の交点CP2、直線L3とL4の交点CP3を算出した状態を示している。
次いで、制御部240は、時間的に隣接する2つの交点間の区間を、その区間のクラスタの属性に基づいて、ストレート区間、カーブ区間と決定して記憶部230に保存する(ステップS258)。具体的には、例えば図11(c)に示すように、時系列角度データ上のクラスタ(グループG1〜G4)ごとの直線L1〜L4に基づいて算出された交点CP1〜CP3について、隣接する交点間の区間が、例えば当該区間のクラスタに含まれるグループG1〜G4における角度の時間変化の傾向(又は、直線L1〜L4の傾き)に基づいて、例えば図11(d)に示すように、各区間がストレート区間又はカーブ区間として決定される。図11(d)においては、交点CP1とCP2間の区間をストレート区間、交点CP2とCP3間の区間をカーブ区間と決定した状態を示している。
このような一連の処理動作により、時系列角度データにおけるストレート区間及びカーブ区間の推定処理が実行される。
次いで、図7に示したフローチャートに戻って、制御部240は、上記のステップS216において決定(推定)したストレート区間及びカーブ区間の所要時間と、既知である各区間の距離とに基づいて、第1の実施形態に示した(1)式によりランニング中の走行速度を算出して時系列速度データを生成する(ステップS218)。制御部240は、例えば図12の中段に示すように、生成した時系列速度データを表示部210の画面上にグラフの形態で表示する。
次いで、ユーザUSは、表示部210の画面上に表示された時系列速度データのグラフ(図12の中段)を目で見て、時系列速度データにおける連続(又は隣接)するストレート区間とカーブ区間との速度変化が緩やかであるか否かを判断する(ステップS220)。ユーザUSが時系列速度データの変化が緩やかであると判断して、例えば図12に示された表示部210の画面上の「編集終了」のメニューを選択することにより、制御部240は、生成された時系列速度データにおける各ストレート区間及びカーブ区間の値を、走行速度として記憶部230の所定の記憶領域に保存する(ステップS228)。
また、制御部240は、各ストレート区間及びカーブ区間について、上記のようにして計算された走行速度と、随時計算されるピッチとに基づいて、第1の実施形態に示した(2)式によりランニング中のストライドを算出して、記憶部230の所定の記憶領域に保存する(ステップS230)。
一方、上記のステップS220において、ユーザUSが時系列速度データの変化が緩やかではないと判断した場合には、時系列速度データにおける各ストレート区間及びカーブ区間を修正する処理が実行される。ここで、本実施形態においては、時系列速度データにおけるストレート区間及びカーブ区間の修正処理として、角度ヒストグラムにおける階級幅を変更する手法(第1の手法)と、上述した第1の実施形態に示した時系列角度データにおける切替点の位置を変更する手法(第2の手法)とが適用される。
具体的には、まず、ユーザUSは、角度ヒストグラムにおける階級幅を変更する第1の手法を用いるか、時系列角度データにおける切替点の位置を変更する第2の手法を用いるかを選択する(ステップS222)。上記の第1の手法を選択した場合には、ユーザUSは、図12の下段に示された角度ヒストグラムにおける階級幅を、入力操作部250を用いて任意の数値を入力して、現在設定されている数値から変更する(ステップS226)。これにより、制御部240は、ステップS210に戻って、ユーザUSにより変更された階級幅に基づいて、角度ヒストグラムを再度生成し、例えば図13の下段に示すように、表示部210の画面上に表示する。図13の下段においては、図12の下段に示された角度ヒストグラムにおける階級幅を、「8.508(degree)」から「4.5(degree)」に変更した場合の角度ヒストグラムを示している。
そして、上記のステップS212〜S218が再度実行されて、制御部240は、ユーザUSによる各区間に相当する階級の再選択操作の結果を時系列角度データに反映させて、ストレート区間及びカーブ区間を再度推定し、その推定結果と区間距離に基づいて時系列速度データを再生成する。
一方、上記のステップS222において、ユーザUSが上記の第2の手法を選択した場合には、上述した第1の実施形態に示したデータ解析方法におけるステップS106、S108と同様の処理が実行される。すなわち、ユーザUSは、表示部210に表示された時系列角度データのグラフ(図12の上段)を視認して、入力操作部250を用いて手動で各ストレート区間及びカーブ区間を規定する切替点の位置を修正して(ステップS224)、時系列速度データにおけるストレート区間とカーブ区間との速度変化が小さく(緩やかに)なるように調整する。これにより、制御部240は、修正された切替点CPの位置により判明した各区間の所要時間に基づいて走行速度を再度計算して、時系列速度データを再生成する。
本実施形態においては、このような時系列速度データにおけるストレート区間及びカーブ区間の修正処理が、ステップS220においてユーザUSが時系列速度データの変化が緩やかであると判断するまで(あるいは、ユーザUSが例えば図12に示された表示部210の画面上の「編集終了」のメニューを選択するまで)繰り返し実行される。
このように、本実施形態においても、上述した第1の実施形態と同様に、走行距離が既知であり、かつ、コースの角度が互いに異なる複数の区間を有するコース(例えば、陸上競技場のトラック等)を走行した時の走行速度及びストライドを、GPSを用いることなく、時系列角度データに基づいて推定することができる。ここで、本実施形態においては、上記の走行速度及びストライドの算出に際して、ユーザUSによる入力操作(少なくとも、角度ヒストグラムにおけるストレート区間及びカーブ区間に対応する階級を設定して選択する編集操作、さらには、時系列角度データにおける各区間を規定する切替点の位置を修正する編集操作を含む場合もある)の内容を反映させることができる。
すなわち、本実施形態においても、角速度データに含まれるノイズやドリフト成分が時間経過に対して大きく変化しない場合には、ユーザUSによる入力操作(角度ヒストグラムにおけるストレート区間及びカーブ区間に対応する階級を設定して選択する編集操作)の内容を反映した推定処理により、時系列角度データにおける各ストレート区間及びカーブ区間を精度よく推定することができる。
これにより、ユーザUSによる入力操作の負担を軽減しつつ、ランニング中の運動状態に関わる指標(走行速度及びストライド)を的確に推定することができ、その結果が表示部210の画面上にグラフや数値の形態で表示されるので、ユーザUSは視覚を通じて当該運動状態を把握し、その判断や改善に役立てることができる。
なお、上述した各実施形態においては、説明を簡明にするために、ユーザUSが陸上競技場等のトラックを周回走行する場合について具体的に説明したが、本発明はこれに限定されるものではない。本発明は、走行距離が既知であり、かつ、コースの角度が互いに異なる複数の区間(ストレートや角度の異なるカーブ等)を有するコースを走行するものであれば、任意のランニングコースやマラソン大会のコース等を走る場合であっても、ストレート区間及びカーブ区間を精度よく推定して、ランニング中の運動状態に関わる指標(走行速度及びストライド)をユーザに提供することができる。
以上、本発明のいくつかの実施形態について説明したが、本発明は、上述した実施形態に限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
(付記)
[1]
利用者が既知の距離を有するコースを移動する運動中に、前記利用者に装着されたセンサから時系列的に収集された角速度データに基づいて、前記運動中に移動した経路の前記利用者の進行方向における角度の変化を示す時系列角度データを生成する時系列角度データ生成部と、
入力された指示に基づいて、前記時系列角度データにおける前記角度の変化傾向が異なる複数の区間を規定する入力操作部と、
前記入力操作部による指示により規定された前記複数の区間の各々の移動に要した時間と、前記各区間の距離の値とに基づいて、前記各区間の移動速度を示す時系列速度データを生成する時系列速度データ生成部と、
少なくとも、前記時系列角度データ及び前記時系列速度データを所定の形態で表示する表示部と、
を有することを特徴とするデータ解析装置。
[2]
更に、前記各区間の前記移動速度に基づく指標を運動指標として提供する運動指標算出部を備えることを特徴とする[1]に記載のデータ解析装置。
[3]
前記入力操作部は、前記表示部にグラフ化して表示された前記時系列角度データに対して、前記指示として、連続する前記各区間の境界となる切替点が入力されて、入力された前記切替点に基づいて前記各区間を規定することを特徴とする[1]又は[2]に記載のデータ解析装置。
[4]
前記データ解析装置は、
前記角速度データに基づいて、前記運動中に移動した前記経路における前記角度の変化の頻度を示す角度ヒストグラムを生成する角度ヒストグラム生成部を備え、
前記入力操作部は、前記角度ヒストグラムにおける前記各区間に相当する階級及び当該階級の幅を指示することにより、前記各区間を規定することを特徴とする[1]に記載のデータ解析装置。
[5]
前記時系列角度データ生成部及び前記時系列速度データ生成部は、前記入力操作部による前記各区間を変更して再度規定するための指示に基づいて、前記時系列角度データ及び前記時系列速度データを再度生成することを特徴とする[1]乃至[4]のいずれかに記載のデータ解析装置。
[6]
前記センサは、前記利用者の身体の体幹に装着されたモーションセンサを有し、
前記センサデータは、前記モーションセンサにより時系列的に収集された、前記運動中の加速度及び角速度を含むことを特徴とする[1]乃至[5]のいずれかに記載のデータ解析装置。
[7]
利用者が既知の距離を有するコースを移動する運動中に、前記利用者に装着されたセンサから時系列的に収集された角速度データに基づいて、前記運動中に移動した経路の前記利用者の進行方向における角度の変化を示す時系列角度データを生成して表示し、
表示された前記時系列角度データに対して入力された指示に基づいて、前記時系列角度データにおける前記角度の変化傾向が異なる複数の区間を規定し、
前記規定された前記複数の区間の各々の移動に要した時間と、前記各区間の距離の値とに基づいて、前記各区間の移動速度を示す時系列速度データを生成して表示する、
ことを特徴とするデータ解析方法。
[8]
コンピュータに、
利用者が既知の距離を有するコースを移動する運動中に、前記利用者に装着されたセンサから時系列的に収集された角速度データに基づいて、前記運動中に移動した経路の前記利用者の進行方向における角度の変化を示す時系列角度データを生成して表示させ、
表示された前記時系列角度データに対して入力された指示に基づいて、前記時系列角度データにおける前記角度の変化傾向が異なる複数の区間を規定させ、
前記規定された前記複数の区間の各々の移動に要した時間と、前記各区間の距離の値とに基づいて、前記各区間の移動速度を示す時系列速度データを生成して表示させる、
ことを特徴とするデータ解析プログラム。