本実施の形態の運動解析方法は、慣性センサーの検出結果を用いて、ユーザーの運動を解析し、前記ユーザーの複数の運動情報を生成することと、前記複数の運動情報のうち、所定条件を満たした運動情報を、前記ユーザーの運動中に提示することと、前記複数の運動情報のうち、少なくとも1つの運動情報を、前記ユーザーの運動終了後に提示することと、を含む。
本実施の形態の運動解析方法によれば、ユーザーの運動中には、運動状態に応じて所定条件を満たした運動情報に基づいて生成した情報を提示するので、ユーザーは提示された情報を運動中に活用しやすい。また、運動中に生成した運動情報の一部に基づく情報をユーザーの運動終了後に提示するので、ユーザーは提示された情報を運動終了後にも活用しやすい。従って、ユーザーの運動成績(例えば、運動能力、タイム等のスコア(得点)、怪我のしにくさ等)を向上させることを補助することができる。
本実施の形態の運動解析方法において、前記所定条件は、前記ユーザーの運動状態が基準よりも良いことを含んでもよい。
本実施の形態の運動解析方法によれば、ユーザーは自身の運動状態の良い点を認識しながら運動することができる。
本実施の形態の運動解析方法において、前記所定条件は、前記ユーザーの運動状態が基
準よりも悪いことを含んでもよい。
本実施の形態の運動解析方法によれば、ユーザーは自身の運動状態の悪い点を認識しながら運動することができる。
本実施の形態の運動解析方法において、前記ユーザーの運動中に提示する運動情報は、前記ユーザーの運動成績を向上させるためのアドバイスに関する情報を含んでもよい。
運動成績は、例えば、運動能力、タイム等のスコア(得点)、怪我のしにくさ等であってもよい。
本実施の形態の運動解析方法によれば、ユーザーの運動中に運動状態に応じたアドバイスを提示することで、ユーザーの運動成績を向上させることを補助することができる。
本実施の形態の運動解析方法において、前記ユーザーの運動終了後に提示する運動情報は、前記複数の運動情報のうち、前記ユーザーの運動中に提示しなかった運動情報を含んでもよい。
本実施の形態の運動解析方法によれば、ユーザーの運動中には提示しなかった情報も運動終了後に提示することで、ユーザーの運動成績を向上させることを補助することができる。
本実施の形態の運動解析方法において、前記ユーザーの運動終了後に提示する運動情報は、前記複数の運動情報のうち、前記ユーザーの運動中に提示した運動情報を含んでもよい。
本実施の形態の運動解析方法によれば、ユーザーの運動中に提示した情報を運動終了後にも提示することで、ユーザーは、運動中には認識できなかった運動状態を運動後に認識することができる。従って、ユーザーの運動成績を向上させることを補助することができる。
本実施の形態の運動解析方法において、前記ユーザーの運動終了後に提示する運動情報は、前記ユーザーの運動成績を向上させるためのアドバイスに関する情報を含んでもよい。
本実施の形態の運動解析方法によれば、ユーザーの運動終了後に運動結果に応じたアドバイスを提示することで、ユーザーの運動成績を向上させることを補助することができる。
本実施の形態の運動解析方法において、前記ユーザーの運動終了後に提示する運動情報は、前記ユーザーの運動終了後に生成した情報を含んでもよい。
本実施の形態の運動解析方法によれば、ユーザーの運動中には提示する必要のない情報を運動終了後に生成すればよいので、運動中の処理負荷を低減することができる。
本実施の形態の運動解析装置は、慣性センサーの検出結果を用いて、ユーザーの運動を解析し、前記ユーザーの複数の運動情報を生成する運動情報生成部と、前記複数の運動情報のうち、所定条件を満たした少なくとも1つの運動情報に基づいて、前記ユーザーの運動中に出力する情報である運動中出力情報を生成する運動中出力情報生成部と、前記複数の運動情報のうちの少なくとも1つの運動情報に基づいて、前記ユーザーの運動終了後に
出力する情報である運動後出力情報を生成する運動後出力情報生成部と、を含む。
本実施の形態の運動解析装置によれば、ユーザーの運動中には、運動状態に応じて所定条件を満たした運動情報に基づいて生成した情報を出力するので、ユーザーは提示された情報を運動中に活用しやすい。また、運動中に生成した運動情報の一部に基づく情報をユーザーの運動終了後に出力するので、ユーザーは提示された情報を運動終了後にも活用しやすい。従って、ユーザーの運動成績を向上させることを補助することができる。
本実施の形態の運動解析システムは、慣性センサーの検出結果を用いて、ユーザーの運動を解析し、前記ユーザーの複数の運動情報を生成する運動解析装置と、前記複数の運動情報のうち、所定条件を満たした運動情報を、前記ユーザーの運動中に出力する第1表示装置と、前記複数の運動情報のうち、少なくとも1つの運動情報を、前記ユーザーの運動終了後に出力する第2表示装置と、を含む。
第1表示装置と第2表示装置は、同じ表示装置であってもよいし、別個の表示装置であってもよい。
本実施の形態の運動解析システムによれば、ユーザーの運動中には、第1表示装置が、運動解析装置が生成した複数の運動情報のうち運動状態に応じて所定条件を満たした運動情報を出力するので、ユーザーは提示された情報を運動中に活用しやすい。また、第2表示装置が、運動解析装置がユーザーの運動中に生成した運動情報の一部に基づく情報をユーザーの運動終了後に出力するので、ユーザーは提示された情報を運動終了後にも活用しやすい。従って、ユーザーの運動成績を向上させることを補助することができる。
本実施の形態のプログラムは、慣性センサーの検出結果を用いて、ユーザーの運動を解析し、前記ユーザーの複数の運動情報を生成することと、前記複数の運動情報のうち、所定条件を満たした運動情報を、前記ユーザーの運動中に出力することと、前記複数の運動情報のうち、少なくとも1つの運動情報を、前記ユーザーの運動終了後に出力することと、をコンピューターに実行させる。
本実施の形態のプログラムによれば、ユーザーの運動中には、運動状態に応じて所定条件を満たした運動情報に基づいて生成した情報を出力するので、ユーザーは提示された情報を運動中に活用しやすい。また、運動中に生成した運動情報の一部に基づく情報をユーザーの運動終了後に出力するので、ユーザーは提示された情報を運動終了後にも活用しやすい。従って、ユーザーの運動成績を向上させることを補助することができる。
本実施の形態の身体活動補助方法は、ユーザーの身体活動におけるセンサーの検出結果を用いて演算を行うことと、前記演算の結果が、複数のアドバイスモードのうちの前記ユーザーによる入力情報に基づいて選択されたアドバイスモードに応じた、前記身体活動の状態と対応づけられた所定条件を満たすか否かを判定することと、前記演算の結果が前記所定条件を満たした場合に、前記身体活動の状態を通知するためのアドバイス情報を提示することと、を含む。
本実施の形態の身体活動補助方法によれば、ユーザーによる入力情報に基づいて選択されたアドバイスモードに応じた所定の条件が満たされた場合にユーザーの身体活動の状態を通知するためのアドバイス情報を提示するので、ユーザーの身体活動を効果的に補助することができる。
本実施の形態の身体活動補助方法において、前記複数のアドバイスモードは、前記身体活動の目的が異なる複数のモードを含んでもよい。
本実施の形態の身体活動補助方法によれば、ユーザーの身体活動の目的に適したアドバイス情報を提示することができる。
本実施の形態の身体活動補助方法において、前記複数のアドバイスモードは、少なくとも、前記身体活動の効率の向上を目的に含むモードと、前記身体活動におけるエネルギーの消費を目的に含むモードとを含んでもよい。
本実施の形態の身体活動補助方法によれば、身体活動の効率の向上に適したアドバイス情報や、身体活動におけるエネルギーの消費に適したアドバイス情報を提示することができる。
本実施の形態の身体活動補助方法において、前記複数のアドバイスモードは、前記身体活動の種類が異なる複数のモードを含んでもよい。
本実施の形態の身体活動補助方法によれば、ユーザーの身体活動の種類に適したアドバイス情報を提示することができる。
本実施の形態の身体活動補助方法において、前記身体活動の種類は、走行の種類であってもよい。
本実施の形態の身体活動補助方法によれば、走行の種類に適したアドバイス情報を提示することができる。
本実施の形態の身体活動補助方法は、前記ユーザーにより選択されたアドバイスモードに応じて、前記所定条件を満たすか否かを判定する項目を切り替えてもよい。
本実施の形態の身体活動補助方法によれば、ユーザーの身体活動の目的に応じて所定条件の判定項目を切り替えることで、より効果的なアドバイス情報を提示することができる。
本実施の形態の身体活動補助方法は、前記演算の結果を用いて、前記身体活動の状態又は前記演算の結果が異常か否かを判定することと、前記身体活動の状態又は前記演算の結果が異常であると判定した場合は、前記身体活動の状態又は前記演算の結果が異常であることを示す情報を提示することと、をさらに含んでもよい。
本実施の形態の身体活動補助方法によれば、ユーザーの走行中に、身体活動の状態又は演算結果が異常な状態になった場合に、ユーザーに異常であることを提示することができる。
本実施の形態の身体活動補助方法において、前記所定条件は、前記身体活動の状態が基準の状態よりも悪いことに対応する条件を含んでもよい。
基準の状態は、例えば、ユーザーによらずあらかじめ決められた状態でもよいし、ユーザーの性別や年齢等に応じて決められた状態でもよいし、ユーザーが設定した状態でもよい。
本実施の形態の身体活動補助方法によれば、ユーザーの身体活動の状態が基準の状態よりも悪い場合にアドバイス情報を提示することで、ユーザーの身体活動を効果的に改善させることができる。
逆に、前記所定条件は、前記身体活動の状態が基準の状態よりも良いことに対応する条件を含んでもよい。このようにすれば、ユーザーはより良い身体活動の状態を効果的に習得することができる。
本実施の形態の身体活動補助方法において、前記センサーは、慣性センサーであってもよい。
本実施の形態の身体活動補助装置は、ユーザーの身体活動におけるセンサーの検出結果を用いて演算を行う演算部と、前記演算の結果が、複数のアドバイスモードのうちの前記ユーザーによる入力情報に基づいて選択されたアドバイスモードに応じた、前記身体活動の状態と対応づけられた所定条件を満たすか否かを判定する判定部と、前記演算の結果が前記所定条件を満たした場合に、前記身体活動の状態を通知するためのアドバイス情報を出力するアドバイス情報出力部と、を含む。
本実施の形態の身体活動補助装置によれば、ユーザーによる入力情報に基づいて選択されたアドバイスモードに応じた所定の条件が満たされた場合にユーザーの身体活動の状態を通知するためのアドバイス情報を出力するので、ユーザーの身体活動を効果的に補助することができる。
本実施の形態のプログラムは、ユーザーの身体活動におけるセンサーの検出結果を用いて演算を行うことと、前記演算の結果が、複数のアドバイスモードのうちの前記ユーザーによる入力情報に基づいて選択されたアドバイスモードに応じた、前記身体活動の状態と対応づけられた所定条件を満たすか否かを判定することと、前記演算の結果が前記所定条件を満たした場合に、前記身体活動の状態を通知するためのアドバイス情報を出力することと、をコンピューターに実行させる。
本実施の形態のプログラムによれば、ユーザーによる入力情報に基づいて選択されたアドバイスモードに応じた所定の条件が満たされた場合にユーザーの身体活動の状態を通知するためのアドバイス情報を出力するので、ユーザーの身体活動を効果的に補助することができる。
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.第1実施形態
1−1.運動解析システムの概要
図1は、第1実施形態の運動解析システム1の概要について説明するための図である。図1に示すように、第1実施形態の運動解析システム1は、運動解析装置2及び表示装置3を含んで構成されている。運動解析装置2は、ユーザーの胴体部分(例えば、右腰、左腰、又は腰の中央部)に装着される。運動解析装置2は、慣性計測ユニット(IMU:Inertial Measurement Unit)10を内蔵し、ユーザーの走行(歩行も含む)における動きを捉えて、速度、位置、姿勢角(ロール角、ピッチ角、ヨー角)等を計算し、さらに、ユーザーの運動を解析し、運動解析情報を生成する。本実施形態では、ユーザーが静止している状態で、慣性計測ユニット(IMU)10の1つの検出軸(以下ではz軸とする)が重力加速度方向(鉛直下向き)とほぼ一致するように、運動解析装置2がユーザーに装着される。運動解析装置2は、生成した運動解析情報の少なくとも一部を表示装置3に送信する。
表示装置3は、リスト型(腕時計型)の携帯情報機器であり、ユーザーの手首等に装着される。ただし、表示装置3は、ヘッドマウントディスプレイ(HMD:Head Mount Display)やスマートフォン等の携帯情報機器であってもよい。ユーザーは、走行開始前又は走行中に表示装置3を操作して運動解析装置2による計測(後述する慣性航法演算処理及び運動解析処理)のスタートやストップを指示することができる。また、ユーザーは、走行終了後に表示装置3を操作して運動解析装置2による走行分析処理(後述)の開始や終了を指示することができる。表示装置3は、計測スタートや計測ストップを指示するコマンド、走行分析処理の開始や終了を指示するコマンド等を運動解析装置2に送信する。
運動解析装置2は、計測スタートのコマンドを受信すると、慣性計測ユニット(IMU)10による計測を開始し、計測結果に基づきユーザーの運動を解析し、運動解析情報を生成する。運動解析装置2は生成した運動解析情報を表示装置3に送信する。そして、表示装置3は運動解析情報を受信し、受信した運動解析情報を文字、図形、音、振動等の各種の形態でユーザーに提示する。ユーザーは、走行中に表示装置3を介して運動解析情報を認識することができる。
また、運動解析装置2は、走行分析処理の開始を指示するコマンドを受信すると、過去の走行中に生成した運動解析情報を用いて、当該過去の走行を分析し、分析結果の情報を表示装置3又は不図示のパーソナルコンピューターやスマートフォン等の情報機器に送信する。そして、表示装置3又は当該情報機器は、分析結果の情報を受信し、受信した運動解析情報を文字、図形、音、振動等の各種の形態でユーザーに提示する。ユーザーは、表示装置3又は当該情報機器を介して過去の走行の分析結果を認識することができる。
なお、運動解析装置2と表示装置3との間のデータ通信は、無線通信でもよいし、有線通信でもよい。
本実施形態では、以下において、運動解析装置2がユーザーの走行運動(ランニング)における運動解析情報を生成する場合を例に挙げて詳細に説明するが、本実施形態の運動解析システム1は、走行以外の運動における運動解析情報を生成する場合にも、同様に適用することができる。
1−2.座標系
以下の説明において必要となる座標系を定義する。
・eフレーム(Earth Centerd Earth Fixed Frame):地球の中心を原点とし、自転軸に平行にz軸をとった右手系の三次元直交座標
・nフレーム(Navigation Frame):移動体(ユーザー)を原点とし、x軸を北、y軸を東、z軸を重力方向とした三次元直交座標系
・bフレーム(Body Frame):センサー(慣性計測ユニット(IMU)10)を基準とする三次元直交座標系
・mフレーム(Moving Frame):移動体(ユーザー)を原点とし、移動体(ユーザー)の進行方向をx軸とした右手系の三次元直交座標系
1−3.運動解析システムの構成
図2は、第1実施形態における運動解析装置2及び表示装置3の構成例を示す機能ブロック図である。図2に示すように、運動解析装置2は、慣性計測ユニット(IMU)10、処理部20、記憶部30、通信部40、GPS(Global Positioning System)ユニット50及び地磁気センサー60を含んで構成されている。ただし、本実施形態の運動解析装置2は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
慣性計測ユニット10(慣性センサーの一例)は、加速度センサー12、角速度センサー14及び信号処理部16を含んで構成されている。
加速度センサー12は、互いに交差する(理想的には直交する)3軸方向の各々の加速度を検出し、検出した3軸加速度の大きさ及び向きに応じたデジタル信号(加速度データ)を出力する。
角速度センサー14は、互いに交差する(理想的には直交する)3軸方向の各々の角速度を検出し、計測した3軸角速度の大きさ及び向きに応じたデジタル信号(角速度データ)を出力する。
信号処理部16は、加速度センサー12及び角速度センサー14から、それぞれ加速度データと角速度データを受け取って時刻情報を付して不図示の記憶部に記憶し、記憶した加速度データ、角速度データ及び時刻情報を所定のフォーマットに合わせたセンシングデータを生成し、処理部20に出力する。
加速度センサー12及び角速度センサー14は、それぞれ3軸が、慣性計測ユニット10を基準とするセンサー座標系(bフレーム)の3軸と一致するように取り付けられるのが理想的だが、実際には取り付け角の誤差が生じる。そこで、信号処理部16は、取り付け角誤差に応じてあらかじめ算出された補正パラメーターを用いて、加速度データ及び角速度データをセンサー座標系(bフレーム)のデータに変換する処理を行う。なお、信号処理部16の代わりに後述する処理部20が当該変換処理を行ってもよい。
さらに、信号処理部16は、加速度センサー12及び角速度センサー14の温度補正処理を行ってもよい。なお、信号処理部16の代わりに後述する処理部20が当該温度補正処理を行ってもよいし、加速度センサー12及び角速度センサー14に温度補正の機能が組み込まれていてもよい。
加速度センサー12と角速度センサー14は、アナログ信号を出力するものであってもよく、この場合は、信号処理部16が、加速度センサー12の出力信号と角速度センサー14の出力信号をそれぞれA/D変換してセンシングデータを生成すればよい。
GPSユニット50は、測位用衛星の一種であるGPS衛星から送信されるGPS衛星信号を受信し、当該GPS衛星信号を利用して測位計算を行ってnフレームにおけるユーザーの位置及び速度(大きさと向きを含むベクトル)を算出し、これらに時刻情報や測位精度情報を付したGPSデータを処理部20に出力する。なお、GPSを利用して、位置や速度を算出する方法や時刻情報を生成する方法については公知であるため、詳細な説明を省略する。
地磁気センサー60は、互いに交差する(理想的には直交する)3軸方向の各々の地磁気を検出し、検出した3軸地磁気の大きさ及び向きに応じたデジタル信号(地磁気データ)を出力する。ただし、地磁気センサー60は、アナログ信号を出力するものであってもよく、この場合は、処理部20が、地磁気センサー60の出力信号をA/D変換して地磁気データを生成してもよい。
処理部20は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等により構成され、記憶部30に記憶されている各種プログラムに従って、各種の演算処理や制御処理を行う。特に、処理部20は、慣性計測ユニット10、GPSユニット50及び地磁気センサー60からそれぞれセンシングデータ、GPSデータ及び地磁気データを受け取り、こ
れらのデータを用いてユーザーの速度、位置、姿勢角等を算出する。また、処理部20は、算出したこれらの情報を用いて各種の演算処理を行ってユーザーの運動を解析し、後述する各種の運動解析情報を生成する。そして、処理部20は、生成した運動解析情報の一部(後述する走行中出力情報や走行後出力情報)を、通信部40を介して表示装置3に送信し、表示装置3は受信した運動解析情報をテキスト、画像、音、振動等の形態で出力する。
記憶部30は、例えば、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の各種ICメモリーやハードディスクやメモリーカードなどの記録媒体等により構成される。
記憶部30には、処理部20によって読み出され、運動解析処理(図41参照)を実行するための運動解析プログラム300が記憶されている。運動解析プログラム300は、慣性航法演算処理(図42参照)を実行するための慣性航法演算プログラム302、運動解析情報生成処理(図44参照)を実行するための運動解析情報生成プログラム304及び走行分析処理(図45参照)を実行するための走行分析プログラム306をサブルーチンとして含む。
また、記憶部30には、センシングデータテーブル310、GPSデータテーブル320、地磁気データテーブル330、算出データテーブル340及び運動解析情報350等が記憶される。
センシングデータテーブル310は、処理部20が慣性計測ユニット10から受け取ったセンシングデータ(慣性計測ユニット10の検出結果)を時系列に記憶するデータテーブルである。図3は、センシングデータテーブル310の構成例を示す図である。図3に示すように、センシングデータテーブル310は、慣性計測ユニット10の検出時刻311、加速度センサー12により検出された加速度312及び角速度センサー14により検出された角速度313が対応付けられたセンシングデータが時系列に並べられて構成される。処理部20は、計測を開始すると、サンプリング周期Δt(例えば、20msまたは10ms)の経過毎に、センシングデータテーブル310に新たなセンシングデータを付加する。さらに、処理部20は、拡張カルマンフィルターを用いた誤差推定(後述)により推定された加速度バイアス及び角速度バイアスを用いて加速度及び角速度を補正し、補正後の加速度及び角速度を上書きしてセンシングデータテーブル310を更新する。
GPSデータテーブル320は、処理部20がGPSユニット50から受け取ったGPSデータ(GPSユニット(GPSセンサー)50の検出結果)を時系列に記憶するデータテーブルである。図4は、GPSデータテーブル320の構成例を示す図である。図4に示すように、GPSデータテーブル320は、GPSユニット50が測位計算を行った時刻321、測位計算により算出した位置322、測位計算により算出した速度323、測位精度(DOP(Dilution of Precision))324、受信したGPS衛星信号の信号強度325等が対応付けられたGPSデータが時系列に並べられて構成される。処理部20は、計測を開始すると、GPSデータを取得する毎に(例えば1秒毎に、センシングデータの取得タイミングとは非同期に)、新たなGPSデータを付加してGPSデータテーブル320を更新する。
地磁気データテーブル330は、処理部20が地磁気センサー60から受け取った地磁気データ(地磁気センサーの検出結果)を時系列に記憶するデータテーブルである。図5は、地磁気データテーブル330の構成例を示す図である。図5に示すように、地磁気データテーブル330は、地磁気センサー60の検出時刻331と地磁気センサー60により検出された地磁気332とが対応付けられた地磁気データが時系列に並べられて構成さ
れる。処理部20は、計測を開始すると、サンプリング周期Δt(例えば、10ms)の経過毎に、地磁気データテーブル330に新たな地磁気データを付加する。
算出データテーブル340は、処理部20がセンシングデータを用いて算出した速度、位置及び姿勢角を時系列に記憶するデータテーブルである。図6は、算出データテーブル340の構成例を示す図である。図6に示すように、算出データテーブル340は、処理部20が計算した時刻341、速度342、位置343及び姿勢角344が対応付けられた算出データが時系列に並べられて構成される。処理部20は、計測を開始すると、新たにセンシングデータを取得する毎に、すなわち、サンプリング周期Δtの経過毎に、速度、位置及び姿勢角を算出し、算出データテーブル340に新たな算出データを付加する。さらに、処理部20は、拡張カルマンフィルターを用いた誤差推定により推定された速度誤差、位置誤差及び姿勢角誤差を用いて、速度、位置及び姿勢角を補正し、補正後の速度、位置及び姿勢角を上書きして算出データテーブル340を更新する。
運動解析情報350は、ユーザーの運動に関する各種情報であり、処理部20が生成した、入力情報351の各項目、基本情報352の各項目、第1解析情報353の各項目、第2解析情報354の各項目、左右差率355の各項目、走行軌跡情報356等を含む。これら各種の情報の詳細については後述する。
図2に戻る。通信部40は、表示装置3の通信部140との間でのデータ通信を行うものであり、処理部20が生成した運動解析情報の一部(後述する走行中出力情報や走行後出力情報)を受け取って表示装置3に送信する処理、表示装置3から送信されたコマンド(計測スタート/ストップのコマンドや走行分析処理の開始/終了のコマンド等)を受信して処理部20に送る処理等を行う。
表示装置3は、処理部120、記憶部130、通信部140、操作部150、計時部160、表示部170、音出力部180及び振動部190を含んで構成されている。ただし、本実施形態の表示装置3は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
処理部120は、記憶部130に記憶されているプログラムに従って、各種の演算処理や制御処理を行う。例えば、処理部120は、操作部150から受け取った操作データに応じた各種処理(計測スタート/ストップのコマンドや走行分析処理の開始/終了のコマンドを通信部140に送る処理や操作データに応じた表示処理や音出力処理等)、通信部140から走行中出力情報や走行後出力情報を受け取り、走行中出力情報や走行後出力情報に応じたテキストデータや画像データを表示部170に送る処理、走行中出力情報や走行後出力情報に応じた音データを音出力部180に送る処理、走行中出力情報に応じた振動データを振動部190に送る処理を行う。また、処理部120は、計時部160から受け取った時刻情報に応じた時刻画像データを生成して表示部170に送る処理等を行う。
記憶部130は、例えば、処理部120が各種処理を行うためのプログラムやデータが記憶されるROMや処理部120の作業領域となるRAM等の各種ICメモリーにより構成される。
通信部140は、運動解析装置2の通信部40との間でのデータ通信を行うものであり、処理部120から操作データに応じたコマンド(計測スタート/ストップのコマンドや走行分析処理の開始/終了のコマンド等)を受け取って運動解析装置2に送信する処理、運動解析装置2から送信された走行中出力情報や走行後出力情報を受信して処理部120に送る処理等を行う。
操作部150は、ユーザーからの操作データ(計測スタート/ストップ、表示内容の選択等の操作データ)を取得し、処理部120に送る処理を行う。操作部150は、例えば、タッチパネル型ディスプレイ、ボタン、キー、マイクなどであってもよい。
計時部160は、年、月、日、時、分、秒等の時刻情報を生成する処理を行う。計時部160は、例えば、リアルタイムクロック(RTC:Real Time Clock)ICなどで実現される。
表示部170は、処理部120から送られてきた画像データやテキストデータを、文字、グラフ、表、アニメーション、その他の画像として表示するものである。表示部170は、例えば、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)ディスプレイ、EPD(Electrophoretic Display)等のディスプレイで実現され、タッチパネル型ディスプレイであってもよい。なお、1つのタッチパネル型ディスプレイで操作部150と表示部170の機能を実現するようにしてもよい。
音出力部180は、処理部120から送られてきた音データを、音声やブザー音等の音として出力するものである。音出力部180は、例えば、スピーカーやブザーなどで実現される。
振動部190は、処理部120から送られてきた振動データに応じて振動する。この振動が表示装置3に伝わり、表示装置3を装着したユーザーが振動を感じることができる。振動部190は、例えば、振動モーターなどで実現される。
1−4.処理部の機能構成
図7は、第1実施形態における運動解析装置2の処理部20の構成例を示す機能ブロック図である。本実施形態では、処理部20は、記憶部30に記憶されている運動解析プログラム300を実行することにより、慣性航法演算部22及び運動解析部24として機能する。
慣性航法演算部22は、センシングデータ(慣性計測ユニット10の検出結果)、GPSデータ(GPSユニット50の検出結果)及び地磁気データ(地磁気センサー60の検出結果)を用いて、慣性航法演算を行い、加速度、角速度、速度、位置、姿勢角、距離、ストライド及び走行ピッチを算出し、これらの算出結果を含む演算データを出力する。慣性航法演算部22が出力する演算データは記憶部30に記憶される。慣性航法演算部22の詳細については後述する。
運動解析部24は、慣性航法演算部22が出力する演算データ(記憶部30に記憶されている演算データ)を用いて、走行中にユーザーの運動を解析し、ユーザーの走行成績(運動成績の一例)を向上させるための複数の運動情報の各々(後述する、入力情報の各項目、基本情報の各項目、第1解析情報の各項目、第2解析情報の各項目、左右差率の各項目、走行軌跡情報等)を生成する。走行成績は、例えば、走行能力、タイム等のスコア(得点)、怪我のしにくさ等であってもよい。運動解析部24は、さらに、この複数の運動情報のうち1つ以上の項目を用いてユーザーの走行中に出力する走行中出力情報を生成する。この複数の運動情報を含む運動解析情報は記憶部30に記憶され、運動解析部24は、ユーザーの走行終了後に、運動解析情報を用いて走行分析処理を行い、走行終了後に出力する走行後出力情報を生成する。運動解析部24の詳細については後述する。
1−5.慣性航法演算部の機能構成
図8は、第1実施形態における慣性航法演算部22の構成例を示す機能ブロック図である。本実施形態では、慣性航法演算部22は、バイアス除去部210、積分処理部220
、誤差推定部230、走行処理部240及び座標変換部250を含む。ただし、本実施形態の慣性航法演算部22は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
バイアス除去部210は、新たに取得したセンシングデータに含まれる加速度(3軸加速度)及び角速度から、それぞれ、誤差推定部230が推定した加速度バイアスba及び角速度バイアスbωを減算し、加速度及び角速度を補正する処理を行う。なお、計測開始直後の初期状態では加速度バイアスba及び角速度バイアスbωの推定値が存在しないため、バイアス除去部210は、ユーザーの初期状態は静止状態であるものとして、慣性計測ユニットからのセンシングデータを用いて、初期バイアスを計算する。
積分処理部220は、バイアス除去部210が補正した加速度及び角速度からeフレームの速度ve、位置pe及び姿勢角(ロール角φbe、ピッチ角θbe、ヨー角ψbe)を算出する処理を行う。具体的には、積分処理部220は、まず、ユーザーの初期状態は静止状態であるものとして、初期速度をゼロとし、あるいは、GPSデータに含まれる速度から初期速度を算出し、さらに、GPSデータに含まれる位置から初期位置を算出する。また、積分処理部220は、バイアス除去部210が補正したbフレームの3軸加速度から重力加速度の向きを特定してロール角φbeとピッチ角θbeの初期値を算出するとともに、GPSデータに含まれる速度からヨー角ψbeの初期値を算出し、eフレームの初期姿勢角とする。GPSデータが得られない場合はヨー角ψbeの初期値を例えばゼロとする。そして、積分処理部220は、算出した初期姿勢角から式(1)で表されるbフレームからeフレームへの座標変換行列(回転行列)Cb eの初期値を算出する。
その後は、積分処理部220は、バイアス除去部210が補正した3軸角速度を積算(回転演算)して座標変換行列Cb eを算出し、式(2)より姿勢角を算出する。
また、積分処理部220は、座標変換行列Cb eを用いて、バイアス除去部210が補正したbフレームの3軸加速度をeフレームの3軸加速度に変換し、重力加速度成分を除去して積算することでeフレームの速度veを算出する。また、積分処理部220は、eフレームの速度veを積算してeフレームの位置peを算出する。
また、積分処理部220は、誤差推定部230が推定した速度誤差δve、位置誤差δpe及び姿勢角誤差εeを用いて、速度ve、位置pe及び姿勢角を補正する処理及び補正した速度veを積分して距離を計算する処理も行う。
さらに、積分処理部220は、bフレームからmフレームへの座標変換行列Cb m、e
フレームからmフレームへの座標変換行列Ce m及びeフレームからnフレームへの座標変換行列Ce nも算出する。これらの座標変換行列は座標変換情報として後述する座標変換部250の座標変換処理に用いられる。
誤差推定部230は、積分処理部220が算出した速度・位置、姿勢角、バイアス除去部210が補正した加速度や角速度、GPSデータ、地磁気データ等を用いて、ユーザーの状態を表す指標の誤差を推定する。本実施形態では、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定する。すなわち、誤差推定部230は、積分処理部220が算出した速度veの誤差(速度誤差)δve、積分処理部220が算出した姿勢角の誤差(姿勢角誤差)εe、加速度バイアスba、角速度バイアスbω及び積分処理部220が算出した位置peの誤差(位置誤差)δpeを拡張カルマンフィルターの状態変数とし、状態ベクトルXを式(3)のように定義する。
誤差推定部230は、拡張カルマンフィルターの予測式を用いて、状態ベクトルXに含まれる状態変数(ユーザーの状態を表す指標の誤差)を予測する。拡張カルマンフィルターの予測式は、式(4)のように表される。式(4)において、行列Φは、前回の状態ベクトルXと今回の状態ベクトルXを関連付ける行列であり、その要素の一部は姿勢角や位置等を反映しながら時々刻々変化するように設計される。また、Qはプロセスノイズを表す行列であり、その各要素はあらかじめ適切な値に設定される。また、Pは状態変数の誤差共分散行列である。
また、誤差推定部230は、拡張カルマンフィルターの更新式を用いて、予測した状態変数(ユーザーの状態を表す指標の誤差)を更新(補正)する。拡張カルマンフィルターの更新式は、式(5)のように表される。Z及びHはそれぞれ観測ベクトル及び観測行列であり、更新式(5)は、実際の観測ベクトルZと状態ベクトルXから予測されるベクトルHXとの差を用いて、状態ベクトルXを補正することを表している。Rは、観測誤差の共分散行列であり、あらかじめ決められた一定値であってもよいし、動的に変更してもよい。Kはカルマンゲインであり、Rが小さいほどKが大きくなる。式(5)より、Kが大きい(Rが小さい)ほど、状態ベクトルXの補正量が大きくなり、その分、Pが小さくなる。
誤差推定の方法(状態ベクトルXの推定方法)としては、例えば、以下のようなものが挙げられる。
姿勢角誤差に基づく補正による誤差推定方法:
図9は、運動解析装置2を右腰に装着したユーザーが走行動作(直進)をする場合のユーザーの移動を俯瞰した図である。また、図10は、ユーザーが走行動作(直進)をする場合に慣性計測ユニット10の検出結果から算出したヨー角(方位角)の一例を示す図であり、横軸は時間、縦軸はヨー角(方位角)である。
ユーザーの走行動作に伴い、ユーザーに対する慣性計測ユニット10の姿勢が随時変化する。ユーザーが左足を踏み出した状態では、図9中の(1)や(3)に示すように、慣性計測ユニット10は進行方向(mフレームのx軸)に対して左側に傾いた姿勢となる。それに対して、ユーザーが右足を踏み出した状態では、図9中の(2)や(4)に示すように、慣性計測ユニット10は進行方向(mフレームのx軸)に対して右側に傾いた姿勢となる。つまり、慣性計測ユニット10の姿勢は、ユーザーの走行動作に伴い、左右1歩ずつの2歩毎に周期的に変化することになる。図10では、例えば、右足を踏み出した状態でヨー角が極大となり(図10中の○)、左足を踏み出した状態でヨー角が極小となっている(図10中の●)。そこで、前回(2歩前)の姿勢角と今回の姿勢角は等しく、かつ、前回の姿勢角は真の姿勢であるものとして誤差を推定することができる。この方法では、式(5)の観測ベクトルZは積分処理部220が算出した前回の姿勢角と今回の姿勢角との差であり、更新式(5)により、姿勢角誤差εeと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
角速度バイアスに基づく補正による誤差推定方法:
前回(2歩前)の姿勢角と今回の姿勢角は等しいが、前回の姿勢角は真の姿勢である必要はないものとして誤差を推定する方法である。この方法では、式(5)の観測ベクトルZは積分処理部220が算出した前回の姿勢角及び今回の姿勢角から算出される角速度バイアスであり、更新式(5)により、角速度バイアスbωと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
方位角誤差に基づく補正による誤差推定方法:
前回(2歩前)のヨー角(方位角)と今回のヨー角(方位角)は等しく、かつ、前回のヨー角(方位角)は真のヨー角(方位角)であるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した前回のヨー角と今回のヨー角の差であり、更新式(5)により、方位角誤差εz eと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
停止に基づく補正による誤差推定方法:
停止時は速度がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度veとゼロとの差であり、更新式(5)により、速度誤差δveに基づいて状態ベクトルXを補正し、誤差を推定する。
静止に基づく補正による誤差推定方法:
静止時は速度がゼロであり、かつ、姿勢変化がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度veの誤差及び積分処理部220が算出した前回の姿勢角と今回の姿勢角との差であり、更新式(5)により、速度誤差δve及び姿勢角誤差εeに基づいて状態ベクトルXを補正し、誤差を推定する。
GPSの観測値に基づく補正による誤差推定方法:
積分処理部220が算出した速度ve、位置peあるいはヨー角ψbeとGPSデータから算出される速度、位置あるいは方位角(eフレームに変換後の速度、位置、方位角)は等しいものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度、位置あるいはヨー角とGPSデータから算出される速度、位置速度あるいは方位角との差であり、更新式(5)により、速度誤差δve、位置誤差δpeあるいは方位角誤差εz eと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
地磁気センサーの観測値に基づく補正による誤差推定方法:
積分処理部220が算出したヨー角ψbeと地磁気センサーから算出される方位角(eフレームに変換後の方位角)は等しいものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出したヨー角と地磁気データから算出される方位角との差であり、更新式(5)により、方位角誤差εz eと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
図8に戻り、走行処理部240は、走行検出部242、歩幅算出部244及びピッチ算出部246を含む。走行検出部242は、慣性計測ユニット10の検出結果(具体的には、バイアス除去部210が補正したセンシングデータ)を用いて、ユーザーの走行周期(走行タイミング)を検出する処理を行う。図9及び図10で説明したように、ユーザーの走行時にはユーザーの姿勢が周期的に(2歩(左右1歩ずつ)毎に)変化するため、慣性計測ユニット10が検出する加速度も周期的に変化する。図11は、ユーザーの走行時に慣性計測ユニット10が検出した3軸加速度の一例を示す図である。図11において、横軸は時間であり、縦軸は加速度値である。図11に示すように、3軸加速度は周期的に変化しており、特にz軸(重力方向の軸)加速度は、周期性をもって規則的に変化していることがわかる。このz軸加速度は、ユーザーの上下動の加速度を反映しており、z軸加速度が所定の閾値以上の極大値となる時から次に閾値以上の極大値となるまでの期間が1歩の期間に相当する。そして、右足を踏み出している状態の1歩と左足を踏み出している状態の1歩が交互に繰り返される。
そこで、本実施形態では、走行検出部242は、慣性計測ユニット10が検出するz軸加速度(ユーザーの上下動の加速度に相当する)が所定の閾値以上の極大値となる毎に、右足の走行周期と左足の走行周期を交互に検出する。すなわち、走行検出部242は、z軸加速度が所定の閾値以上の極大値となる毎に、走行周期を検出したことを示すタイミング信号と左右いずれの走行周期かを示す左右足フラグ(例えば、右足の時にオン、左足の時にオフ)とを出力する。ただし、実際には、慣性計測ユニット10が検出するz軸加速度には高周波のノイズ成分が含まれるため、走行検出部242は、z軸加速度をローパスフィルターを通過させてノイズが除去されたz軸加速度を用いて走行周期を検出する。
なお、ユーザーが右足と左足のどちらから走行を始めるかわからず、また、走行中に走行周期を検出し損なう場合もあり得るので、走行検出部242は、z軸加速度以外の情報(例えば、姿勢角等)も用いて、右足の走行周期か左足の走行周期かを総合的に判定するのがよい。
歩幅算出部244は、走行検出部242が出力する走行周期のタイミング信号及び左右足フラグと、積分処理部220が算出する速度あるいは位置とを用いて、左右毎の歩幅を算出し、左右毎のストライドとして出力する処理を行う。すなわち、歩幅算出部244は、走行周期の開始から次の走行周期の開始までの期間、サンプリング周期Δt毎に速度を積分して(あるいは、走行周期の開始時の位置と次の走行周期の開始時の位置との差を計算して)歩幅を算出し、当該歩幅をストライドとして出力する。
ピッチ算出部246は、走行検出部242が出力する走行周期のタイミング信号を用いて、1分間の歩数を算出し、走行ピッチとして出力する処理を行う。すなわち、ピッチ算出部246は、例えば、走行周期の逆数をとって1秒当たりの歩数を計算し、これに60を掛けて1分間の歩数(走行ピッチ)を算出する。
座標変換部250は、積分処理部220が算出したbフレームからmフレームへの座標変換情報(座標変換行列Cb m)を用いて、バイアス除去部210が補正したbフレームの3軸加速度及び3軸角速度をそれぞれmフレームの3軸加速度及び3軸角速度に変換する座標変換処理を行う。また、座標変換部250は、積分処理部220が算出したeフレームからmフレームへの座標変換情報(座標変換行列Ce m)を用いて、積分処理部220が算出したeフレームの3軸方向の速度、3軸回りの姿勢角及び3軸方向の距離をそれぞれmフレームの3軸方向の速度、3軸回りの姿勢角及び3軸方向の距離に変換する座標変換処理を行う。また、座標変換部250は、積分処理部220が算出したeフレームからnフレームへの座標変換情報(座標変換行列Ce n)を用いて、積分処理部220が算出したeフレームの位置をnフレームの位置に変換する座標変換処理を行う。
そして、慣性航法演算部22は、座標変換部250が座標変換した後の加速度、角速度、速度、位置、姿勢角及び距離、走行処理部240が算出したストライド、走行ピッチ及び左右足フラグの各情報を含む演算データを出力する(記憶部30に記憶する)。
1−6.運動解析部の機能構成
図12は、第1実施形態における運動解析部24の構成例を示す機能ブロック図である。本実施形態では、運動解析部24は、特徴点検出部260、接地時間・衝撃時間算出部262、運動情報生成部270、走行中出力情報生成部280及び走行分析部290を含む。ただし、本実施形態の運動解析部24は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
特徴点検出部260は、演算データを用いて、ユーザーの走行運動における特徴点を検出する処理を行う。ユーザーの運動における特徴点は、ユーザーの動作(本実施形態では走行運動)の特徴部分に対応するデータの部分である。例えば、着地(地面の足が着くタイミング)、踏込(足に最も体重がかかるタイミング)、離地(蹴り出しともいう)(地面から足が離れるタイミング)等である。具体的には、特徴点検出部260は、演算データに含まれる左右足フラグを用いて、右足の走行周期における特徴点と左足の走行周期における特徴点とを別々に検出する。
接地時間・衝撃時間算出部262は、演算データを用いて、特徴点検出部260が特徴点を検出したタイミングを基準として、接地時間及び衝撃時間の各値を算出する処理を行う。具体的には、接地時間・衝撃時間算出部262は、演算データに含まれる左右足フラグから現在の演算データが右足の走行周期と左足の走行周期のいずれの演算データであるかを判定し、特徴点検出部260が特徴点を検出したタイミングを基準として、接地時間及び衝撃時間の各値を、右足の走行周期と左足の走行周期に分けて算出する。接地時間及び衝撃時間の定義及び算出方法等の詳細については後述する。
運動情報生成部270は、走行軌跡算出部271、基本情報生成部272、第1解析情報生成部273、第2解析情報生成部274及び左右差率算出部275を含み、演算データの一部や入力情報を用いて、ユーザーの運動を解析し、ユーザーの走行成績を向上させるための複数の運動情報を生成する処理を行う。ここで、入力情報は、第1解析情報生成部273に入力される情報であり、演算データに含まれる、走行ピッチ、ストライド、mフレームの3軸方向の加速度、3軸回りの角速度、3軸方向の速度、3軸方向の距離及び3軸回りの姿勢角、接地時間・衝撃時間算出部262が算出した接地時間及び衝撃時間、ユーザーの体重の各項目を含む。具体的には、運動情報生成部270は、入力情報を用いて、特徴点検出部260が特徴点を検出したタイミングを基準としてユーザーの運動を解析し、運動情報として、基本情報の各項目、第1解析情報の各項目、第2解析情報の各項目、左右差率の情報の各項目、走行軌跡情報等を生成する処理を行う。
走行軌跡算出部271は、演算データに含まれるnフレームの位置の時系列情報を用いて、nフレームにおけるユーザーの走行軌跡を算出し、運動情報の1つである走行軌跡情報を生成する処理を行う。
基本情報生成部272は、演算データに含まれる加速度、速度、位置、ストライド、走行ピッチの情報を用いて、ユーザーの運動に関する基本情報を生成する処理を行う。ここで、基本情報は、走行ピッチ、ストライド、走行速度、標高、走行距離及び走行時間(ラップタイム)の各項目を含む。基本情報の各項目が1つの運動情報である。具体的には、基本情報生成部272は、演算データに含まれる走行ピッチ及びストライドをそれぞれ基本情報の走行ピッチ及びストライドとして出力する。また、基本情報生成部272は、演算データに含まれる加速度、速度、位置、走行ピッチ及びストライドの一部又は全部を用いて、走行速度、標高、走行距離、走行時間(ラップタイム)の現在の値や走行中の平均値等の運動情報を算出する。
第1解析情報生成部273は、上記の入力情報を用いて、特徴点検出部260が特徴点を検出したタイミングを基準としてユーザーの運動を解析し、第1解析情報を生成する処理を行う。ここで、第1解析情報は、着地時ブレーキ量(着地時ブレーキ量1、着地時ブレーキ量2)、真下着地率(真下着地率1、真下着地率2、真下着地率3)、推進力(推進力1、推進力2)、推進効率(推進効率1、推進効率2、推進効率3、推進効率4)、エネルギー消費量、着地衝撃、ランニング能力、前傾角及びタイミング一致度の各項目を含む。第1解析情報の各項目は、ユーザーの走行状態(運動状態の一例)を表す項目であり、それぞれ1つの運動情報である。第1解析情報の各項目の内容及び計算方法の詳細については後述する。
本実施形態では、第1解析情報生成部273は、特徴点検出部260が特徴点を検出したタイミングにおける入力情報を用いて、第1解析情報の一部の項目の値を算出する。また、第1解析情報生成部273は、特徴点検出部260が特徴点を検出してから次に特徴点を検出するまでの間(2つの同じ特徴点の間(例えば、着地から次の着地までの間)でもよいし、2つの異なる特徴点の間(例えば、着地から離地までの間)でもよい)のタイミングにおける入力情報を用いて、第1解析情報の少なくとも一部の項目の値を算出する。
また、第1解析情報生成部273は、第1解析情報の各項目の値を、ユーザーの体の左右にわけて算出する。具体的には、第1解析情報生成部273は、特徴点検出部260が右足の走行周期における特徴点を検出したか左足の走行周期における特徴点を検出したかに応じて、第1解析情報に含まれる各項目を、右足の走行周期と左足の走行周期に分けて算出する。また、第1解析情報生成部273は、第1解析情報に含まれる各項目について
、左右の平均値あるいは合計値も算出する。
第2解析情報生成部274は、第1解析情報生成部273が生成した第1解析情報を用いて、第2解析情報を生成する処理を行う。ここで、第2解析情報は、エネルギー損失、エネルギー効率及び体への負担の各項目を含む。第2解析情報の各項目が1つの運動情報である。第2解析情報の各項目の内容及び計算方法の詳細については後述する。第2解析情報生成部274は、第2解析情報の各項目の値を、右足の走行周期と左足の走行周期に分けて算出する。また、第2解析情報生成部274は、第2解析情報に含まれる各項目について、左右の平均値あるいは合計値も算出する。
左右差率算出部275は、入力情報に含まれる走行ピッチ、ストライド、接地時間及び衝撃時間、第1解析情報の全ての項目及び第2解析情報の全ての項目について、それぞれ右足の走行周期における値と左足の走行周期における値とを用いて、ユーザーの体の左右のバランスを示す指標である左右差率を算出する処理を行う。各項目の左右差率が1つの運動情報である。左右差率の内容及び計算方法の詳細については後述する。
走行中出力情報生成部280(運動中出力情報生成部の一例)は、走行軌跡情報、基本情報の各項目、入力情報の各項目、第1解析情報の各項目、第2解析情報の各項目、各項目の左右差率等を含む複数の運動情報を用いて、ユーザーの走行中に出力する情報である走行中出力情報(運動中出力情報の一例)を生成する処理を行う。
本実施形態では、走行中出力情報生成部280は、複数の運動情報のうち少なくとも1つの運動情報と予め設定された基準値とを比較し、比較結果に基づいて走行中出力情報を生成する。具体的には、走行中出力情報生成部280は、複数の運動情報のうち、所定条件を満たした少なくとも1つの運動情報に基づいて走行中出力情報を生成する。当該所定条件は、運動情報の良否に関する条件である。当該所定条件は、ユーザーの走行状態が基準よりも良いことであってもよいし、ユーザーの走行状態が基準よりも悪いことであってもよい。例えば、走行中出力情報生成部280は、走行中出力情報として、一番良い項目だけ出力してもよいし、逆に、一番悪い項目だけ出力してもよい。また、例えば、ユーザーの走行状態の改善(運動情報の改善)の程度が基準を上回ることであってもよいし、走行状態の悪化(運動情報の悪化)の程度が基準以上に大きいことであってもよい。あるいは、各項目を段階分けして評価し、走行中出力情報として、最も高い評価(例えばランク1〜5の中のランク1)がついた項目のみを出力してもよいし、逆に、最も低い評価(例えばランク1〜5の中のランク5)がついた項目のみを出力してもよい。また、走行中出力情報生成部280は、走行中出力情報として、ユーザーの走行状態を評価する評価情報(段階分けした評価等)や、ユーザーの走行成績を向上させるためのアドバイス又はユーザーの走行状態を改善するためのアドバイスに関するアドバイス情報を含んでもよい。
例えば、走行中出力情報生成部280は、第1解析情報に含まれる推進効率の値が所定条件(基準範囲内であること、あるいは、基準範囲外であること)を満たした場合には、推進効率の数値や推進効率が基準値よりも高い(あるいは低い)ことを通知するための情報を含む走行中出力情報を生成してもよい。あるいは、推進効率が高いことを示す評価情報や推進効率を向上させる(改善する)ためのアドバイス情報を含む走行中出力情報を生成してもよい。
また、走行中出力情報生成部280は、これら各種の情報の一部又は全部をそのまま又は加工して走行中出力情報としてもよいし、これら各種の情報の一部又は全部を組み合わせて走行中出力情報を生成してもよい。
処理部20は、走行中出力情報を表示装置3に送信し、表示装置3は走行中出力情報を
受信して対応する画像、音、振動等のデータを生成し、表示部170、音出力部180及び振動部190を介してユーザーに提示(伝達)する。
走行分析部290(運動後出力情報生成部の一例)は、全体分析部291、詳細分析部292、比較分析部293及び出力情報選択部294を含み、記憶部30に記憶されている複数の運動情報(走行軌跡情報、基本情報の各項目、入力情報の各項目、第1解析情報の各項目、第2解析情報の各項目、各項目の左右差率等)の少なくとも1つの運動情報に基づいて、ユーザーの走行終了後に出力する情報である走行後出力情報(運動後出力情報の一例)を生成する処理を行う。
全体分析部291は、記憶部30に記憶されている各種の運動情報を用いて、ユーザーの過去の走行を全体的に分析(概略的に分析)し、分析結果の情報である全体分析情報を生成する処理を行う。具体的には、全体分析部291は、ユーザーが選択した日付の走行における各種の運動情報の一部又は全部について、平均値の算出処理、走行終了時の最終値の選択処理、これらの値が基準値よりも良いか否か(あるいは悪いか否か)や改善率が基準値よりも高いか否か(あるいは低いか否か)の判定処理等を行う。また、全体分析部291は、あらかじめ決められた所定の項目やユーザーが選択した項目について、走行した日付毎の平均値(あるいは最終値)を算出(あるいは選択)して時系列データを生成する処理等を行う。また、全体分析部291は、ユーザーが選択した日付の走行における走行軌跡情報を選択する処理等を行う。
詳細分析部292は、記憶部30に記憶されている各種の運動情報を用いて、ユーザーの過去の走行を詳細に分析し、分析結果の情報である詳細分析情報を生成する処理を行う。具体的には、詳細分析部292は、ユーザーが選択した日付の走行について、ユーザーが選択した時刻における各種の運動情報の一部又は全部の項目の値を選択する処理やユーザーが選択した項目の時系列データを生成する処理等を行う。また、詳細分析部292は、ユーザーが選択した日付の走行における走行軌跡情報の選択処理、ユーザーが選択した時刻における走行位置の算出処理、所定の項目又はユーザーが選択した項目について左右差率の時系列データを算出する処理等を行う。また、詳細分析部292は、ユーザーが選択した日付の走行における走行成績を評価し、評価結果の情報や、走り方の改善方法、タイムの短縮方法、トレーニング指導などのアドバイスに関する情報を生成する処理等を行う。
比較分析部293は、記憶部30に記憶されている各種の運動情報を用いて、ユーザーの過去の複数回の走行結果を比較して分析し、あるいは、ユーザーの過去の走行結果を他のユーザーの走行結果と比較して分析し、分析結果の情報である比較分析情報を生成する処理等を行う。具体的には、比較分析部293は、ユーザーが選択した複数の日付の各々の走行について、それぞれ詳細分析情報と同様の比較分析情報を生成し、あるいは、ユーザーが選択した日付の走行と他のユーザーの過去の走行とについて、それぞれ詳細分析情報と同様の比較分析情報を生成する処理を行う。
出力情報選択部294は、ユーザーの選択操作に応じて、全体分析情報、詳細分析情報及び比較分析情報のいずれかを選択し、走行後出力情報として出力する処理を行う。
走行後出力情報は、複数の運動情報のうち、ユーザーの走行中に出力しなかった運動情報、すなわち、走行中出力情報に含まれなかった運動情報を含んでもよい。あるいは、走行後出力情報は、複数の運動情報のうち、ユーザーの走行中に出力した運動情報、すなわち、走行中出力情報に含まれていた運動情報を含んでもよい。また、走行後出力情報は、ユーザーの走行成績を向上させるためのアドバイス又はユーザーの走行状態を改善するためのアドバイスに関する情報を含んでもよい。また、走行後出力情報は、走行分析部29
0がユーザーの走行終了後に生成した情報(運動情報生成部270がユーザーの走行中に生成した運動情報以外の情報)を含んでもよい。
処理部20は、走行後出力情報を表示装置3又は不図示のパーソナルコンピューターやスマートフォン等の情報機器に送信し、表示装置3又は当該情報機器は走行後出力情報を受信して対応する画像、音、振動等のデータを生成し、表示部、音出力部、振動部等を介してユーザーに提示(伝達)する。
1−7.特徴点の検出
ユーザーの走行時には、右足を踏み出して着地し、踏み込み、離地し(蹴り出し)、次に、左足を踏み出して着地し、踏み込み、離地する(蹴り出す)という動作を繰り返す。従って、着地、踏込、離地(蹴り出し)を走行の特徴点と捉えることができる。そして、これらの特徴点における入力情報や特徴点から次の特徴点までの入力情報を基に、運動の良し悪しを評価することができる。そこで、本実施形態では、特徴点検出部260は、ユーザーの走行における着地、踏込、離地(蹴り出し)の3つの特徴点を検出し、接地時間・衝撃時間算出部262は、着地や離地(蹴り出し)のタイミングに基づいて接地時間や衝撃時間を算出する。また、第1解析情報生成部273は、第1解析情報の一部の項目について、特徴点における入力情報や特徴点から次の特徴点までの入力情報を用いて算出する。
着地及び離地(蹴り出し)のタイミングの判定方法について、図13を用いて説明する。図13は、地面に床反力計を設置し、3軸加速度センサーを内蔵した装置を腰に装着した被験者が走行した時に取得した加速度データのグラフである。図13において、横軸は時間、縦軸は加速度である。なお、図13では、床反力計の出力データも並べて表示している。床反力計は足が接地しているときのみ検出値が変化するので、図13より、床反力計のデータと加速度データとを比較すると、着地のタイミングは、上下方向加速度(加速度センサーのz軸の検出値)が、正値から負値に変化する点で判定することができるとわかる。また、離地(蹴り出し)のタイミングは上下方向加速度(加速度センサーのz軸の検出値)が負値から正値に変化する点で判定することができる。図13に示すように、接地時間は、離地の時刻と着地の時刻との差から計算できる。
踏込のタイミングの判定方法について、図14を用いて説明する。図14において、横軸は時間、縦軸は加速度である。図14に示すように、着地(上下方向加速度が正値から負値に変化する点)の後、上下方向加速度が負の方向にピークとなった以降に進行方向加速度がピークになるポイントを踏込のタイミングと判定することができる。
1−8.入力情報及び解析情報の詳細
1−8−1.入力情報と解析情報との関係
図15は、入力情報と解析情報(第1解析情報、第2解析情報及び左右差率)との関係を示す図である。
入力情報は、「進行方向加速度」、「進行方向速度」、「進行方向距離」、「上下方向加速度」、「上下方向速度」、「上下方向距離」、「左右方向加速度」、「左右方向速度」、「左右方向距離」、「姿勢角(ロール角、ピッチ角、ヨー角)」、「角速度(ロール方向、ピッチ方向、ヨー方向)」、「走行ピッチ」、「ストライド」、「接地時間」、「衝撃時間」及び「体重」の各項目を含む。
第1解析情報は、「着地時ブレーキ量1」、「着地時ブレーキ量2」、「真下着地率1」、「真下着地率2」、「真下着地率3」、「推進力1」、「推進力2」、「推進効率1」、「推進効率2」、「推進効率3」、「推進効率4」、「エネルギー消費量」、「着地
衝撃」、「ランニング能力」、「前傾角」及び「タイミング一致度」の項目を含む。第1解析情報に含まれる「推進効率4」を除く各項目は、入力情報の少なくとも1つの項目から算出される。「推進効率4」は、エネルギー消費量から算出される。図15では、入力情報のどの項目を用いて第1解析情報のどの項目が算出されるかを矢印で示している。例えば、「真下着地率1」は、進行方向加速度と上下方向速度から算出される。
第2解析情報は、「エネルギー損失」、「エネルギー効率」及び「体への負担」の項目を含む。第2解析情報に含まれる各項目は、第1解析情報の少なくとも1つの項目から算出される。図15では、第1解析情報のどの項目を用いて第2解析情報のどの項目が算出されるかを示している。例えば、「エネルギー損失」は、「真下着地率(真下着地率1〜3)」及び「推進効率(推進効率1〜4)」から算出される。
左右差率は、ユーザーの体の左右のバランスを示す指標であり、入力情報に含まれる「走行ピッチ」、「ストライド」、「接地時間」及び「衝撃時間」、第1解析情報の全ての項目及び第2解析情報のすべての項目に対して算出される。
1−8−2.入力情報
以下に、入力情報の各項目の詳細について説明する。
[進行方向加速度、上下方向加速度、左右方向加速度]
「進行方向」とはユーザーの進行方向(mフレームのx軸方向)であり、「上下方向」とは鉛直方向(mフレームのz軸方向)であり、「左右方向」とは進行方向と上下方向にともに直交する方向(mフレームのy軸方向)である。進行方向加速度、上下方向加速度及び左右方向加速度は、それぞれ、mフレームのx軸方向の加速度、z軸方向の加速度及びy軸方向の加速度であり、座標変換部250により算出される。図16に、ユーザーが走行中の進行方向加速度、上下方向加速度及び左右方向加速度を10ms周期で算出したグラフの一例を示す。
[進行方向速度、上下方向速度、左右方向速度]
進行方向速度、上下方向速度及び左右方向速度は、それぞれ、mフレームのx軸方向の速度、z軸方向の速度及びy軸方向の速度であり、座標変換部250により算出される。あるいは、進行方向加速度、上下方向加速度及び左右方向加速度をそれぞれ積分することにより、進行方向速度、上下方向速度及び左右方向速度をそれぞれ算出することもできる。図17に、ユーザーが走行中の進行方向速度、上下方向速度及び左右方向速度を10ms周期で算出したグラフの一例を示す。
[角速度(ロール方向、ピッチ方向、ヨー方向)]
ロール方向の角速度、ピッチ方向の角速度及びヨー方向の角速度は、それぞれ、mフレームのx軸回りの角速度、y軸回りの角速度及びz軸回りの角速度であり、座標変換部250により算出される。図18に、ユーザーが走行中のロール方向の角速度、ピッチ方向の角速度及びヨー方向の角速度を10ms周期で算出したグラフの一例を示す。
[姿勢角(ロール角、ピッチ角、ヨー角)]
ロール角、ピッチ角及びヨー角は、それぞれ、座標変換部250が出力するmフレームのx軸回りの姿勢角、y軸回りの姿勢角及びz軸回りの姿勢角であり、座標変換部250により算出される。あるいは、ロール方向の角速度、ピッチ方向の角速度及びヨー方向の角速度を積分(回転演算)することにより、ロール角、ピッチ角及びヨー角を算出することもできる。図19に、ユーザーが走行中のロール角、ピッチ角及びヨー角を10ms周期で算出したグラフの一例を示す。
[進行方向距離、上下方向距離、左右方向距離]
進行方向距離、上下方向距離及び左右方向距離は、それぞれ、所望の位置(例えば、ユーザーの走行開始直前の位置)からの、mフレームのx軸方向の移動距離、z軸方向の移動距離及びy軸方向の移動距離であり、座標変換部250により算出される。図20に、ユーザーが走行中の進行方向距離、上下方向距離及び左右方向距離を10ms周期で算出したグラフの一例を示す。
[走行ピッチ]
走行ピッチは、1分間あたりの歩数であり、ピッチ算出部246により算出される。あるいは、1分間の進行方向距離をストライドで除算することにより、走行ピッチを算出することもできる。
[ストライド]
ストライドは、1歩の歩幅であり、歩幅算出部244により算出される。あるいは、1分間の進行方向距離を走行ピッチで除算することにより、ストライドを算出することもできる。
[接地時間]
接地時間は、着地から離地(蹴り出し)までにかかった時間であり(図13参照)、接地時間・衝撃時間算出部262により算出される。離地(蹴り出し)とは、つま先が地面から離れる時である。なお、接地時間は、走行スピードと相関が高いため、第1解析情報のランニング能力として使用することもできる。
[衝撃時間]
衝撃時間は、着地により発生する衝撃が体にかかっている時間であり、接地時間・衝撃時間算出部262により算出される。衝撃時間の計算方法について、図21を用いて説明する。図21において、横軸は時間、縦軸は進行方向加速度である。図21に示すように、衝撃時間=(1歩中の進行方向加速度が最小となる時刻−着地の時刻)で計算できる。
[体重]
体重は、ユーザーの体重であり、走行前にユーザーが操作部150を操作することによりその数値が入力される。
1−8−3.第1解析情報
以下に、第1解析情報生成部273により算出される第1解析情報の各項目の詳細について説明する。
[着地時ブレーキ量1]
着地時ブレーキ量1は、着地により低下した速度量である。着地時ブレーキ量1の計算方法について、図22を用いて説明する。図22において、横軸は時間、縦軸は進行方向速度である。図22に示すように、着地時ブレーキ量1=(着地前の進行方向速度−着地後の進行方向最低速度)で計算できる。着地により進行方向の速度は低下し、1歩の中で着地後の進行方向速度の最下点が進行方向最低速度である。
[着地時ブレーキ量2]
着地時ブレーキ量2は、着地により発生した進行方向マイナスの最低加速度量である。着地時ブレーキ量2の計算方法について、図23を用いて説明する。図23において、横軸は時間、縦軸は進行方向加速度である。図23に示すように、着地時ブレーキ量2は、1歩における着地後の進行方向最低加速度と一致する。1歩の中で着地後の進行方向加速度の最下点が進行方向最低加速度である。
[真下着地率1]
真下着地率1は、体の真下で着地できているかを表現する指標である。体の真下で着地できるようになると、着地時のブレーキ量が少なくなり効率的な走りができるようになる。通常ブレーキ量は速度に応じて大きくなるため、ブレーキ量だけでは指標として不十分であるが、真下着地率1は率で表せる指標であるため、真下着地率1によれば速度が変わっても同じ評価ができる。真下着地率1の計算方法について、図24を用いて説明する。図24に示すように、着地時の進行方向加速度(マイナスの加速度)と上下方向加速度を用いて、α=arctan(着地時の進行方向加速度/着地時の上下方向加速度)とすると、真下着地率1=cosα×100(%)で計算できる。あるいは、走行の速い複数人のデータを用いて理想的な角度α’を算出し、真下着地率1={1−|(α’−α)/α’|}×100(%)で計算することもできる。
[真下着地率2]
真下着地率2は、体の真下で着地できているかを着地時の速度低下度合で表現する指標である。真下着地率2の計算方法について、図25を用いて説明する。図25において、横軸は時間、縦軸は進行方向速度である。図25に示すように、真下着地率2=(着地後の進行方向最低速度/着地直前の進行方向速度)×100(%)で計算される。
[真下着地率3]
真下着地率3は、体の真下で着地できているかを着地から体の真下に足が来るまでの距離又は時間で表現する指標である。真下着地率3の計算方法について、図26を用いて説明する。図26に示すように、真下着地率3=(体の真下に足が来る時の進行方向距離−着地時の進行方向距離)、あるいは、真下着地率3=(体の真下に足が来る時の時刻−着地時の時刻)で計算できる。ここで、図14に示したように、着地(上下方向加速度が正値から負値に変化する点)の後、上下方向加速度が負の方向にピークとなるタイミングがあり、このタイミングを体の真下に足が来るタイミング(時刻)と判定することができる。
なお、これ以外にも、図26に示すように、真下着地率3=β=arctan(着地から体の真下に足が来るまでの距離/腰の高さ)と定義してもよい。あるいは、真下着地率3=(1−着地から体の真下に足が来るまでの距離/着地から蹴り上げまでに移動した距離)×100(%)(足が接地している間に移動した距離の中で着地から体の真下に足が来るまでの距離が占める割合)として定義してもよい。あるいは、真下着地率3=(1−着地から体の真下に足が来るまでの時間/着地から蹴り上げまでに移動した時間)×100(%)(足が接地している間に移動した時間の中で着地から体の真下に足が来るまでの時間が占める割合)と定義してもよい。
[推進力1]
推進力1は、地面を蹴ることにより進行方向へ増加した速度量である。推進力1の計算方法について、図27を用いて説明する。図27において、横軸は時間、縦軸は進行方向速度である。図27に示すように、推進力1=(蹴り出し後の進行方向最高速度−蹴り出し前の進行方向最低速度)で計算できる。
[推進力2]
推進力2は、蹴り出しにより発生した進行方向プラスの最大加速度である。推進力2の計算方法について、図28を用いて説明する。図28において、横軸は時間、縦軸は進行方向加速度である。図28に示すように、推進力2は、1歩における蹴り出し後の進行方向最大加速度と一致する。
[推進効率1]
推進効率1は、蹴り出しの力が効率よく推進力になっているかを表す指標である。無駄な上下動、無駄な左右動がなくなると効率のよい走りができるようになる。通常上下動、左右動は速度に応じて大きくなるため、上下動、左右動だけでは指標として不十分であるが、推進効率力1は率で表せる指標であるため、推進効率力1によれば速度が変わっても同じ評価ができる。推進効率力1は、上下方向と左右方向についてそれぞれ計算される。上下方向の推進効率力1の計算方法について、図29を用いて説明する。図29に示すように、蹴り出し時の上下方向加速度と進行方向加速度を用いて、γ=arctan(蹴り出し時の上下方向加速度/蹴り出し時の進行方向加速度)とすると、上下方向の推進効率1=cosγ×100(%)で計算できる。あるいは、走行の速い複数人のデータを用いて理想的な角度γ’を算出し、上下方向の推進効率1={1−|(γ’−γ)/γ’|}×100(%)で計算することもできる。同様に、蹴り出し時の左右方向加速度と進行方向加速度を用いて、δ=arctan(蹴り出し時の左右方向加速度/蹴り出し時の進行方向加速度)とすると、左右方向の推進効率1=cosδ×100(%)で計算できる。あるいは、走行の速い複数人のデータを用いて理想的な角度δ’を算出し、左右方向の推進効率1={1−|(δ’−δ)/δ’|}×100(%)で計算することもできる。
なお、これ以外にも、γをarctan(蹴り出し時の上下方向の速度/蹴り出し時の進行方向の速度)に置き換えて上下方向の推進効率1を算出することもできる。同様に、δをarctan(蹴り出し時の左右方向の速度/蹴り出し時の進行方向の速度)に置き換えて左右方向の推進効率1を算出することもできる。
[推進効率2]
推進効率2は、蹴り出しの力が効率よく推進力になっているかを踏込時の加速度の角度を用いて表す指標である。推進効率2の計算方法について、図30を用いて説明する。図30に示すように、上下方向の推進効率2は、踏込時の上下方向加速度と進行方向加速度を用いて、ξ=arctan(踏込時の上下方向加速度/踏込時の進行方向加速度)とすると、上下方向の推進効率2=cosξ×100(%)で計算できる。あるいは、走行の速い複数人のデータを用いて理想的な角度ξ’を算出し、上下方向の推進効率2={1−|(ξ’−ξ)/ξ’|}×100(%)で計算することもできる。同様に、踏込時の左右方向加速度と進行方向加速度を用いて、η=arctan(踏込時の左右方向加速度/踏込時の進行方向加速度)とすると、左右方向の推進効率2=cosη×100(%)で計算できる。あるいは、走行の速い複数人のデータを用いて理想的な角度η’を算出し、左右方向の推進効率2={1−|(η’−η)/η’|}×100(%)で計算することもできる。
なお、これ以外にも、ξをarctan(踏込時の上下方向の速度/踏込時の進行方向の速度)に置き換えて上下方向の推進効率2を算出することもできる。同様に、ηをarctan(踏込時の左右方向の速度/踏込時の進行方向の速度)に置き換えて左右方向の推進効率2を算出することもできる。
[推進効率3]
推進効率3は、蹴り出しの力が効率よく推進力になっているかを飛び出しの角度を用いて表す指標である。推進効率3の計算方法について、図31を用いて説明する。図31において、横軸は進行方向距離、縦軸は上下方向距離である。図31に示すように、1歩における上下方向の最高到達点(上下方向距離の振幅の1/2)をH、蹴り出しから着地までの進行方向距離をXとすると、推進効率3は、式(6)で計算できる。
[推進効率4]
推進効率4は、蹴り出しの力が効率よく推進力になっているかを、1歩の中で発生した全エネルギーに対する進行方向に進むために使われたエネルギーの比率で表す指標である。推進効率4=(進行方向に進むために使用したエネルギー/1歩に使用したエネルギー)×100(%)で計算される。このエネルギーは、位置エネルギーと運動エネルギーの和である。
[エネルギー消費量]
エネルギー消費量は、1歩進むのに消費するエネルギー量であり、1歩進むのに消費するエネルギー量を走行期間積算したものも表す。エネルギー消費量=(上下方向のエネルギー消費量+進行方向のエネルギー消費量+左右方向のエネルギー消費量)で計算される。ここで、上下方向のエネルギー消費量=(体重×重力×上下方向距離)で計算される。また、進行方向のエネルギー消費量=[体重×{(蹴り出し後の進行方向最高速度)2−(着地後の進行方向最低速度)2}/2]で計算される。また、左右方向のエネルギー消費量=[体重×{(蹴り出し後の左右方向最高速度)2−(着地後の左右方向最低速度)2}/2]で計算される。
[着地衝撃]
着地衝撃は、着地によりどれくらいの衝撃が体にかかっているかを表す指標である。着地衝撃=(上下方向の衝撃力+進行方向の衝撃力+左右方向の衝撃力)で計算される。ここで、上下方向の衝撃力=(体重×着地時の上下方向速度/衝撃時間)で計算される。また、進行方向の衝撃力={体重×(着地前の進行方向速度−着地後の進行方向最低速度)/衝撃時間}で計算される。また、左右方向の衝撃力={体重×(着地前の左右方向速度−着地後の左右方向最低速度)/衝撃時間}で計算される。
[ランニング能力]
ランニング能力は、ユーザーのランニングの力を表す指標である。例えば、ストライドと接地時間との比と、ランニングの記録(タイム)との間には相関関係があることが知られている(「100m走レース中の接地時間、離地時間について」、Journal of Research and Development for Future Athletics.3(1):1-4, 2004.)。ランニング能力=(ストライド/接地時間)で計算される。
[前傾角]
前傾角は、ユーザーの胴体が地面に対してどの程度傾いているかを表す指標である。図32に示すように、ユーザーが地面に対して垂直に立っている状態の時の前傾角を0度とし(左端の図)、前かがみの時の前傾角は正の値であり(中央の図)、のけぞっている場合の前傾角は負の値である(右端の図)。前傾角は、mフレームのピッチ角を上記の様な仕様となるように変換することで得られる。運動解析装置2(慣性計測ユニット10)をユーザーに装着した時に、既に傾きがある可能性があるので、静止時を左の図の0度と仮定し、そこからの変化量で前傾角を計算してもよい。
[タイミング一致度]
タイミング一致度は、ユーザーの特徴点のタイミングが良いタイミングにどれだけ近い
かを表す指標である。例えば、腰回転のタイミングが蹴り出しのタイミングにどれだけ近いかを表す指標が考えられる。脚が流れている走り方では、片脚を着いた時に逆脚はまだ身体の後ろに残っているので、蹴り出し後に腰の回転タイミングが来る場合は脚が流れている走り方と判断できる。図33(A)では、腰の回転タイミングが蹴り出しのタイミングとほぼ一致しており、良い走り方と言える。一方、図33(B)では、腰の回転タイミングが蹴り出しのタイミングよりも遅れており、脚が流れている走り方と言える。
1−8−4.第2解析情報
以下に、第2解析情報生成部274により算出される第2解析情報の各項目の詳細について説明する。
[エネルギー損失]
エネルギー損失は、1歩進むのに消費するエネルギー量の中で無駄に使われたエネルギー量であり、1歩進むのに消費するエネルギー量の中で無駄に使われたエネルギー量を走行期間積算したものも表す。エネルギー損失={エネルギー消費量×(100−真下着地率)×(100−推進効率)}で計算される。ここで、真下着地率は真下着地率1〜3のいずれかであり、推進効率は推進効率1〜4のいずれかである。
[エネルギー効率]
エネルギー効率は、1歩進むのに消費したエネルギーが進行方向へ進むエネルギーに効率よく使われているかを表す指標であり、それを走行期間積算したものも表す。エネルギー効率={(エネルギー消費量−エネルギー損失)/エネルギー消費量}で計算される。
[体への負担]
体への負担は、着地衝撃を累積し、体にどれくらいの衝撃がたまっているかを表す指標である。怪我は衝撃の蓄積により起こるので、体への負担を評価することにより、怪我のしやすさも判断できる。体への負担=(右脚の負担+左脚の負担)で計算される。右脚の負担は、右脚の着地衝撃を積算することで計算できる。左脚の負担は、左脚の着地衝撃を積算することで計算できる。ここで、積算は走行中の積算と過去からの積算の両方を行う。
1−8−5.左右差率(左右バランス)
左右差率は、走行ピッチ、ストライド、接地時間、衝撃時間、第1解析情報の各項目、第2解析情報の各項目について、体の左右でどれくらい差がみられるかを表す指標であり、左脚が右脚に対してどれくらい違うかを表すものとする。左右差率=(左脚の数値/右脚の数値×100)(%)で計算され、数値は、走行ピッチ、ストライド、接地時間、衝撃時間、ブレーキ量、推進力、真下着地率、推進効率、速度、加速度、移動距離、前傾角、腰の回転角、腰の回転角速度、左右への傾き量、衝撃時間、ランニング能力、エネルギー消費量、エネルギー損失、エネルギー効率、着地衝撃、体への負担の各数値である。また、左右差率は、各数値の平均値や分散も含む。
1−9.走行中のフィードバック
1−9−1.フィードバックする情報
走行中出力情報生成部280は、走行中出力情報として、走行ピッチ、ストライド、走行速度、標高、走行距離、走行時間などの基本情報を出力する。また、走行中出力情報生成部280は、走行中出力情報として、接地時間、着地時ブレーキ量、真下着地率、推進効率、接地時間、前傾角、タイミング一致度、ランニング能力、エネルギー効率、左右差率などの現在の情報の各数値、あるいは、これらの数歩分(例えば10歩分)の平均値(移動平均値)を出力する。また、走行中出力情報生成部280は、走行中出力情報として、これらの数値を時系列にグラフ化した情報、エネルギー消費量、体への負担(蓄積ダメ
ージ)等の時系列の情報を出力する。また、走行中出力情報生成部280は、走行中出力情報として、ユーザーの走行状態の評価情報、ユーザーの走行状態を改善するためのアドバイス情報やユーザーの走行成績を向上するためのアドバイス情報、走行軌跡情報等を出力する。走行中出力情報は、ユーザーの走行中にユーザーに提示(フィードバック)される。
1−9−2.フィードバックするタイミング
走行中出力情報生成部280は、所定条件を満たす項目(運動情報)を用いて生成した走行中出力情報を出力する。例えば、走行中出力情報生成部280は、所定の項目の数値が設定した閾値(基準値)を超えた場合に、超えてしまったという状態、超えてしまった項目、最も悪い項目などの情報を出力してもよい。あるいは、走行中出力情報生成部280は、所定の項目の数値が設定した閾値(基準値)を超えていない場合に、超えていないという状態、超えていない項目、最も良い項目などの情報を出力してもよい。あるいは、走行中出力情報生成部280は、ユーザーにより選択された情報を走行中常に出力してもよい。あるいは、走行中出力情報生成部280は、ユーザーにより選択された情報が閾値(基準値)を超えた場合に、超えてしまったという状態とその数値を出力してもよい。あるいは、走行中出力情報生成部280は、ユーザーにより選択された情報が閾値を超えていない場合に、超えていないという状態とその数値を出力してもよい。
1−9−3.フィードバックする方法
走行中出力情報生成部280が出力する走行中出力情報を、表示装置3の表示部170に画面表示してユーザーにフィードバックしてもよい。あるいは、表示装置3の音出力部180から音声でフィードバックしてもよい。あるいは、腰回転タイミングやピッチ、蹴り出しタイミングなど、タイミングに関する内容を、表示装置3の音出力部180から「ピッピッ」などの短い音でフィードバックしてもよい。あるいは、表示装置3の音出力部180や振動部190から音や振動により、ユーザーに対して表示部170に表示した内容を見るように指示してもよい。
1−9−4.フィードバックの具体例
[走行ピッチ]
走行ピッチが事前に設定された基準範囲内(下限閾値以上、かつ、上限閾値以下)であるか否かを判定し、走行ピッチが下限閾値よりも低くなった場合には「ピッチが低くなっています。」等の表示や音声を表示部170や音出力部180から出力し、走行ピッチが上限閾値よりも高くなった場合には「ピッチが高くなっています。」等の表示や音声を出力してもよい。あるいは、走行ピッチが下限閾値よりも低くなった場合には、音出力部180や振動部190からテンポの遅い音や振動を出力し、走行ピッチが上限閾値よりも高くなった場合には、テンポの速い音や振動を出力する等、音や振動のテンポを変えて出力してもよい。
あるいは、走行ピッチが基準範囲外であれば、例えば、「ピッチが低くなっています。歩幅を少し狭くし、ピッチを上げる意識をしましょう。」、「ピッチが高くなっています。歩幅を少し広くし、ピッチを下げる意識をしましょう。」等の、基準範囲内に入るようにするためのアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
走行ピッチの情報を出力する場合は、例えば、表示部170に現在の走行ピッチの数値や数歩分の平均値を表示してもよいし、音出力部180から走行ピッチに応じたテンポまたは長さの音や走行ピッチに応じた音楽を出力してもよい。例えば、走行ピッチの逆数(1歩あたりの時間)を算出し、1歩毎に短い音を出力してもよい。
[ストライド]
ストライドが事前に設定された基準範囲内(下限閾値以上、かつ、上限閾値以下)であるか否かを判定し、ストライドが下限閾値よりも低くなった場合には「ストライドが短くなっています。」等の表示や音声を表示部170や音出力部180から出力し、ストライドが上限閾値よりも高くなった場合には「ストライドが長くなっています。」等の表示や音声を出力してもよい。あるいは、ストライドが下限閾値よりも低くなった場合には、音出力部180や振動部190からテンポの遅い音や振動を出力し、ストライドが上限閾値よりも高くなった場合には、テンポの速い音や振動を出力する等、音や振動のテンポを変えて出力してもよい。
あるいは、ストライドが基準範囲外であれば、例えば、「ストライドが短くなっています。歩幅を少し広くし、ストライドを長くする意識をしましょう。」、「ストライドが長くなっています。歩幅を少し狭くし、ストライドを短くする意識をしましょう。」等の、基準範囲内に入るようにするためのアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
ストライドの情報を出力する場合は、例えば、表示部170に現在のストライドの数値や数歩分の平均値を表示してもよいし、音出力部180からストライドに応じたテンポまたは長さの音やストライドに応じた音楽を出力してもよい。
[接地時間]
走行中に、接地時間の平均値等が向上した場合には、「ランニング能力が上がりました。このまま継続して練習しましょう。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
接地時間の情報を出力する場合は、例えば、表示部170に現在の接地時間や数歩分の平均値を表示してもよいし、音出力部180から接地時間に応じたテンポまたは長さの音や接地時間に応じた音楽を出力してもよい。ただし、ユーザーは接地時間の数値を知っても良いか悪いかの判定が難しいので、例えば、事前に決めた閾値を用いて、接地時間の数値が例えば10段階のいずれのレベルに属するかを判定し、ユーザーの接地時間のレベルを1〜10でフィードバックしてもよい。
[着地時ブレーキ量1]
着地時ブレーキ量1を事前に設定された閾値と比較し、閾値よりも高くなった場合にはブレーキ量が大きすぎると判定して「ブレーキ量が大きくなっています。」、「腰が落ちた走り方になっている可能性があります。」等の表示や音声を表示部170や音出力部180から出力してもよい。あるいは、着地時ブレーキ量1が閾値よりも高くなった場合には、音声以外の音や振動を出力してもよい。
あるいは、着地時ブレーキ量1が閾値よりも高くなった場合には、例えば、「ブレーキ量が大きくなっています。ブレーキ量が大きいと、効率が悪くなり更には怪我の危険性も高まります。」、「腰が落ちた走り方になっている可能性があります。骨盤を意識して、体の真下に着地し、着地時に腰が落ちないように心がけましょう。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
着地時ブレーキ量1の情報を出力する場合は、例えば、表示部170に現在の着地時ブレーキ量1の数値や数歩分の平均値を表示してもよいし、音出力部180から着地時ブレーキ量1に応じた音量の音を出力してもよい。
[着地時ブレーキ量2]
着地時ブレーキ量1と同様に、着地時ブレーキ量2が閾値よりも高くなった場合に、ブレーキ量が大きすぎることをフィードバックする。あるいは、着地時ブレーキ量2が閾値よりも高くなった場合に、着地時ブレーキ量1と同様のアドバイスをフィードバックしてもよい。着地時ブレーキ量2の情報を出力する場合は、着地時ブレーキ量1と同様に、着地時ブレーキ量2の数値や数歩分の平均値を表示してもよいし、着地時ブレーキ量2に応じた音量の音を出力してもよい。
[真下着地率1]
真下着地率1を事前に設定された閾値と比較し、閾値よりも低くなった場合には真下に着地できていないと判定して「真下着地率が下がっています。」、「真下に着地できていません。」等の表示や音声を表示部170や音出力部180から出力してもよい。あるいは、真下着地率1が閾値よりも低くなった場合には、音声以外の音や振動を出力してもよい。
あるいは、真下着地率1が閾値よりも低くなった場合には、例えば、「真下着地率が下がっています。真下着地ができなくなると、ブレーキ量の増加、上下動の増加が起こり、効率の悪い走りになります。背筋は伸ばしてしっかりと腰を入れることを意識しましょう。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
真下着地率1の情報を出力する場合は、例えば、表示部170に現在の真下着地率1の数値や数歩分の平均値を表示してもよいし、音出力部180から真下着地率1に応じた音量の音を出力してもよい。
[真下着地率2]
真下着地率1と同様に、真下着地率2が閾値よりも低くなった場合に、真下に着地できていないことをフィードバックする。あるいは、真下着地率2が閾値よりも低くなった場合に、真下着地率1と同様のアドバイスをフィードバックしてもよい。真下着地率2の情報を出力する場合は、真下着地率1と同様に、真下着地率2の数値や数歩分の平均値を表示してもよいし、真下着地率2に応じた音量の音を出力してもよい。
[真下着地率3]
真下着地率1と同様に、真下着地率3が閾値よりも低くなった場合に、真下に着地できていないことをフィードバックする。あるいは、真下着地率3が閾値よりも低くなった場合に、真下着地率1と同様のアドバイスをフィードバックしてもよい。真下着地率3の情報を出力する場合は、真下着地率1と同様に、真下着地率3の数値や数歩分の平均値を表示してもよいし、真下着地率3に応じた音量の音を出力してもよい。
[推進力1]
推進力1を事前に設定された閾値と比較し、閾値よりも低くなった場合には推進力が低下したと判定して「推進力が下がっています。」、「蹴りの力が上方向に働いている可能性があります。」等の表示や音声を表示部170や音出力部180から出力してもよい。あるいは、推進力1が閾値よりも低くなった場合には、音声以外の音や振動を出力してもよい。
あるいは、推進力1が閾値よりも低くなった場合には、例えば、「蹴りの力が上方向に働いている可能性があります。蹴り上げずに足裏全体で地面を捉えるようなイメージで走ってみてください。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
推進力1の情報を出力する場合は、例えば、表示部170に現在の推進力1の数値や数歩分の平均値を表示してもよいし、音出力部180から推進力1に応じた音量の音を出力してもよい。
[推進力2]
推進力1と同様に、推進力2が閾値よりも低くなった場合に、推進力が低下したことをフィードバックする。あるいは、推進力2が閾値よりも低くなった場合に、推進力1と同様のアドバイスをフィードバックしてもよい。推進力2の情報を出力する場合は、推進力1と同様に、推進力2の数値や数歩分の平均値を表示してもよいし、推進力2に応じた音量の音を出力してもよい。
[推進効率1]
推進効率1を事前に設定された閾値と比較し、閾値よりも低くなった場合には上下動や左右動が大きすぎると判定して「推進効率が下がっています。」、「上下動、左右動が大きいです。」等の表示や音声を表示部170や音出力部180から出力してもよい。あるいは、推進力1が閾値よりも低くなった場合には、音声以外の音や振動を出力してもよい。
あるいは、推進効率1が閾値よりも低くなった場合には、例えば、「上下動、左右動が大きいです。蹴り上げすぎると上にはねるようなフォームになってしまい、ふくらはぎなどの負担が大きくなるので、足裏全体で地面を捉えるようなイメージで走ってください。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
推進効率1の情報を出力する場合は、例えば、表示部170に現在の推進効率1の数値や数歩分の平均値を表示してもよいし、音出力部180から推進効率1に応じた音量の音を出力してもよい。ただし、ユーザーは推進効率1の数値を知っても良いか悪いかの判定が難しいので、例えば、現在のユーザーの推進効率1に対応する向きの表示と理想の推進効率1(45度程度)に対応する向きの表示とを重ねて表示してもよい(あるいは、並べて表示してもよい)。
[推進効率2]
推進効率1と同様に、推進効率2が閾値よりも低くなった場合に、上下動や左右動が大きすぎることをフィードバックする。あるいは、推進効率2が閾値よりも低くなった場合に、推進効率1と同様のアドバイスをフィードバックしてもよい。推進効率2の情報を出力する場合は、推進効率1と同様に、推進効率2の数値や数歩分の平均値を表示してもよいし、推進効率2に応じた音量の音を出力してもよい。
[推進効率3]
推進効率1と同様に、推進効率3が閾値よりも低くなった場合に、上下動や左右動が大きすぎることをフィードバックする。あるいは、推進効率3が閾値よりも低くなった場合に、推進効率1と同様のアドバイスをフィードバックしてもよい。推進効率3の情報を出力する場合は、推進効率1と同様に、推進効率3の数値や数歩分の平均値を表示してもよいし、推進効率3に応じた音量の音を出力してもよい。
[推進効率4]
推進効率1と同様に、推進効率4が閾値よりも低くなった場合に、上下動や左右動が大きすぎることをフィードバックする。あるいは、推進効率4が閾値よりも低くなった場合に、推進効率1と同様のアドバイスをフィードバックしてもよい。推進効率4の情報を出力する場合は、推進効率1と同様に、推進効率4の数値や数歩分の平均値を表示してもよいし、推進効率4に応じた音量の音を出力してもよい。
[エネルギー消費量]
エネルギー消費量を事前に設定された閾値と比較し、閾値よりも高くなった場合には無駄なエネルギー消費が大きすぎると判定して「1歩にかかるエネルギー消費量が大きくなっています。」等の表示や音声を表示部170や音出力部180から出力してもよい。あるいは、エネルギー消費量が閾値よりも高くなった場合には、音声以外の音や振動を出力してもよい。
あるいは、エネルギー消費量が閾値よりも高くなった場合には、例えば、「1歩にかかるエネルギー消費量が大きくなっています。効率的な走りをすることで、無駄なエネルギー消費を抑えましょう。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
エネルギー消費量の情報を出力する場合は、例えば、表示部170に現在までのエネルギー消費量の数値を表示してもよいし、音出力部180からエネルギー消費量に応じた音量の音を出力してもよい。
[着地衝撃]
着地衝撃を事前に設定された閾値と比較し、閾値よりも高くなった場合には無駄な着地衝撃が大きすぎると判定して「着地衝撃が大きいです。」等の表示や音声を表示部170や音出力部180から出力してもよい。あるいは、着地衝撃が閾値よりも高くなった場合には、音声以外の音や振動を出力してもよい。
あるいは、着地衝撃が閾値よりも高くなった場合には、例えば、「着地衝撃が大きいです。衝撃が累積されると怪我につながる危険性があります。上下動を抑えた走り、体の真下に着地するよう心掛けて走りましょう。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
着地衝撃の情報を出力する場合は、例えば、表示部170に現在の着地衝撃の数値や数歩分の平均値を表示してもよいし、音出力部180から着地衝撃に応じた音量の音を出力してもよい。
[ランニング能力]
走行中に、ランニング能力の平均値等が向上した場合には、「ランニング能力が上がりました。このまま継続して練習しましょう。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
ランニング能力の情報を出力する場合は、例えば、表示部170に現在のランニング能力や数歩分の平均値を表示してもよいし、音出力部180からランニング能力に応じた音量の音を出力してもよい。ただし、ユーザーはランニング能力の数値を知っても良いか悪いかの判定が難しいので、例えば、事前に決めた閾値を用いて、ランニング能力の数値が例えば10段階のいずれのレベルに属するかを判定し、ユーザーのランニング能力のレベルを1〜10でフィードバックしてもよい。
[前傾角]
前傾角が事前に設定された基準範囲内(下限閾値以上、かつ、上限閾値以下)であるか否かを判定し、前傾角が下限閾値よりも低くなった場合には「後傾の走り方になっています。」等の表示や音声を表示部170や音出力部180から出力し、前傾角が上限閾値よりも高くなった場合には「前傾しすぎています。」等の表示や音声を出力してもよい。あるいは、前傾角が下限閾値よりも低くなった場合には、音出力部180や振動部190か
ら音量の小さい音や振動量の小さい振動を出力し、前傾角が上限閾値よりも高くなった場合には、音量の大きい音や振動量の大きい振動を出力する等、音量や振動量を変えて出力してもよい。
あるいは、前傾角が基準範囲外であれば、例えば、「後傾の走り方になっています。猫背気味になっている可能性があります。骨盤の上にまっすぐ上体を乗せる、踏み出した足に重心を乗せることを意識しましょう。」等の、基準範囲内に入るようにするためのアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
前傾角の情報を出力する場合は、例えば、表示部170に現在の前傾角の数値や数歩分の平均値を表示してもよいし、音出力部180から前傾角に応じた音量の音を出力してもよい。ただし、ユーザーは前傾角の数値を知っても良いか悪いかの判定が難しいので、例えば、現在のユーザーの姿勢を表す画像と理想の姿勢(5度〜10度程度前傾した姿勢)を表す画像とを重ねて表示してもよい(あるいは、並べて表示してもよい)。
[タイミング一致度]
タイミング一致度が事前に設定された基準範囲内(下限閾値以上、かつ、上限閾値以下)であるか否かを判定し、タイミング一致度が基準範囲外となった場合には、基準範囲外であることを示す表示や音声を出力してもよい。あるいは、タイミング一致度が基準範囲外となった場合には、音出力部180や振動部190から音量や振動量を変えて出力してもよい。
あるいは、タイミング一致度が基準範囲外であれば、基準範囲内に入るようにするためのアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
一例として、腰回転のタイミングと蹴り出しのタイミングとのタイミング一致度についてすると、例えば、現在の腰回転のタイミングと蹴り出しのタイミングとの差の数値(正又は負の数値)や数歩分の平均値を表示してもよいし、当該差の数値に応じた音量の音を出力してもよい。あるいは、腰回転のタイミングと蹴り出しのタイミングとの差が上限閾値よりも高くなった場合には、脚が流れている走り方と判定し、「脚が流れている走り方になっています。」等の表示や音声を出力してもよい。あるいは、腰回転のタイミングと蹴り出しのタイミングとの差が上限閾値よりも高くなった場合には、例えば、「脚が流れている走り方になっています。膝から下の力を使う走りになり、ふくらはぎがすぐ疲れてくる可能性があります。蹴り出し後の脚の引きを早くする意識を持ちましょう。」等のアドバイスの表示や音声を出力してもよい。
タイミング一致度の情報を出力する場合は、例えば、表示部170に現在のタイミング一致度の数値や数歩分の平均値を表示してもよいし、音出力部180からタイミング一致度に応じた音量の音を出力してもよい。
[エネルギー損失]
エネルギー損失を事前に設定された閾値と比較し、閾値よりも高くなった場合には無駄なエネルギー消費が大きすぎると判定して「1歩にかかるエネルギー消費量が大きくなっています。」等の表示や音声を表示部170や音出力部180から出力してもよい。あるいは、エネルギー損失が閾値よりも高くなった場合には、音声以外の音や振動を出力してもよい。
あるいは、エネルギー損失が閾値よりも高くなった場合には、例えば、「1歩にかかるエネルギー消費量が大きくなっています。効率的な走りをすることで、無駄なエネルギー消費を抑えましょう。」等のアドバイスの表示や音声を、表示部170や音出力部180
から出力してもよい。
エネルギー損失の情報を出力する場合は、例えば、表示部170に現在のエネルギー損失の数値や数歩分の平均値を表示してもよいし、音出力部180からエネルギー損失に応じた音量の音を出力してもよい。
[エネルギー効率]
エネルギー損失と同様に、エネルギー効率の数値をフィードバックし、あるいは、エネルギー効率が閾値よりも高くなった場合に、無駄なエネルギー消費が大きすぎることをフィードバックする。あるいは、エネルギー損失が閾値よりも高くなった場合に、エネルギー損失と同様のアドバイスをフィードバックしてもよい。エネルギー効率の情報を出力する場合は、エネルギー損失と同様に、エネルギー効率の数値や数歩分の平均値を表示してもよいし、エネルギー効率に応じた音量の音を出力してもよい。
[体への負担]
体への負担を事前に設定された閾値と比較し、閾値よりも高くなった場合には体への負担が大きすぎると判定して「体への負担が大きくなってきています。」等の表示や音声を表示部170や音出力部180から出力してもよい。あるいは、体への負担が閾値よりも高くなった場合には、音声以外の音や振動を出力してもよい。
あるいは、体への負担が閾値よりも高くなった場合には、例えば、「体への負担が大きくなってきています。休息を挟みましょう。負担が重なると怪我につながる危険性があります。上下動を抑えた走り、体の真下に着地するよう心掛けて走りましょう。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
体への負担の情報を出力する場合は、例えば、表示部170に現在までの体への負担(蓄積ダメージ)の数値を表示してもよいし、音出力部180から体への負担に応じた音量の音を出力してもよい。
[左右差率]
上記の各項目について、左右差率が事前に設定された基準範囲内(下限閾値(例えば70%)以上、かつ、上限閾値(例えば、130%)以下)であるか否かを判定し、左右差率が基準範囲外になった場合には「左右バランスが悪いです。」等の表示や音声を表示部170や音出力部180から出力してもよい。
あるいは、左右差率が基準範囲外であれば、例えば、「左右バランスが悪いと、怪我の原因になります。左右差を抑えるために、ストレッチで均等な柔軟性を得たり、体幹の筋肉や中臀筋を鍛えましょう。」等のアドバイスの表示や音声を、表示部170や音出力部180から出力してもよい。
左右差率の情報を出力する場合は、例えば、表示部170に現在の左右差率の数値や数歩分の平均値を表示してもよいし、音出力部180から左右差率に応じた音量の音を出力してもよい。
1−9−5.表示例
図34(A)及び図34(B)に、ユーザーの走行中に腕時計型の表示装置3の表示部170に表示される画面の一例を示す。図34(A)の例では、表示部170に「前傾角」、「真下着地率」及び「推進効率」の各数値が表示されている。また、図34(B)の例では、横軸を走行開始からの時間、縦軸を「走行速度」、「走行ピッチ」、「着地時ブレーキ量」及び「ストライド」の各項目の数値とする時系列グラフが表示されている。図
34(A)の各項目の数値や図34(B)の各項目のグラフは、ユーザーの走行中にリアルタイムに更新される。ユーザーの操作に応じて、他の項目の数値が表示されてもよいし、グラフがスクロールしてもよい。図34(A)の画面や図34(B)の画面で表示される項目は、所定の条件を満たした項目(例えば、基準範囲内の項目、あるいは、基準項目外の項目)であってもよいし、音などで通知している項目であってもよいし、ユーザーが予め指定した項目であってもよい。また、図34(A)のような項目の数値を表示する画面と図34(B)のようなグラフを表示する画面は、ユーザーの入力操作で切り替え可能であってもよい。
ユーザーは、図34(A)や図34(B)のような画面を見ながら走行することで、現在の走行状態を確認し、例えば、各項目の数値が良くなるような走り方や数値の悪い項目が改善されるような走り方を意識しながら、あるいは、疲労状態を客観的に認識しながら走行を続けることができる。
1−10.走行後のフィードバック
1−10−1.フィードバックする情報
走行分析部290は、走行後出力情報として、運動情報生成部270がユーザーの走行中に生成した各種運動情報の一部又は全部を出力する。すなわち、複数の運動情報のうち、ユーザーの走行中に出力しなかった運動情報、あるいは、ユーザーの走行中に出力した運動情報をユーザーの走行終了後にフィードバックする。また、走行分析部290は、複数の運動情報を用いてユーザーの走行終了後に生成した情報を出力する。例えば、ユーザーの走行成績を向上させるためのアドバイス又はユーザーの走行状態を改善するためのアドバイスに関する情報をユーザーの走行後にフィードバックする。具体的には、本実施形態では、ユーザーの選択操作により、走行後出力情報として全体分析情報、詳細分析情報及び比較分析情報のいずれかが選択される。
1−10−2.フィードバックするタイミング
走行分析部290は、ユーザーの走行後にユーザーの入力操作に応じて走行後出力情報を出力する。具体的には、ユーザーが分析したい走行を過去の走行履歴から選択すると、走行分析部290は、全体分析モードに移行し、ユーザーが選択した走行の全体分析を行って全体分析情報を生成し、走行後出力情報として出力する。また、ユーザーが詳細分析の選択操作を行うと、走行分析部290は、詳細分析モードに移行し、その後のユーザーの操作に応じた詳細分析を行って詳細分析情報を生成し、走行後出力情報として出力する。また、ユーザーが比較分析の選択操作を行うと、走行分析部290は、比較分析モードに移行し、その後のユーザーの操作に応じた比較分析を行って比較分析情報を生成し、走行後出力情報として出力する。また、詳細分析モードや比較分析モードにおいて、ユーザーが全体分析の選択操作を行うと、走行分析部290は、全体分析モードに移行し、走行後出力情報として全体分析情報を出力する。なお、走行分析部290は、過去に生成した全体分析情報、詳細分析情報及び比較分析情報を、例えばFIFO(First-In First-Out)方式で記憶部30に記憶させ、全体分析、詳細分析又は比較分析を行うときにその分析結果の情報が記憶部30に記憶されている場合には、改めて各分析を行わずに記憶部30に記憶されている分析情報を読み出して出力してもよい。
1−10−3.フィードバックする方法
走行分析部290が出力する走行後出力情報を、表示装置3の表示部170に画面表示してユーザーにフィードバックしてもよい。あるいは、ユーザーの走行の評価やアドバイスを表示装置3の音出力部180から音声でフィードバックしてもよい。
1−10−4.表示例
[全体分析画面]
図35及び図36に、表示装置3の表示部170に表示される全体分析情報の画面(全体分析画面)の一例を示す。例えば、図35が1ページ目の画面であり、図36が2ページ目の画面である。ユーザーは、画面のスクロール操作等を行って、図35の画面又は図36の画面を選択して表示部170に表示させることができる。
図35の例では、全体分析画面410(1ページ目)には、ユーザーが事前に登録したユーザー画像411及びユーザー名412、ユーザーが選択した過去の走行の分析結果を表示するサマリー画像413、スタートからゴールまでの走行軌跡を表示する走行軌跡画像414、ユーザーが選択した項目の項目名415及びその時系列データ416、詳細分析ボタン417及び比較分析ボタン418が含まれている。
サマリー画像413には、ユーザーが選択した過去の走行が行われた日付、この走行における、「走行距離」、「走行時間」、「(スタートとゴールとの)標高差」、「平均ピッチ(走行ピッチの平均値)」、「平均ストライド(ストライドの平均値)」、「ランニング能力」、「平均真下着地率(真下着地率の平均値)」、「平均推進効率(進効率の平均値)」、「タイミング一致度」、「平均接地時間(接地時間の平均値)」、「消費エネルギー」、「平均エネルギー損失(エネルギー損失の平均値)」、「平均エネルギー効率(エネルギー効率の平均値)」、「平均左右バランス(左右差率の平均値)」及び「蓄積ダメージ(体への負担)」の各数値が含まれている。なお、走行後分析の起動時には、記憶部30に記憶されている最新の走行データの全体分析画面が表示されるようにしてもよい。
また、サマリー画像413には、数値が基準値よりも良い項目の横に所定のマーク419が付される。図35の例では、「ランニング能力」、「平均真下着地率」、「平均エネルギー損失」、「平均左右バランス」にマーク419が付されている。なお、数値が基準値よりも悪い項目や改善率が基準値よりも高い項目あるいは低い項目に所定のマークを付してもよい。
走行軌跡画像414は、ユーザーが選択した過去の走行(サマリー画像413に対応する走行)における、スタート地点からゴール地点までの走行軌跡を表示する画像である。
項目名415は、サマリー画像413に含まれる項目からユーザーが選択した項目を示し、時系列データ416は項目名415で示される項目の数値を時系列にグラフ化したものである。図35の例では、「平均エネルギー効率」が選択され、横軸を走行日、縦軸を平均エネルギー効率の数値とする時系列グラフが表示されている。そして、ユーザーが時系列データ416の横軸のいずれかの日付を選択すると、サマリー画像413には、選択した日付の走行の分析結果が表示される。
詳細分析ボタン417は、全体分析モードから詳細分析モードに移行するためのボタンであり、ユーザーが詳細分析ボタン417の選択操作(押下操作)を行うと詳細分析モードに移行し、詳細分析画面が表示される。
比較分析ボタン418は、全体分析モードから比較分析モードに移行するためのボタンであり、ユーザーが比較分析ボタン418の選択操作(押下操作)を行うと比較分析モードに移行し、比較分析画面が表示される。
図36の例では、全体分析画面420(2ページ目)には、ユーザーが過去に行った走行の履歴が表示される。図36の例では、全体分析画面420としてカレンダー画像が表示され、今日の日付(2014年3月24日)が太枠で示され、ユーザーが走行を行った日には走行距離と走行時間が表記されている。また、各週の走行距離の合計値と走行時間
の合計値も右端の欄に表記されている。ユーザーが全体分析画面420において過去のいずれかの走行を選択すると、図35に示した全体分析画面410はユーザーが選択した日付の全体分析の結果を表示する画面に変わる。
ユーザーは、図35や図36に示した全体分析画面を見て、過去に行った走行の成績を確認することで、自己の走り方の長所や短所を認識し、次回以降の走行において、走行成績を向上させるための走り方や走行状態を改善するための走り方を練習することができる。
[詳細分析画面]
図37、図38及び図39に、表示装置3の表示部170に表示される詳細分析情報の画面(詳細分析画面)の一例を示す。詳細分析画面は、全体分析画面よりも詳細な情報を提示できることが好ましい。例えば、全体分析画面よりも多い項目の情報を提示できるようにしてもよい。あるいは、1ページに表示する項目を全体分析画面よりも少なくし、より細かい時間間隔、より細かい数値などを表示することとしてもよい。例えば、図37が1ページ目の画面、図38が2ページ目の画面、図39が3ページ目の画面である。ユーザーは、画面のスクロール操作等を行って、図37の画面、図38の画面又は図39の画面を選択して表示部170に表示させることができる。
図37の例では、詳細分析画面430(1ページ目)には、ユーザーが事前に登録したユーザー画像431及びユーザー名432、ユーザーが選択した過去の走行におけるユーザーが選択した時刻の分析結果を表示するサマリー画像433、スタートからゴールまでの走行軌跡を表示する走行軌跡画像434、ユーザーが選択した項目の項目名435及びその時系列データ436、全体分析ボタン437及び比較分析ボタン438が含まれている。
サマリー画像433には、ユーザーが選択した過去の走行が行われた日付、この走行におけるユーザーが選択した時刻(スタートしてからの時刻)における、「(スタートから選択した時刻までの)走行距離」、「(スタートから選択した時刻までの)走行時間」、「走行速度」、「(スタート地点と選択した時刻における走行位置との)標高差」、「走行ピッチ」、「ストライド」、「ランニング能力」、「真下着地率」、「推進効率」、「タイミング一致度」、「着地時ブレーキ量」、「接地時間」、「消費エネルギー」、「エネルギー損失」、「エネルギー効率」、「左右バランス(左右差率)」及び「着地衝撃」の各数値が含まれている。
走行軌跡画像434は、ユーザーが選択した過去の走行(サマリー画像433に対応する走行)における、スタート地点からゴール地点までの走行軌跡を表示する画像であり、ユーザーが選択した時刻における走行位置が所定のマーク439bで示されている。
項目名435は、サマリー画像433に含まれる項目からユーザーが選択した項目を示し、時系列データ436は項目名435で示される項目の数値を時系列にグラフ化したものである。図37の例では、「走行速度」、「着地時ブレーキ量」、「走行ピッチ」、「ストライド」が選択され、横軸を走行開始からの時間、縦軸をこれらの各項目の数値とする時系列グラフが表示されている。また、時系列データ436には、左右方向に移動可能なスライドバー439aが表示されており、ユーザーはスライドバー439aを移動することで走行開始からの時刻を選択することができる。そして、スライドバー439aの位置(ユーザーが選択した時刻)と連動して、サマリー画像433の各項目の数値や走行軌跡画像434の走行位置のマーク439bの位置が変化する。
全体分析ボタン437は、詳細分析モードから全体分析モードに移行するためのボタン
であり、ユーザーが全体分析ボタン437の選択操作(押下操作)を行うと全体分析モードに移行し、全体分析画面が表示される。
比較分析ボタン438は、詳細分析モードから比較分析モードに移行するためのボタンであり、ユーザーが比較分析ボタン438の選択操作(押下操作)を行うと比較分析モードに移行し、比較分析画面が表示される。
図38の例では、詳細分析画面440(2ページ目)には、ユーザーが選択した走行のアニメーション画像441及び442、メッセージ画像443、ユーザーが選択した項目の項目名444、項目名444の右足と左足の各数値を時系列に示す折れ線グラフ445及びヒストグラム446が含まれている。
アニメーション画像441はユーザーを側面から見たアニメーション画像であり、アニメーション画像442はユーザーを正面から見たアニメーション画像である。アニメーション画像441には、ユーザーの推進力や蹴り出し角度と理想的な推進力や蹴り出し角度との比較表示も含まれている。同様に、アニメーション画像442には、ユーザーの傾き角度と理想的な傾き角度との比較表示も含まれている。
メッセージ画像443には、ユーザーの走行結果に対する評価情報や走行成績を向上させるためのメッセージ等が表示される。図38の例では、「推進効率が低いです。上下動、左右動が大きい可能性があります。蹴り上げすぎると上にはねるようなフォームになってしまい、ふくらはぎなどの負担が大きくなるので、足裏全体で地面を捉えるようなイメージで走ってください。」という評価及びアドバイスのメッセージが表示されている。
項目名444は、図37に示したサマリー画像433に含まれる項目からユーザーが選択した項目を示し、折れ線グラフ445及びヒストグラム446は項目名444で示される項目の右足と左足の各数値を並べて時系列にグラフ化したものである。図38の例では、「着地時ブレーキ量」が選択され、横軸を走行開始からの時間、縦軸を着地時ブレーキ量の左右足の数値とする折れ線グラフ445、及び、横軸を着地時ブレーキ量、縦軸を頻度とし、左右足を色分けして示すヒストグラム446が表示されている。
図39の例では、詳細分析画面450(3ページ目)には、ユーザーが選択した走行の分析結果に基づくメッセージ画像451、452及び453が含まれている。
図39の例では、メッセージ画像451は、「着地により効率が○%低下しています。蹴りだし時に上下動方向へ無駄な跳躍が発生し効率が○%低下しています。蹴りだしの力に左右差が○%あります。」という評価やアドバイスのメッセージを表示している。また、メッセージ画像452は、「無駄な動きにより一歩で約3cmずつ遅くなっています。改善することにより、フルマラソンで約3分速くなります。」というタイム短縮効果を得るためのアドバイスのメッセージを表示している。また、メッセージ画像453は、「ランニング後半に真下着地率が悪くなる傾向があります。持久力を高めるためにLSDトレーニングをしましょう。」という指導のメッセージを表示している。
ユーザーは、図37〜図39に示した詳細分析画面を見て、過去に行った走行の詳細やアドバイス等を確認することで、自己の走り方の長所や短所を認識し、次回以降の走行において、走行成績を向上させるための走り方や走行状態を改善するための走り方を練習することができる。
[比較分析画面]
図40に、表示装置3の表示部170に表示される比較分析情報の画面(比較分析画面
)の一例を示す。
図40の例では、比較分析画面460には、ユーザーが事前に登録したユーザー画像461及びユーザー名462、ユーザーが選択した過去の走行の分析結果を表示するサマリー画像463、他人の過去の走行の分析結果を表示するサマリー画像464、ユーザーが選択した項目の項目名465及びその時系列データ466、全体分析ボタン467及び詳細分析ボタン468が含まれている。
サマリー画像463には、ユーザーが選択した過去の走行が行われた日付、この走行における、「走行距離」、「走行時間」、「(スタートとゴールとの)標高差」、「平均ピッチ(走行ピッチの平均値)」、「平均ストライド(ストライドの平均値)」、「ランニング能力」、「平均真下着地率(真下着地率の平均値)」、「平均推進効率(進効率の平均値)」、「タイミング一致度」、「平均接地時間(接地時間の平均値)」、「消費エネルギー」、「平均エネルギー損失(エネルギー損失の平均値)」、「平均エネルギー効率(エネルギー効率の平均値)」、「平均左右バランス(左右差率の平均値)」及び「蓄積ダメージ(体への負担)」の各数値が含まれている。
また、サマリー画像463には、数値が基準値よりも良い項目の横に所定のマーク469が付される。図40の例では、「平均真下着地率」、「平均エネルギー損失」、「平均左右バランス」にマーク469が付されている。なお、数値が基準値よりも悪い項目や改善率が基準値よりも高い項目あるいは低い項目に所定のマークを付してもよい。
サマリー画像464には、他人の過去の走行が行われた日付及びサマリー画像463に含まれる項目と同じ項目の各数値が含まれている。また、図40では、他人のユーザー名とユーザー画像がサマリー画像464の近傍に表示されている。
項目名465は、サマリー画像463に含まれる項目からユーザーが選択した項目を示し、時系列データ466は項目名465で示される項目の数値を時系列にグラフ化したものである。図40の例では、「平均エネルギー効率」が選択され、横軸を走行日、縦軸をユーザーと他人の平均エネルギー効率の各数値とする時系列グラフが表示されている。そして、ユーザーが時系列データ466の横軸のいずれかの日付を選択すると、サマリー画像463及びサマリー画像464には、選択した日付のユーザー及び他人の走行(選択した日付の走行がなければ、例えばその直近の走行)の分析結果が表示される。
全体分析ボタン467は、比較分析モードから全体分析モードに移行するためのボタンであり、ユーザーが全体分析ボタン467の選択操作(押下操作)を行うと全体分析モードに移行し、全体分析画面が表示される。
詳細分析ボタン468は、比較分析モードから詳細分析モードに移行するためのボタンであり、ユーザーが詳細分析ボタン468の選択操作(押下操作)を行うと詳細分析モードに移行し、詳細分析画面が表示される。
ユーザーは、図40に示した比較分析画面を見て、過去に行った走行成績と他人の走行成績との比較結果を確認することで、自己の走り方の長所や短所を認識し、次回以降の走行において、走行成績を向上させるための走り方や走行状態を改善するための走り方を練習することができる。
1−11.運動解析システムの用途例
ユーザーは、以下に例示するような用途に本実施形態の運動解析システム1を使用することができる。
[走行中の用途例]
ユーザーは、走行ピッチやストライドを走行開始から時系列で表示させ、走行ピッチやストライドが走行開始からどのように変化しているかを確認しながら走行練習を行う。
また、ユーザーは、着地時ブレーキ量又は真下着地率を走行開始から時系列で表示させ、着地時ブレーキ量又は真下着地率が走行開始からどのように変化しているかを確認しながら走行練習を行う。
また、ユーザーは、推進力又は推進効率を走行開始から時系列で表示させ、推進力又は推進効率が走行開始からどのように変化しているかを確認しながら走行練習を行う。
また、ユーザーは、ランニング能力を走行開始から時系列で表示させ、ランニング能力が走行開始からどれくらい変化しているかを見ながら走行練習を行う。
また、ユーザーは、前傾角を走行開始から時系列で表示させ、前傾角が理想値に対して走行開始からどのように変化しているかを確認しながら走行練習を行う。
また、ユーザーは、腰回転のタイミング一致度を走行開始から時系列で表示させ、腰回転のタイミングが理想的なタイミングに対して走行開始からどのように変化しているかを確認しながら走行練習を行う。
また、ユーザーは、エネルギー消費量、エネルギー損失、エネルギー効率、着地衝撃又は左右差率を走行開始から時系列で表示させ、1歩にかかるエネルギー消費量、1歩にかかるエネルギー損失、1歩にかかるエネルギー効率、着地衝撃又は左右差率がどれくらい変化しているかを見て走行の参考にする。また、ユーザーは、蓄積ダメージ(体への負担)を表示させ、走行開始からの蓄積ダメージ(体への負担)を見て休息のタイミングを決定する。
[走行後の用途例]
ユーザーは、全体分析画面を選択し、過去の複数回の走行における平均ピッチや平均ストライドを日付順に時系列で表示させ、理想的な走行ピッチやストライドに対してどうなっているかなどの経過を確認し、走行練習の参考にする。あるいは、ユーザーは、詳細分析画面を選択し、過去のいずれか1回の走行における走行ピッチやストライドを走行開始からの時刻順に時系列で表示させ、1回の走行中に走行ピッチやストライドがどのように変化しているかを確認し、走行練習の参考にする。
また、ユーザーは、全体分析画面を選択し、過去の複数回の走行における平均着地時ブレーキ量及び平均真下着地率を日付順に時系列で表示させ、着地時ブレーキ量や真下着地率が理想値に対してどのように変化しているか、真下着地率の改善により着地時ブレーキ量が減少しているかなどの経過を確認し、走行練習の参考にする。あるいは、ユーザーは、詳細分析画面を選択し、過去のいずれか1回の走行における着地時ブレーキ量及び真下着地率を走行開始からの時刻順に時系列で表示させ、1回の走行中に着地時ブレーキ量や真下着地率がどれくらいに変化しているかを確認し、走行練習の参考にする。
また、ユーザーは、全体分析画面を選択し、過去の複数回の走行における平均推進力及び平均推進効率を日付順に時系列で表示させ、推進力や推進効率が理想値に対してどのように変化しているか、推進効率の改善により推進力が増加しているかなどの経過を確認し、走行練習の参考にする。あるいは、ユーザーは、詳細分析画面を選択し、過去のいずれか1回の走行における推進力及び推進効率を走行開始からの時刻順に時系列で表示させ、
1回の走行中に推進力や推進効率がどれくらいに変化しているかを確認し、走行練習の参考にする。
また、ユーザーは、全体分析画面を選択し、過去の複数回の走行におけるランニング能力を日付順に時系列で表示させ、過去からのランニング能力の経過を見て能力が向上していることを楽しむ。あるいは、ユーザーは、比較分析画面を選択し、過去の走行における自分と友達のランニング能力を時系列で表示させ、比較して楽しむ。あるいは、ユーザーは、詳細分析画面を選択し、過去のいずれか1回の走行におけるランニング能力を走行開始からの時刻順に時系列で表示させ、1回の走行中にランニング能力がどれくらいに変化しているかを確認し、走行練習の参考にする。
また、ユーザーは、全体分析画面を選択し、過去の複数回の走行における平均前傾角を日付順に時系列で表示させ、理想的な前傾角に対してどうなっているかなどの経過を確認し、走行練習の参考にする。あるいは、ユーザーは、詳細分析画面を選択し、過去のいずれか1回の走行における前傾角を走行開始からの時刻順に時系列で表示させ、1回の走行中に前回角がどのように変化しているかを確認し、走行練習の参考にする。
また、ユーザーは、全体分析画面を選択し、過去の複数回の走行における腰回転のタイミング一致度を日付順に時系列で表示させ、理想的なタイミングに対してどうなっているかなどの経過を確認し、走行練習の参考にする。あるいは、ユーザーは、詳細分析画面を選択し、過去のいずれか1回の走行における腰回転のタイミング一致度を走行開始からの時刻順に時系列で表示させ、1回の走行中にタイミング一致度がどのように変化しているかを確認し、走行練習の参考にする。
また、ユーザーは、全体分析画面を選択し、過去の複数回の走行におけるエネルギー消費、平均エネルギー損失又は平均エネルギー効率及び平均真下着地率又は平均推進効率を日付順に時系列で表示させ、エネルギー消費量、エネルギー損失又はエネルギー効率を真下着地率又は推進効率と比較しながら、効率的な走り方ができているかを確認する。あるいは、ユーザーは、詳細分析画面を選択し、過去のいずれか1回の走行におけるエネルギー消費量、エネルギー損失又はエネルギー効率を走行開始からの時刻順に時系列で表示させ、1回の走行中に1歩にかかるエネルギー消費量、1歩にかかるエネルギー損失又は1歩にかかるエネルギー効率がどれくらいに変化しているかを確認し、走行練習の参考にする。
また、ユーザーは、全体分析画面を選択し、過去の複数回の走行における着地衝撃及び平均真下着地率又は平均推進効率を日付順に時系列で表示させ、着地衝撃を真下着地率又は推進効率と比較しながら、怪我の危険性が下がっているかを確認する。あるいは、ユーザーは、詳細分析画面を選択し、過去のいずれか1回の走行における着地衝撃を走行開始からの時刻順に時系列で表示させ、1回の走行中に着地衝撃がどれくらいに変化しているかを確認し、走行練習の参考にする。
また、ユーザーは、全体分析画面を選択し、過去の複数回の走行における平均左右差率(平均左右バランス)を日付順に時系列で表示させ、過去から左右差率がどれくらい向上しているかなどの経過を見て楽しむ。あるいは、ユーザーは、詳細分析画面を選択し、過去のいずれか1回の走行における左右差率を走行開始からの時刻順に時系列で表示させ、1回の走行中に左右差率がどのように変化しているかを確認し、走行練習の参考にする。
1−12.処理の手順
図41は、ユーザーの走行中に第1実施形態における運動解析装置2の処理部20が行う運動解析処理の手順の一例(運動解析方法の一例)を示すフローチャート図である。運
動解析装置2(コンピューターの一例)の処理部20は、記憶部30に記憶されている運動解析プログラム300を実行することにより、図41のフローチャートの手順で運動解析処理を実行する。
図41に示すように、処理部20は、計測スタートのコマンドを受信するまで待機し(S10のN)、計測スタートのコマンドを受信した場合(S10のY)、まず、ユーザーが静止しているものとして、慣性計測ユニット10が計測したセンシングデータ、及び、GPSデータを用いて、初期姿勢、初期位置、初期バイアスを計算する(S20)。
次に、処理部20は、慣性計測ユニット10からセンシングデータを取得し、取得したセンシングデータをセンシングデータテーブル310に付加する(S30)。
次に、処理部20は、慣性航法演算処理を行い、各種の情報を含む演算データを生成する(S40)。この慣性航法演算処理の手順の一例は後述する。
次に、処理部20は、S40で生成した演算データを用いて運動解析情報生成処理を行って運動解析情報及び走行中出力情報を生成し、走行中出力情報を表示装置3に送信する(S50)。この運動解析情報生成処理の手順の一例は後述する。表示装置3に送信された走行中出力情報は、ユーザーの走行中にリアルタイムにフィードバックされる。なお、本明細書において「リアルタイム」とは、処理対象の情報が取得されたタイミングで処理を開始することを意味する。したがって、情報の取得から処理完了までにある程度の時間差がある場合も含む。
そして、処理部20は、計測ストップのコマンドを受信するまで(S60のN及びS70のN)、前回センシングデータを取得してからサンプリング周期Δtが経過する毎に(S60のY)、S30以降の処理を繰り返す。処理部20は、計測ストップのコマンドを受信すると(S70のY)、走行分析処理の開始を指示する走行分析開始コマンドを受信するまで待機する(S80のN)。
処理部20は、走行分析開始コマンドを受信すると(S80のY)、S50で生成した運動解析情報や過去の走行中に生成して記憶部30に記憶した運動解析情報を用いて、ユーザーの過去の走行に対する走行分析処理を行い、分析結果の情報を表示装置3又はその他の情報機器に送信する(S90)。この走行分析処理の手順の一例は後述する。処理部20は、走行分析処理を終了すると、運動解析処理を終了する。
図42は、第1実施形態における慣性航法演算処理(図41のS40の処理)の手順の一例を示すフローチャート図である。処理部20(慣性航法演算部22)は、記憶部30に記憶されている慣性航法演算プログラム302を実行することにより、図42のフローチャートの手順で慣性航法演算処理を実行する。
図42に示すように、まず、処理部20は、図41のS20で算出した初期バイアスを用いて(S150で加速度バイアスba及び角速度バイアスbωを推定した後は、加速度バイアスba及び角速度バイアスbωを用いて)、図41のS30で取得したセンシングデータに含まれる加速度と角速度からバイアスを除去して補正し、補正した加速度と角速度によりセンシングデータテーブル310を更新する(S100)。
次に、処理部20は、S100で補正したセンシングデータを積分して速度、位置及び姿勢角を計算し、計算した速度、位置及び姿勢角を含む算出データを算出データテーブル340に付加する(S110)。
次に、処理部20は、走行検出処理を行う(S120)。この走行検出処理の手順の一例は後述する。
次に、処理部20は、走行検出処理(S120)により走行周期を検出した場合(S130のY)、走行ピッチ及びストライドを計算する(S140)。また、処理部20は、走行周期を検出しなかった場合は(S130のN)、S140の処理を行わない。
次に、処理部20は、誤差推定処理を行い、速度誤差δve、姿勢角誤差εe、加速度バイアスba、角速度バイアスbω及び位置誤差δpeを推定する(S150)。
次に、処理部20は、S150で推定した速度誤差δve、姿勢角誤差εe及び位置誤差δpeを用いて、速度、位置及び姿勢角をそれぞれ補正し、補正した速度、位置及び姿勢角により算出データテーブル340を更新する(S160)。また、処理部20は、S160で補正した速度を積分し、eフレームの距離を計算する(S170)。
次に、処理部20は、センシングデータテーブル310に記憶されているセンシングデータ(bフレームの加速度及び角速度)、算出データテーブル340に記憶されている算出データ(eフレームの速度、位置及び姿勢角)及びS170で算出したeフレームの距離を、それぞれ、mフレームの加速度、角速度、速度、位置、姿勢角及び距離に座標変換する(S180)。
そして、処理部20は、S180で座標変換した後のmフレームの加速度、角速度、速度、位置、姿勢角及び距離、S140で算出したストライド及び走行ピッチを含む演算データを生成する(S190)。処理部20は、図41のS30でセンシングデータを取得する毎に、この慣性航法演算処理(S100〜S190の処理)を行う。
図43は、走行検出処理(図42のS120の処理)の手順の一例を示すフローチャート図である。処理部20(走行検出部242)は、図43のフローチャートの手順で走行検出処理を実行する。
図43に示すように、処理部20は、図42のS100で補正した加速度に含まれるz軸加速度をローパスフィルター処理し(S200)、ノイズを除去する。
次に、処理部20は、S200でローパスフィルター処理したz軸加速度が閾値以上かつ極大値の場合(S210のY)、このタイミングで走行周期を検出する(S220)。
そして、処理部20は、左右足フラグがオンであれば(S230のY)、左右足フラグをオフし(S240)、左右足フラグがオンでなければ(S230のN)、左右足フラグをオンし(S250)、走行検出処理を終了する。処理部20は、z軸加速度が閾値未満か極大値でなければ(S210のN)、S220以降の処理を行わずに走行検出処理を終了する。
図44は、運動解析情報生成処理(図41のS50の処理)の手順の一例を示すフローチャート図である。処理部20(運動解析部24)は、記憶部30に記憶されている運動解析情報生成プログラム304を実行することにより、図44のフローチャートの手順で運動解析情報生成処理を実行する。
図44に示すように、まず、処理部20は、図41のS40の慣性航法演算処理で生成した演算データを用いて、基本情報の各項目を算出する(S300)。また、処理部20は、演算データを用いて、走行軌跡を算出し、走行軌跡情報を生成する(S310)。
次に、処理部20は、演算データを用いて、ユーザーの走行運動における特徴点(着地、踏込、離地等)の検出処理を行う(S320)。
処理部20は、S320の処理で特徴点を検出した場合(S330のY)、特徴点を検出したタイミングに基づき、接地時間及び衝撃時間を算出する(S340)。また、処理部20は、演算データの一部及びS340で生成した接地時間及び衝撃時間を入力情報として、特徴点を検出したタイミングに基づき、第1解析情報の一部の項目(算出に特徴点の情報が必要な項目)を算出する(S350)。処理部20は、S320の処理で特徴点を検出しなかった場合は(S330のN)、S340及びS350の処理を行わない。
次に、処理部20は、入力情報を用いて、第1解析情報の他の項目(算出に特徴点の情報が不要な項目)を算出する(S360)。
次に、処理部20は、第1解析情報を用いて、第2解析情報の各項目を算出する(S370)。
次に、処理部20は、入力情報の各項目、第1解析情報の各項目及び第2解析情報の各項目に対して左右差率を算出する(S380)。処理部20は、入力情報、基本情報、第1解析情報、第2解析情報、左右差率及び走行軌跡情報を運動解析情報350として記憶部30に記憶する。
次に、処理部20は、入力情報の各項目、基本情報の各項目、第1解析情報の各項目、第2解析情報の各項目、各項目の左右差率及び走行軌跡情報等の各種運動情報のうち指定条件を満たす運動情報を用いて走行中出力情報を生成し、生成した走行中出力情報を表示装置3に送信し(S390)、運動解析情報生成処理を終了する。
図45は、走行分析処理(図41のS90の処理)の手順の一例を示すフローチャート図である。処理部20(走行分析部290)は、記憶部30に記憶されている走行分析プログラム306を実行することにより、図45のフローチャートの手順で走行分析処理を実行する。
図45に示すように、まず、処理部20は、全体分析モードを選択し、図41のS50の運動解析処理で生成した運動解析情報や過去の走行中に生成して記憶部30に記憶した運動解析情報を用いて、ユーザーの過去の走行に対する全体分析を行って全体分析情報を生成し、生成した全体分析情報を走行後出力情報として表示装置3又はその他の情報機器に送信する(S400)。
処理部20は、全体分析モードにおいて、走行分析処理の終了を指示する走行分析終了コマンドを受信した場合は(S402のY)、走行分析処理を終了し、走行分析終了コマンドを受信せずに(S402のN)、詳細分析モードへも比較分析モードへも移行しなければ(S404のNかつS406のN)、ユーザーの操作に応じて全体分析処理(S400)を繰り返す。
処理部20は、全体分析モードから詳細分析モードへ移行すると(S404のY)、詳細分析を行って詳細分析情報を生成し、生成した詳細分析情報を走行後出力情報として表示装置3又はその他の情報機器に送信する(S410)。全体分析モードから詳細分析モードへの移行は、例えば、ユーザーが、図35に示した全体分析画面410に含まれる詳細分析ボタン417の選択操作(押下操作)を行った場合に行われる。
処理部20は、詳細分析モードにおいて、走行分析終了コマンドを受信した場合は(S412のY)、走行分析処理を終了し、走行分析終了コマンドを受信せずに(S412のN)、比較分析モードへも全体分析モードへも移行しなければ(S414のNかつS416のN)、ユーザーの操作に応じて詳細分析処理(S410)を繰り返す。
処理部20は、全体分析モードから比較分析モードへ移行し(S406のY)、あるいは、詳細分析モードから比較分析モードへ移行すると(S414のY)、比較分析を行って比較分析情報を生成し、生成した比較分析情報を走行後出力情報として表示装置3又はその他の情報機器に送信する(S420)。全体分析モードから比較分析モードへの移行は、例えば、ユーザーが、図35に示した全体分析画面410に含まれる比較分析ボタン418の選択操作(押下操作)を行った場合に行われる。また、詳細分析モードから比較分析モードへの移行は、例えば、ユーザーが、図37に示した詳細分析画面430に含まれる比較分析ボタン438の選択操作(押下操作)を行った場合に行われる。
処理部20は、比較分析モードにおいて、走行分析終了コマンドを受信した場合は(S422のY)、走行分析処理を終了し、走行分析終了コマンドを受信せずに(S422のN)、全体分析モードへも詳細分析モードへも移行しなければ(S424のNかつS426のN)、ユーザーの操作に応じて比較分析処理(S420)を繰り返す。
処理部20は、詳細分析モードから全体分析モードへ移行し(S416のY)、あるいは、比較分析モードから全体分析モードへ移行すると(S424のY)、S400の全体分析処理を行う。詳細分析モードから全体分析モードへの移行は、例えば、ユーザーが、図37に示した詳細分析画面430に含まれる全体分析ボタン437の選択操作(押下操作)を行った場合に行われる。また、比較分析モードから全体分析モードへの移行は、例えば、ユーザーが、図40に示した比較分析画面460に含まれる全体分析ボタン467の選択操作(押下操作)を行った場合に行われる。
処理部20は、比較分析モードから詳細分析モードへ移行すると(S426のY)、S410の詳細分析処理を行う。比較分析モードから詳細分析モードへの移行は、例えば、ユーザーが、図40に示した比較分析画面460に含まれる詳細分析ボタン468の選択操作(押下操作)を行った場合に行われる。
1−13.効果
第1実施形態では、運動解析装置2は、ユーザーの走行中には、複数の運動情報のうち少なくとも1つの運動情報と予め設定された基準値との比較結果をユーザーに提示する(具体的には、走行状態に応じて所定条件を満たした運動情報に基づいて生成した情報をユーザーに提示する)ので、ユーザーは提示された情報を走行中に活用しやすい。また、運動解析装置2は、ユーザーの走行中に生成した運動情報の一部に基づく情報をユーザーの走行終了後にユーザーに提示するので、ユーザーは提示された情報を走行終了後にも活用しやすい。従って、第1実施形態によれば、ユーザーの走行成績を向上させることを補助することができる。
また、第1実施形態では、運動解析装置2は、ユーザーの走行中に走行状態の良い項目あるいは走行状態の悪い項目をユーザーに提示する。従って、第1実施形態によれば、ユーザーは自身の走り方の良い点あるいは悪い点を認識しながら走行することができる。
また、第1実施形態では、運動解析装置2は、ユーザーの走行中あるいは走行終了後に、ユーザーの走行状態に応じた各種の評価やアドバイスに関する情報を生成し、ユーザーに提示する。従って、第1実施形態によれば、ユーザーは、自分の走り方の長所や短所を迅速かつ正確に認識することができ、走行成績を効率よく向上させることができる。
また、第1実施形態によれば、運動解析装置2は、ユーザーの走行中には提示しなかった情報も走行終了後に提示するので、ユーザーの走行成績を向上させることを補助することができる。
また、第1実施形態によれば、運動解析装置2は、ユーザーの走行中に提示した情報を走行終了後にも提示するので、ユーザーは、走行中には認識できなかった走行状態を走行後に認識することができる。従って、ユーザーの走行成績を向上させることを補助することができる。
また、第1実施形態では、運動解析装置2は、慣性計測ユニット10の検出結果を用いて、ユーザーの走行における運動の着地、踏込、離地(蹴り出し)等の特徴点を基準として、ユーザーの走行中の体の動かし方の傾向が抽出されやすい、接地時間、衝撃時間、第1解析情報の一部の項目を算出する。さらに、第1実施形態では、運動解析装置2は、第1解析情報のその他の項目、第2解析情報の各項目、各項目の左右差率を算出して各種の運動情報を生成し、これらの運動情報を用いて生成した走行中出力情報や走行後出力情報をユーザーに提示する。従って、第1実施形態によれば、ユーザーの走行成績を向上させることを補助することができる。
特に、第1実施形態では、運動解析装置2は、ユーザーの走行における特徴点での慣性計測ユニット10の検出結果や2つの特徴点の間での慣性計測ユニット10の検出結果を用いて、特徴点でのユーザーの体の状態や2つの特徴点の間でのユーザーの体の動かし方を反映した、ユーザーの走行成績の向上のために効果的な運動情報を生成し、ユーザーに提示する。従って、第1実施形態によれば、ユーザーは、提示された情報を確認し、効率よく走行成績を向上させることができる。
また、第1実施形態では、運動解析装置2は、第1解析情報の複数の項目を組み合わせて、ユーザーの走行中の体の動かし方を反映し、かつ、ユーザーにとって走行状態を把握しやすい第2解析情報の各項目(エネルギー効率、エネルギー損失、体への負担)を生成し、ユーザーに提示する。従って、第1実施形態によれば、ユーザーは、効率的な走り方ができているか、あるいは、怪我をするリスクが低いか等を認識しながら走行を継続し、あるいは走行後に確認することができる。
また、第1実施形態では、運動解析装置2は、入力情報、第1解析情報、第2解析情報の各項目について左右差率を算出し、ユーザーに提示する。従って、第1実施形態によれば、ユーザーは、怪我をするリスクを認識し、左右のバランスを良くするためのトレーニングを検討することができる。
2.第2実施形態
第2実施形態において、第1実施形態と同様の構成には同じ符号を付してその説明を省略又は簡略し、第1実施形態と異なる内容について詳細に説明する。
2−1.身体活動補助システムの概要
図46は、第2実施形態の身体活動補助システム1Aの概要について説明するための図である。図46に示すように、第2実施形態の身体活動補助システム1Aは、身体活動補助装置2A及び表示装置3を含んで構成されており、身体活動補助装置2Aがユーザーの身体活動(運動)を解析し、表示装置3を介して身体活動を補助するための情報をユーザーに提供する。すなわち、身体活動補助装置2Aは運動解析装置として機能し、身体活動補助システム1Aは運動解析システムとして機能する。特に、第2実施形態では、身体活動補助システム1Aは、ユーザーの走行(歩行も含む)(身体活動の一例)を補助するた
めの情報をユーザーに提供する。
身体活動補助装置2Aは、ユーザーの胴体部分(例えば、右腰、左腰、又は腰の中央部)に装着される。身体活動補助装置2Aは、慣性計測ユニット(IMU)10を内蔵し、ユーザーの走行における動きを捉えて、速度、位置、姿勢角(ロール角、ピッチ角、ヨー角)等を計算し、これらの情報を基にユーザーの運動を解析し、ユーザーの走行を補助するための運動解析情報(走行に関するアドバイス等)を生成する。本実施形態では、ユーザーが静止している状態で、慣性計測ユニット(IMU)10の1つの検出軸(以下ではz軸とする)が重力加速度方向(鉛直下向き)とほぼ一致するように、身体活動補助装置2Aがユーザーに装着される。身体活動補助装置2Aは、生成した運動解析情報の少なくとも一部を表示装置3に送信する。
表示装置3は、リスト型(腕時計型)の携帯情報機器であり、ユーザーの手首等に装着される。ただし、表示装置3は、ヘッドマウントディスプレイ(HMD)やスマートフォン等の携帯情報機器であってもよい。ユーザーは、走行開始前に、表示装置3を操作して解析モード、走行距離及び目標タイム等の入力情報を入力する。その後、ユーザーは、表示装置3を操作して身体活動補助装置2Aによる計測(後述する慣性航法演算処理及び運動解析処理)のスタートやストップを指示する。表示装置3は、この入力情報及び計測スタートや計測ストップを指示するコマンド等を身体活動補助装置2Aに送信する。なお、ユーザーは、走行中に、解析モード、走行距離、目標タイム等の入力情報を変更してもよく、入力情報が変更されると、表示装置3は、変更後の入力情報を身体活動補助装置2Aに送信する。
身体活動補助装置2Aは、入力情報を受信すると、複数のアドバイスモードから入力情報に応じたアドバイスモードを選択し、計測スタートのコマンドを受信すると、慣性計測ユニット(IMU)10による計測を開始し、慣性計測ユニット(IMU)10の計測結果に基づいてユーザーの運動を解析し、選択したアドバイスモードに応じたアドバイス情報を含む運動解析情報を生成する。身体活動補助装置2Aは生成した運動解析情報を表示装置3に送信する。そして、表示装置3は運動解析情報を受信し、受信した運動解析情報を文字、図形、音、振動等の各種の形態でユーザーに提示する。ユーザーは、走行中に表示装置3を介して運動解析情報を認識しならが目的に合った走り方を実践することができる。
なお、身体活動補助装置2Aと表示装置3との間のデータ通信は、無線通信でもよいし、有線通信でもよい。
本実施形態では、以下において、身体活動補助装置2Aがユーザーの走行(ランニング)を補助するための情報を提供する場合を例に挙げて詳細に説明するが、本実施形態の身体活動補助システム1Aは、走行以外の身体活動を補助するための情報を提供する場合にも、同様に適用することができる。
2−2.座標系
以下の説明において必要となる座標系を、第1実施形態の「1−2.座標系」と同様に定義する。
2−3.身体活動補助システムの構成
図47は、第2実施形態における身体活動補助装置2A及び表示装置3の構成例を示す機能ブロック図である。図47に示すように、身体活動補助装置2Aは、第1実施形態における運動解析装置2と同様、慣性計測ユニット(IMU)10、処理部20、記憶部30、通信部40及びGPS(Global Positioning System)ユニット50(センサーの一
例)を含んで構成されている。ただし、本実施形態の身体活動補助装置2Aは、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。GPSユニット50の機能は、第1実施形態と同様であるため、その説明を省略する。
慣性計測ユニット10は、第1実施形態(図2)と同様に、加速度センサー12(センサーの一例)、角速度センサー14(センサーの一例)及び信号処理部16を含んで構成されている。加速度センサー12、角速度センサー14及び信号処理部16の各機能は、第1実施形態と同様であるため、その説明を省略する。
処理部20は、例えば、CPU、DSP、ASIC等により構成され、記憶部30に記憶されている各種プログラムに従って、各種の演算処理や制御処理を行う。特に、処理部20は、慣性計測ユニット10及びGPSユニット50からそれぞれセンシングデータ及びGPSデータを受け取り、これらのデータを用いてユーザーの速度、位置、姿勢角等を算出する。また、処理部20は、算出したこれらの情報を用いて各種の演算処理を行ってユーザーの運動を解析し、運動解析情報を生成する。そして、処理部20は、生成した運動解析情報を、通信部40を介して表示装置3に送信し、表示装置3は受信した運動解析情報をテキスト、画像、音、振動等の形態で出力する。
記憶部30は、例えば、ROMやフラッシュROM、RAM等の各種ICメモリーやハードディスクやメモリーカードなどの記録媒体等により構成される。
記憶部30には、処理部20によって読み出され、走行補助処理(図53参照)を実行するための走行補助プログラム301(身体活動補助プログラムの一例)が記憶されている。走行補助プログラム301は、慣性航法演算処理(図54参照)を実行するための慣性航法演算プログラム302及び運動解析処理(図56参照)を実行するための運動解析プログラム305をサブルーチンとして含む。
また、記憶部30には、センシングデータテーブル310、GPSデータテーブル320、算出データテーブル340、解析用データテーブル360及び運動解析情報350等が記憶される。センシングデータテーブル310、GPSデータテーブル320及び算出データテーブル340の構成は第1実施形態(図3,図4,図6)と同様であるため、その図示及び説明を省略する。
解析用データテーブル360は、処理部20がセンシングデータを用いて算出した、運動解析に必要なデータを時系列に記憶するデータテーブルである。図48は、解析用データテーブル360の構成例を示す図である。図48に示すように、解析用データテーブル360は、処理部20が計算した時刻361、速度362、位置363、姿勢角364、走行ピッチ365及びストライド366が対応付けられた解析用データが時系列に並べられて構成される。処理部20は、サンプリング周期Δtの経過毎に、算出した速度、位置及び姿勢角を運動解析用に座標変換し、また、センシングデータを用いて、右足と左足のそれぞれの走行ピッチ(1分間あたりの歩数)及び右足と左足のそれぞれのストライド(1歩の歩幅)を算出し、解析用データテーブル360に新たな解析用データを付加する。
運動解析情報350は、ユーザーの運動に関する各種情報であり、処理部20が生成した、走行速度、走行時間及び走行距離の情報、ユーザーの走行状態に関する評価やアドバイスの情報等を含む。ユーザーの走行状態に関する評価やアドバイスの情報の詳細については後述する。
図47に戻る。通信部40は、表示装置3の通信部140との間でのデータ通信を行う
ものであり、処理部20が生成した運動解析情報を受け取って表示装置3に送信する処理、表示装置3から送信された入力情報やコマンド(計測スタート/ストップのコマンド等)を受信して処理部20に送る処理等を行う。
表示装置3は、第1実施形態(図2)と同様に、処理部120、記憶部130、通信部140、操作部150、計時部160、表示部170、音出力部180及び振動部190を含んで構成されている。ただし、本実施形態の表示装置3は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
記憶部130、操作部150、計時部160、表示部170、音出力部180及び振動部190の各機能は、第1実施形態と同様であるため、その説明を省略する。
処理部120は、記憶部130に記憶されているプログラムに従って、各種の演算処理や制御処理を行う。例えば、処理部120は、操作部150から受け取った操作データに応じた各種処理(入力情報や計測スタート/ストップのコマンドを通信部140に送る処理、操作データに応じた表示処理や音出力処理等)、通信部140から運動解析情報を受け取り、運動解析情報に応じたテキストデータや画像データを表示部170に送る処理、運動解析情報に応じた音データを音出力部180に送る処理、運動解析情報に応じた振動データを振動部190に送る処理を行う。また、処理部120は、計時部160から受け取った時刻情報に応じた時刻画像データを生成して表示部170に送る処理等を行う。
通信部140は、身体活動補助装置2Aの通信部40との間でのデータ通信を行うものであり、処理部120から操作データに応じた入力情報やコマンド(計測スタート/ストップのコマンド等)を受け取って身体活動補助装置2Aに送信する処理、身体活動補助装置2Aから送信された運動解析情報を受信して処理部120に送る処理等を行う。
2−4.処理部の機能構成
図49は、第2実施形態における身体活動補助装置2Aの処理部20の構成例を示す機能ブロック図である。第2実施形態では、処理部20は、記憶部30に記憶されている走行補助プログラム301を実行することにより、慣性航法演算部22及び運動解析部24として機能する。
慣性航法演算部22(演算部の一例)は、ユーザーの走行におけるセンシングデータ(慣性計測ユニット10の検出結果)及びGPSデータ(GPSユニット50の検出結果)を用いて、慣性航法演算(演算の一例)を行い、速度、位置、姿勢角、ストライド及び走行ピッチを算出し、これらの算出結果を含む解析用データを出力する。慣性航法演算部22が出力する解析用データは記憶部30の解析用データテーブル360に記憶される。慣性航法演算部22の詳細については後述する。
運動解析部24は、慣性航法演算部22が出力する解析用データ(解析用データテーブル360に記憶されている解析用データ)を用いて、ユーザーの走行運動を解析し、運動解析情報を生成する。特に、本実施形態では、運動解析部24は、判定項目が設定された複数のアドバイスモードから任意のアドバイスモードを選択する。例えば、運動解析部24は、複数のアドバイスモードから、ユーザーによる入力情報に基づいてアドバイスモードを選択してもよい。また、運動解析部24は、解析用データ(慣性航法演算部22の演算結果)が、選択されたアドバイスモードに設定された判定項目を満たすか否かを判定する。さらに、運動解析部24は、解析用データ(慣性航法演算部22の演算結果)が、選択されたアドバイスモードに設定された判定項目を満たした場合に、走行状態を通知するためのアドバイス情報を生成してもよい。具体的には、運動解析部24は、解析用データ(慣性航法演算部22の演算結果)が、選択されたアドバイスモードに応じた、走行状態
(身体活動の状態の一例)と対応づけられた所定条件を満たすか否かを判定し、当該所定条件を満たした場合に、走行状態を通知するためのアドバイス情報を生成する。また、運動解析部24は、解析用データを用いて、走行速度、走行距離、走行時間等の走行情報や、走行状態又は解析用データが異常であることを示す異常情報も生成する。そして、運動解析部24は、このアドバイス情報、走行情報及び異常情報を含む運動解析情報を出力する。この運動解析情報は、表示装置3に送信され、走行を補助するための情報としてユーザーの走行中に表示装置3を介して提示される。
2−5.慣性航法演算部の機能構成
図50は、第2実施形態における慣性航法演算部22の構成例を示す機能ブロック図である。第2実施形態でも、第1実施形態と同様、慣性航法演算部22は、バイアス除去部210、積分処理部220、誤差推定部230、走行処理部240及び座標変換部250を含む。ただし、本実施形態の慣性航法演算部22は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。バイアス除去部210、積分処理部220及び座標変換部250の各機能は、第1実施形態と同様であるため、その説明を省略する。
走行処理部240は、慣性計測ユニット10の検出結果(具体的には、バイアス除去部210が補正したセンシングデータ)を用いて、ユーザーの走行速度、ストライド及び走行ピッチを算出する処理を行う。図9及び図10で説明したように、ユーザーの走行時にはユーザーの姿勢が周期的に(2歩(左右1歩ずつ)毎に)変化するため、慣性計測ユニット10が検出する加速度も周期的に変化する。図11に示したように、3軸加速度は周期的に変化しており、特にz軸(重力方向の軸)加速度は、周期性をもって規則的に変化していることがわかる。このz軸加速度は、ユーザーの上下動の加速度を反映しており、z軸加速度が所定の閾値以上の極大値となる時から次に閾値以上の極大値となるまでの期間が1歩の期間に相当する。
本実施形態でも、第1実施形態と同様に、走行処理部240は、慣性計測ユニット10が検出するz軸加速度(ユーザーの上下動の加速度に相当する)が所定の閾値以上の極大値となる毎に、右足の走行周期と左足の走行周期を交互に検出する。すなわち、走行処理部240は、z軸加速度が所定の閾値以上の極大値となる毎に、走行周期を検出したことを示すタイミング信号と左右いずれの走行周期かを示す左右足フラグ(例えば、右足の時にオン、左足の時にオフ)とを生成する。
また、本実施形態では、走行処理部240は、慣性計測ユニット10が検出する加速度と走行周期のタイミング信号とを用いて、走行速度(進行方向の速度)を算出する処理を行う。例えば、走行処理部240は、走行周期の開始から次の走行周期の開始までの期間におけるz軸加速度の振幅(極大値と極小値との差)(図11参照)を算出し、あらかじめ統計等で求めたz軸加速度の振幅と走行速度との相関式を用いて、走行速度を算出してもよい。
また、走行処理部240は、走行速度、走行周期のタイミング信号及び左右足フラグを用いて、第1実施形態と同様、左右毎のストライド(1歩の歩幅)を算出する処理を行う。
また、走行処理部240は、走行周期のタイミング信号及び左右足フラグを用いて、第1実施形態と同様、左右毎の走行ピッチを算出する処理を行う。
誤差推定部230は、積分処理部220が算出した速度・位置、姿勢角、バイアス除去部210が補正した加速度や角速度、GPSデータ等を用いて、ユーザーの状態を表す指
標の誤差を推定する。本実施形態でも、誤差推定部230は、第1実施形態と同様、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定する。
そして、本実施形態では、誤差推定部230は、GPSデータが使用可能な場合(例えば、GPSデータが更新された直後から所定時間経過後までの場合)には、積分処理部220が算出した速度ve、位置peあるいはヨー角ψbeとGPSデータから算出される速度、位置あるいは方位角(eフレームに変換後の速度、位置、方位角)とが等しいものとして誤差を推定する。すなわち、観測ベクトルZはこれら2つの速度、位置あるいは方位角の差であり、誤差推定部230は、上記の更新式(5)により状態ベクトルXを補正し、誤差を推定する。
また、誤差推定部230は、GPSデータが使用できない場合は、積分処理部220が算出した速度veと走行処理部240が算出した走行速度(eフレームに変換後の速度)とが等しいものとして誤差を推定する。すなわち、観測ベクトルZはこれら2つの速度の差であり、誤差推定部230は、更新式(5)により状態ベクトルXを補正し、誤差を推定する。
そして、慣性航法演算部22は、座標変換部250が座標変換した後の速度、位置及び姿勢角、走行処理部240が算出した左右のストライド及び左右の走行ピッチの各情報を含む解析用データを出力する(記憶部30に記憶する)。
2−6.アドバイスモード
本実施形態では、ユーザーは、走行前に、解析モード、走行距離及び目標タイム等を入力する。
ユーザーが入力(選択)する解析モードとして、走行目的(身体活動の目的の一例)が異なる複数のモード、具体的には、速く走ることを目的とするモード、効率よく走ることを目的とするモード(身体活動の効率の向上を目的に含むモードの一例)、疲れずに長く走ることを目的とするモード、ダイエットを目的とするモード(身体活動におけるエネルギーの消費を目的に含むモードの一例)、アドバイスを不要とするモードの5種類のモードを定義する。以下では、速く走ることを目的とするモードのことを「速く走るモード」、効率よく走ることを目的とするモードのことを「効率よく走るモード」、疲れずに長く走ることを目的とするモードのことを「疲れずに長く走るモード」、ダイエットを目的とするモードことを「ダイエットモード」、アドバイスを不要とするモードのことを「アドバイスなしモード」と呼ぶ。
また、ユーザーが入力(選択)する走行距離は、例えば、50m,100m,200m,400m,800m,1500m,3000m,5km,10km,20kmのいずれかであり、ユーザーが入力(選択)した走行距離に対応付けて、走行の種類として「短距離」、「中距離」、「長距離」を定義する。例えば、ユーザーが入力(選択)した走行距離が50m,100m,200m,400mのいずれかの場合(あるいは400m以下の場合)は「短距離」、800m,1500m,3000mのいずれかの場合(あるいは400mよりも長く3000m以下の場合)は「中距離」、5km,10km,20kmのいずれかの場合(あるいは3kmよりも長い場合)は「長距離」とする。
あるいは、ユーザーは走行距離として任意の距離を入力可能にしてもよい。この場合、例えば、ユーザーが入力した走行距離が400m以下の場合は「短距離」、400mよりも長く3000m以下の場合は「中距離」、3kmよりも長い場合は「長距離」としてもよい。あるいは、ユーザーが、「短距離」、「中距離」、「長距離」のいずれかを直接入
力(選択)できるようにしてもよい。
本実施形態では、上記の解析モードと走行の種類との組み合わせに応じた複数のアドバイスモードを定義する。そして、運動解析部24は、走行速度、走行ピッチ、ストライド、上下動、左右のぶれ、前傾の6種類の項目のうち、アドバイスモードに応じて判定を行う項目を切り替え、判定結果に基づいてアドバイス情報を生成する。
図51は、本実施形態における解析モード、走行の種類、アドバイスモード及び判定項目の対応関係を示す表である。ただし、解析モード、走行の種類、アドバイスモード及び判定項目の対応関係は、これ以外でもよい。
図51の例では、「効率よく走るモード」「疲れずに長く走るモード」又は「ダイエットモード」が選択された場合、「短距離」の選択はできないようになっている。
「速く走るモード」が選択され、かつ、「短距離」が選択された場合は、アドバイスモードはモード1であり、モード1では、走行速度が遅すぎるか(下限閾値を下回るか)否かの判定が行われる。走行速度の下限閾値は、ユーザーが入力(選択)した距離と目標タイムから計算される走行速度に基づいて決定される。
「速く走るモード」が選択され、かつ、「中距離」又は「長距離」が選択された場合は、アドバイスモードはモード2であり、モード2では、走行速度が遅すぎるか(下限閾値を下回るか)否かの判定が行われる。走行速度の下限閾値は、ユーザーが入力(選択)した距離と目標タイムから計算される走行速度に基づいて決定される。なお、モード1とモード2とでは、後述するように、アドバイス情報の提示方法が異なる。
「効率よく走るモード」が選択され、かつ、「中距離」又は「長距離」が選択された場合は、アドバイスモードはモード3であり、モード3では、左右の走行ピッチの差が大きすぎるか(上限閾値を超えるか)否かの判定、左右のストライドの差が大きすぎるか(上限閾値を超えるか)否かの判定、上下動が大きすぎるか(上限閾値を超えるか)否かの判定、左右のぶれが大きすぎるか(上限閾値を超えるか)否かの判定、及び前傾又は後傾しすぎ(上限閾値を超えるか又は下限閾値を下回るか)否かの判定が行われる。これらの各閾値は、あらかじめ決められた適正な基準値に設定され、中距離と長距離で各閾値を変えてもよい。
「疲れずに長く走るモード」が選択され、かつ、「中距離」又は「長距離」が選択された場合は、アドバイスモードはモード4であり、モード4ではモード3と同じ判定(各閾値は変わる)が行われ、さらに、走行速度が速すぎるか(上限閾値を超えるか)否かの判定、走行ピッチが高すぎるか(上限閾値を超えるか)否かの判定、及びストライドが大きすぎるか(上限閾値を超えるか)否かの判定も行われる。これらの各閾値は、あらかじめ決められた適正な基準値に設定され、中距離と長距離で各閾値を変えてもよい。
「ダイエットモード」が選択され、かつ、「中距離」又は「長距離」が選択された場合は、アドバイスモードはモード5であり、モード5では、走行速度が速すぎるか(上限閾値を超えるか)否かの判定、走行ピッチが高すぎるか(上限閾値を超えるか)否かの判定、ストライドが大きすぎるか(上限閾値を超えるか)否かの判定、及び上下動が大きすぎるか(上限閾値を超えるか)否かの判定が行われる。これらの各閾値は、あらかじめ決められた適正な基準値に設定され、中距離と長距離で各閾値を変えてもよい。
「アドバイスなしモード」が選択された場合は、「短距離」、「中距離」、「長距離」のいずれが選択されてもアドバイスモードに移行されず、走行速度、走行ピッチ、ストラ
イド、上下動、左右のぶれ及び前傾のいずれも判定されない。この場合、ユーザーは、走行中にアドバイスを提示されない。
ユーザーは、解析モード(走行の目的)および走行の種類(走行の距離)に基づき、判定項目が設定された複数のアドバイスモードから任意のアドバイスモードを選択することができる。
2−7.運動解析部の機能構成
図52は、第2実施形態における運動解析部24の構成例を示す機能ブロック図である。本実施形態では、運動解析部24は、判定制御部370、状態判定部380及び運動解析情報生成部390を含む。ただし、本実施形態の運動解析部24は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
判定制御部370は、ユーザーによる入力情報に含まれる走行距離の値から走行の種類が「短距離」、「中距離」、「長距離」のいずれであるかを判定し、走行の種類及び入力情報に含まれる解析モードの情報から、図51の表に従ってアドバイスモードを選択する。そして、判定制御部370は、図51の表に従って、選択したアドバイスモードに応じて、状態判定部380による、走行速度判定、走行ピッチ判定、ストライド判定、上下動判定、左右のぶれ判定及び前傾判定の各判定のオン/オフ(各判定を行うか否か)を制御する各制御信号を生成する(図51中の○がオン、×がオフ)。
また、判定制御部370は、アドバイスモードがモード3、モード4、モード5のいずれかの場合は、右足の走行ピッチと左足の走行ピッチの各々の上限閾値、右足の走行ピッチと左足の走行ピッチとの差の上限閾値、右足のストライドと左足のストライドの各々の上限閾値、右足のストライドと左足のストライドとの差の上限閾値、上下動の上限閾値を、アドバイスモード毎にあらかじめ決められた適正な基準値に設定する。ただし、判定制御部370は、アドバイスモードがモード3の場合は、右足の走行ピッチと左足の走行ピッチの各々の上限閾値及び右足のストライドと左足のストライドの各々の上限閾値を極めて大きい値に設定する(これにより左右の走行ピッチの各々の上限判定と左右のストライドの各々の上限判定は行われない)。また、判定制御部370は、アドバイスモードがモード5の場合は、右足の走行ピッチと左足の走行ピッチとの差の上限閾値及び右足のストライドと左足のストライドとの差の上限閾値を極めて大きい値に設定する(これにより走行ピッチの左右差の判定とストライドの左右差の判定は行われない)。判定制御部370は、アドバイスモードがモード3又はモード4の場合は、さらに、左右のぶれの上限閾値及び前傾の上限閾値及び下限閾値を、アドバイスモード毎にあらかじめ決められた適正な基準値に設定する。
また、判定制御部370は、アドバイスモードがモード1、モード2、モード4、モード5のいずれかの場合は、入力情報に含まれる走行距離の値を目標タイムの値で割って平均走行速度を計算する。そして、判定制御部370は、モード1又はモード2では、平均走行速度から走行速度の下限閾値を計算して設定し、上限閾値は例えば極めて大きい値に設定する(これにより上限判定は行われない)。また、判定制御部370は、モード4又はモード5では、平均走行速度から走行速度の上限閾値を計算して設定し、下限閾値は例えば0又は負の値に設定する(これにより下限判定は行われない)。
状態判定部380(判定部の一例)は、走行速度判定部381、走行ピッチ判定部382、ストライド判定部383、上下動判定部384、左右ぶれ判定部385及び前傾判定部386を含み、選択されたアドバイスモードに応じた、走行状態と対応づけられた所定条件、特に、走行状態が基準の状態よりも悪いことに対応する条件を満たすか否かを判定する。ただし、状態判定部380は、選択されたアドバイスモードに応じた、走行状態が
基準の状態よりも良いことに対応する条件を満たすか否かを判定してもよい。
走行速度判定部381は、アドバイスモードがモード1、モード2、モード4、モード5のずれかの場合にオンして、解析用データに含まれるmフレームのx軸方向(進行方向)の速度、すなわち走行速度が上限閾値を超えているか否か及び走行速度が下限閾値を下回っているか否かの判定を行う。なお、モード1又はモード2では、走行速度の上限閾値が極めて大きい値に設定されるので、走行速度判定部381は、実質的には走行速度の上限判定を行わない。また、モード4又はモード5では、走行速度の下限閾値が0又は負の値に設定されるので、走行速度判定部381は、実質的には走行速度の下限判定を行わない。
走行ピッチ判定部382は、アドバイスモードがモード3、モード4、モード5のいずれかの場合にオンして、解析用データに含まれる右足の走行ピッチと左足の走行ピッチの各々が上限閾値を超えているか否かの判定及び右足の走行ピッチと左足の走行ピッチとの差が上限閾値を超えているか否かの判定を行う。なお、モード3では、右足の走行ピッチと左足の走行ピッチの各々の上限閾値が極めて大きい値に設定されるので、走行ピッチ判定部382は、実質的には左右の走行ピッチの各々の上限判定を行わない。また、モード5では、右足の走行ピッチと左足の走行ピッチとの差の上限閾値が極めて大きい値に設定されるので、走行ピッチ判定部382は、実質的には走行ピッチの左右差の判定を行わない。
ストライド判定部383は、アドバイスモードがモード3、モード4、モード5のいずれかの場合にオンして、解析用データに含まれる右足のストライドと左足のストライドの各々が上限閾値を超えているか否かの判定及び右足のストライドと左足のストライドとの差が上限閾値を超えているか否かの判定を行う。なお、モード3では、右足のストライドと左足のストライドの各々の上限閾値が極めて大きい値に設定されるので、ストライド判定部383は、実質的には左右のストライドの各々の上限判定を行わない。また、モード5では、右足のストライドと左足のストライドとの差の上限閾値が極めて大きい値に設定されるので、ストライド判定部383は、実質的にはストライドの左右差の判定を行わない。
上下動判定部384は、アドバイスモードがモード3、モード4、モード5のいずれかの場合にオンして、解析用データに含まれるmフレームのz軸方向の位置の極大値と極小値との差が上限閾値を超えているか否かの判定を行う。
左右ぶれ判定部385は、アドバイスモードがモード3又はモード4の場合にオンして、解析用データに含まれるmフレームのヨー角の極大値と極小値との差が上限閾値を超えているか否かの判定を行う。
前傾判定部386は、アドバイスモードがモード3又はモード4の場合にオンして、解析用データに含まれるmフレームのピッチ角の平均値が上限閾値を超えているか否かの判定及び当該ピッチ角の平均値が下限閾値を下回っているか否かの判定を行う。
運動解析情報生成部390は、走行情報生成部392、異常情報生成部394及びアドバイス情報生成部396を含み、走行情報、異常情報及びアドバイス情報を含む運動解析情報を生成する。
走行情報生成部392は、解析用データを用いて、走行速度、走行距離、走行時間等の情報を含む走行情報を生成する。また、走行情報生成部392は、走行速度の平均値を計算し、計算した平均走行速度を含む走行情報を生成してもよい。この走行情報は、表示装
置3に送信され、例えば、表示部170に、走行速度、走行距離、走行時間の各数値が表示され、あるいは、音出力部180から走行速度に応じたテンポ、長さ又は音量の音、あるいは走行速度に応じた音楽が出力される。特に、短距離走の場合は、ユーザーは表示部170に表示された走行情報を確認しながら走行することが困難なので、音による走行情報の提示が有効である。
異常情報生成部394は、解析用データを用いて、走行状態又は解析用データが異常か否かを判定し、走行状態又は解析用データが異常であると判定した場合は、走行状態又は解析用データが異常であることを示す異常情報を生成して出力する。例えば、異常情報生成部394は、解析用データに含まれるmフレームの速度、位置あるいは姿勢角(ロール角、ピッチ角、ヨー角)の時間変化の情報を基にユーザーが異常にふらついているか否かを判定してもよいし、走行ピッチやストライドの時間変化の情報を基にユーザーが異常に無理をしながら走行を続けているか否かを判定してもよい。また、例えば、異常情報生成部394は、解析用データが通常では考えられない数値を示した場合は、解析用データが異常であると判定してもよい。これらの判定は、解析用データの各項目の正常値として予め定められた数値範囲と、算出された解析用データの値とを比較することで行われる。また、例えば、異常情報生成部394は、センシングデータ(慣性計測ユニット10の検出結果)を規定の正常範囲の上限値及び下限値と比較し、正常範囲を外れた場合は慣性計測ユニット10が故障したと判断し、解析用データが異常であると判定してもよい。異常情報は、表示装置3に送信され、例えば、音出力部180から「異常にふらついています。走行を中止してください。」、「計測装置が故障しました。」等の音声が出力され、あるいは、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「異常にふらついています。走行を中止してください。」、「計測装置が故障しました。」等のメッセージが表示される。
アドバイス情報生成部396(アドバイス情報出力部の一例)は、状態判定部380の判定結果に基づいて走行状態を通知するためのアドバイス情報を生成して出力する。
具体的には、アドバイス情報生成部396は、走行速度判定部381により、走行速度が下限限閾値を下回ったと判定された場合には、走行速度が遅いことを示す情報を含むアドバイス情報を生成する。このアドバイス情報は、アドバイスモードがモード1又はモード2の場合に生成され、表示装置3に送信される。そして、モード1の場合は、例えば、音出力部180から、所定音あるいは「スピードが遅いです。」のような音声が出力される。また、モード2の場合は、例えば、音出力部180から「スピードが遅いです。」のような音声が出力され、あるいは、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「!速度小」のようなメッセージが表示される。
また、アドバイス情報生成部396は、走行速度判定部381により、走行速度が上限閾値を超えたと判定された場合には、走行速度が速すぎることを示す情報を含むアドバイス情報を生成する。このアドバイス情報は、アドバイスモードがモード4又はモード5の場合に生成され、表示装置3に送信される。そして、例えば、音出力部180から「スピードが速いです。」のような音声が出力され、あるいは、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「!速度大」のようなメッセージが表示される。
また、アドバイス情報生成部396は、走行ピッチ判定部382により、右足の走行ピッチ又は左足の走行ピッチが上限閾値を超えたと判定された場合には、走行ピッチが高すぎることを示す情報を含むアドバイス情報を生成する。このアドバイス情報は、アドバイスモードがモード4又はモード5の場合に生成され、表示装置3に送信される。そして、例えば、音出力部180から「ピッチが速いです。」のような音声が出力され、あるいは
、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「!ピッチ速」のようなメッセージが表示される。
また、アドバイス情報生成部396は、走行ピッチ判定部382により、右足の走行ピッチと左足の走行ピッチとの差が上限閾値を超えたと判定された場合には、左右の走行ピッチの差が大きいことを示す情報を含むアドバイス情報を生成する。このアドバイス情報は、アドバイスモードがモード3又はモード4の場合に生成され、表示装置3に送信される。そして、例えば、音出力部180から「右足と左足でピッチが大きく違います。」のような音声が出力され、あるいは、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「!左右ピッチ差大」のようなメッセージが表示される。
また、アドバイス情報生成部396は、ストライド判定部383により、右足のストライド又は左足のストライドが上限閾値を超えたと判定された場合には、ストライドが大きすぎることを示す情報を含むアドバイス情報を生成する。このアドバイス情報は、アドバイスモードがモード4又はモード5の場合に生成され、表示装置3に送信される。そして、例えば、音出力部180から「ストライドが速大きいです。」のような音声が出力され、あるいは、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「!ストライド大」のようなメッセージが表示される。
また、アドバイス情報生成部396は、ストライド判定部383により、右足のストライドと左足のストライドとの差が上限閾値を超えたと判定された場合には、左右のストライドの差が大きいことを示す情報を含むアドバイス情報を生成する。このアドバイス情報は、アドバイスモードがモード3又はモード4の場合に生成され、表示装置3に送信される。そして、例えば、音出力部180から「右足と左足でストライドが大きく違います。」のような音声が出力され、あるいは、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「!左右ストライド差大」のようなメッセージが表示される。
また、アドバイス情報生成部396は、上下動判定部384により、z軸方向の位置の極大値と極小値との差が上限閾値を超えたと判定された場合には、上下動が大きいことを示す情報を含むアドバイス情報を生成する。このアドバイス情報は、アドバイスモードがモード3、モード4又はモード5の場合に生成され、表示装置3に送信される。そして、例えば、音出力部180から「上下の動きが大きいです。」のような音声が出力され、あるいは、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「!上下動大」のようなメッセージが表示される。
また、アドバイス情報生成部396は、左右ぶれ判定部385により、ヨー角の極大値と極小値との差が上限閾値を超えたと判定された場合には、左右のぶれが大きいことを示す情報を含むアドバイス情報を生成する。このアドバイス情報は、アドバイスモードがモード3又はモード4の場合に生成され、表示装置3に送信される。そして、例えば、音出力部180から「左右のぶれが大きいです。」のような音声が出力され、あるいは、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「!左右ぶれ大」のようなメッセージが表示される。
また、アドバイス情報生成部396は、前傾判定部386により、ピッチ角の平均値が上限閾値を超えたと判定された場合又は下限閾値を下回ったと判定された場合には、前傾しすぎ又は後傾しすぎであることを示す情報を含むアドバイス情報を生成する。このアドバイス情報は、アドバイスモードがモード3又はモード4の場合に生成され、表示装置3に送信される。そして、例えば、音出力部180から「前傾しすぎです。」又は「後傾し
すぎです。」のような音声が出力され、あるいは、音出力部180から警告音が出力され(又は振動部190が振動し)、かつ、表示部170に「!前傾姿勢」又は「!後傾姿勢」のようなメッセージが表示される。
なお、ユーザーにより、「アドバイスなしモード」が選択された場合は、状態判定部380が動作しないため、アドバイス情報生成部396はメッセージ情報を生成しない。この場合、表示装置3の音出力部180からアドバイス音声は出力されず、表示部170には走行情報が表示されるが、メッセージ情報は表示されない。
また、走行情報、異常情報及びアドバイス情報は、表示装置3の表示部170に同時に表示されてもよいし、例えば、異常情報やアドバイス情報が優先して表示され、異常情報やアドバイス情報が無い時に、走行情報が表示されるようにしてもよい。
2−8.処理の手順
図53は、ユーザーの走行中に身体活動補助装置2Aの処理部20が行う走行補助処理の手順の一例(身体活動補助方法の一例)を示すフローチャート図である。身体活動補助装置2A(コンピューターの一例)の処理部20は、記憶部30に記憶されている走行補助プログラム301を実行することにより、図53のフローチャートの手順で走行補助処理を実行する。
図53に示すように、処理部20は、ユーザーが表示装置3を操作して入力する入力情報(解析モード、走行距離、目標タイム)を受信するまで待機する(S10のN)。処理部20は、入力情報を受信した場合(S10のY)、計測スタートのコマンドを受信するまで待機する(S20のN)。
処理部20は、計測スタートのコマンドを受信した場合(S20のY)、まず、ユーザーが静止しているものとして、慣性計測ユニット10が計測したセンシングデータ、及び、GPSデータを用いて、初期姿勢、初期位置、初期バイアスを計算する(S30)。
次に、処理部20は、慣性計測ユニット10からセンシングデータを取得し、取得したセンシングデータをセンシングデータテーブル310に付加する(S40)。
次に、処理部20は、慣性航法演算処理を行い、各種の情報を含む解析用データを生成する(S50)。この慣性航法演算処理の手順の一例は後述する。
次に、処理部20は、S50で生成した解析用データを用いて運動解析処理を行って運動解析情報(走行情報、アドバイス情報、警告情報等)を生成し、運動解析情報を表示装置3に送信する(S60)。この運動解析処理の手順の一例は後述する。表示装置3に送信された運動解析情報は、ユーザーの走行中にリアルタイムにフィードバックされる。
そして、処理部20は、計測ストップのコマンドを受信するまで(S70のN及びS80のN)、前回センシングデータを取得してからサンプリング周期Δtが経過する毎に(S70のY)、S40以降の処理を繰り返す。処理部20は、計測ストップのコマンドを受信すると(S80のY)、走行補助処理を終了する。
図54は、第2実施形態における慣性航法演算処理(図53のS50の処理)の手順の一例を示すフローチャート図である。処理部20(慣性航法演算部22)は、記憶部30に記憶されている慣性航法演算プログラム302を実行することにより、図54のフローチャートの手順で慣性航法演算処理を実行する。
図54に示すように、まず、処理部20は、図53のS30で算出した初期バイアスを用いて(S130で加速度バイアスba及び角速度バイアスbωを推定した後は、加速度バイアスba及び角速度バイアスbωを用いて)、図53のS40で取得したセンシングデータに含まれる加速度と角速度からバイアスを除去して補正し、補正した加速度と角速度によりセンシングデータテーブル310を更新する(S100)。
次に、処理部20は、S100で補正したセンシングデータを積分して速度、位置及び姿勢角を計算し、計算した速度、位置及び姿勢角を含む算出データを算出データテーブル340に付加する(S110)。
次に、処理部20は、走行処理を行い(S120)、走行速度、左右のストライド及び左右の走行ピッチを算出する。この走行処理の手順の一例は後述する。
次に、処理部20は、GPSデータ又は走行処理(S120)により算出した走行速度を用いて誤差推定処理を行い、速度誤差δve、姿勢角誤差εe、加速度バイアスba、角速度バイアスbω及び位置誤差δpeを推定する(S130)。
次に、処理部20は、S130で推定した速度誤差δve、姿勢角誤差εe及び位置誤差δpeを用いて、速度、位置及び姿勢角をそれぞれ補正し、補正した速度、位置及び姿勢角により算出データテーブル340を更新する(S140)。
次に、処理部20は、算出データテーブル340に記憶されている算出データ(eフレームの速度、位置及び姿勢角)を、それぞれ、mフレームの速度、位置及び姿勢角に座標変換する(S150)。
そして、処理部20は、S150で座標変換した後のmフレームの速度、位置、姿勢角及びS120で算出した左右のストライド及び左右の走行ピッチの情報を含む解析用データを生成する(S160)。処理部20は、図53のS40でセンシングデータを取得する毎に、この慣性航法演算処理(S100〜S160の処理)を行う。
図55は、走行処理(図54のS120の処理)の手順の一例を示すフローチャート図である。処理部20(走行処理部240)は、図55のフローチャートの手順で走行処理を実行する。
図55に示すように、処理部20は、図54のS100で補正した加速度に含まれるz軸加速度をローパスフィルター処理し(S200)、ノイズを除去する。
次に、処理部20は、S200でローパスフィルター処理したz軸加速度が閾値以上かつ極大値の場合(S210のY)、このタイミングで走行周期を検出し(S220)、走行速度を算出する(S230)。
そして、処理部20は、左右足フラグがオンであれば(S240のY)、右足のストライド及び右足の走行ピッチを算出し(S250)、左右足フラグをオフし(S260)、走行処理を終了する。また、処理部20は、左右足フラグがオンでなければ(S240のN)、左足のストライド及び左足の走行ピッチを算出し(S270)、左右足フラグをオンし(S280)、走行処理を終了する。処理部20は、z軸加速度が閾値未満か極大値でなければ(S210のN)、S220以降の処理を行わずに走行処理を終了する。
図56は、第2実施形態における運動解析処理(図53のS60の処理)の手順の一例を示すフローチャート図である。処理部20(運動解析部24)は、記憶部30に記憶さ
れている運動解析プログラム305を実行することにより、図56のフローチャートの手順で運動解析処理を実行する。
図56に示すように、まず、処理部20は、図53のS50の慣性航法演算処理で生成した解析用データを用いて、走行情報(走行速度、走行距離、走行時間等)を生成する(S300)。
次に、処理部20は、入力情報に含まれる解析モード及び走行距離の情報を用いて、アドバイスモードを選択する(S310)。
次に、処理部20は、S310で選択したアドバイスモードに応じて判定項目を選択し、選択した各判定項目について所定条件が成立するか否か(各判定項目の値が上限閾値を超えるか否か、下限閾値を下回るか否か)を判定する(S320)。
処理部20は、少なくとも1つの判定項目について所定条件が成立する場合(S330のY)、所定条件が成立した各判定項目に関するアドバイス情報を生成する(S340)。処理部20は、すべての判定項目について所定条件が成立しない場合は(S330のN)、アドバイス情報の生成処理(S340)を行わない。
次に、処理部20は、解析用データを用いて、ユーザーの走行状態又は解析用データが異常か否かを判定する(S350)。処理部20は、ユーザーの走行状態又は解析用データが異常であると判定した場合は(S360のY)、異常情報を生成し(S370)、異常ではないと判定した場合は(S360のN)、異常情報を生成しない。
次に、処理部20は、S300で生成した走行情報、S340で生成したアドバイス情報及びS370で生成した異常情報を含む運動解析情報の少なくとも一部を表示装置3に送信する(S380)。例えば、処理部20は、異常情報を生成した場合(S360でYの場合)は、表示装置3に走行情報及びアドバイス情報を送信せずに異常情報を送信し、異常情報を生成しなかった場合(S360でNの場合)は、表示装置3に走行情報及びアドバイス情報を送信してもよい。また、例えば、処理部20は、異常情報を生成したか否かによらず、表示装置3に走行情報及びアドバイス情報を送信し、異常情報を生成した場合は、表示装置3にさらに異常情報を送信してもよい。処理部20は、図53のS40でセンシングデータを取得する毎に、この運動解析処理(S300〜S380の処理)を行う。
2−9.効果
第2実施形態では、身体活動補助装置2Aは、ユーザーの走行中に、走行速度、走行ピッチ、ストライド、上下動、左右のぶれ及び前傾のうち、ユーザーによる入力情報に基づいて選択したアドバイスモードに応じた項目に関する判定を行う。そして、身体活動補助装置2Aは、判定項目のうち所定条件を満たす項目(基準よりも悪い項目)に関するアドバイス情報を生成し、表示装置3を介して走行中のユーザーに提示する。従って、走行中のユーザーは、提示された情報を活用してどの項目をどのように改善すればよいかわかりやすく、ユーザーの走行を効果的に補助することができる。
特に、第2実施形態では、ユーザーは、「短距離」、「中距離」、「長距離」のいずれか1つと、「速く走るモード」、「効率よく走るモード」、「疲れずに長く走るモード」、「ダイエットモード」、「アドバイスなしモード」のいずれか1つとを入力(選択)することができる。そして、身体活動補助装置2Aは、ユーザーの入力(選択)に応じたアドバイスモードを選択し、ユーザーの走行の種類と目的に適した効果的なアドバイス情報を提示することができる。
また、第2実施形態では、身体活動補助装置2Aは、ユーザーの走行中に、ユーザーの走行状態又は解析用データに異常がある場合には、ユーザーの走行状態又は解析用データに異常があることを示す異常情報を生成し、表示装置3を介して走行中のユーザーに提示する。したがって、例えば、ユーザーは、適切なタイミングで休憩し、走行を中止し、あるいは誤った情報に左右されずに走行することができる。
3.変形例
本発明は上述した各実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。以下、変形例について説明する。なお、上記各実施形態と同一の構成については同一の符号を付して再度の説明を省略する。
3−1.センサー
上記の各実施形態では、加速度センサー12と角速度センサー14が慣性計測ユニット10として一体化されて運動解析装置2又は身体活動補助装置2Aに内蔵されているが、加速度センサー12と角速度センサー14は一体化されていなくてもよい。あるいは、加速度センサー12と角速度センサー14とが運動解析装置2又は身体活動補助装置2Aに内蔵されずに、ユーザーに直接装着されてもよい。いずれの場合でも、例えば、いずれか一方のセンサー座標系を上記の実施形態のbフレームとして、他方のセンサー座標系を当該bフレームに変換し、上記の実施形態を適用すればよい。
また、上記の実施形態では、センサー(運動解析装置2又は身体活動補助装置2A(IMU10))のユーザーへの装着部位を腰として説明したが、腰以外の部位に装着することとしてもよい。好適な装着部位はユーザーの体幹(四肢以外の部位)である。しかしながら、体幹に限らず、腕以外の例えばユーザーの頭や足に装着することとしてもよい。また、センサーは1つに限らず、追加のセンサーを体の別の部位に装着することとしてもよい。例えば、腰と足、腰と腕にセンサーを装着してもよい。
また、上記の第2実施形態では、身体活動補助装置2Aは、ユーザーの走行を補助するための情報の生成に利用するセンサーとして、加速度センサー12、角速度センサー14及びGPSユニット50を有するが、これ以外のセンサー、例えば、地磁気センサー、圧力センサー、心拍センサー等を有してもよい。
3−2.慣性航法演算
上記の各実施形態では、積分処理部220がeフレームの速度、位置及び姿勢角を算出し、座標変換部250がこれをmフレームの速度、位置及び姿勢角に座標変換しているが、積分処理部220がmフレームの速度、位置及び姿勢角を算出してもよい。この場合、運動解析部24は、積分処理部220が算出したmフレームの速度、位置及び姿勢角を用いて運動解析処理を行えばよいので、座標変換部250による速度、位置及び姿勢角の座標変換が不要になる。また、誤差推定部230はmフレームの速度、位置及び姿勢角を用いて拡張カルマンフィルターによる誤差推定を行ってもよい。
また、上記の各実施形態では、慣性航法演算部22は、GPS衛星からの信号を用いて慣性航法演算の一部(例えば、誤差推定処理)を行っているが、GPS以外の全地球航法衛星システム(GNSS:Global Navigation Satellite System)の測位用衛星やGNSS以外の測位用衛星からの信号を用いてもよい。例えば、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal
NAvigation Satellite System)、GALILEO、BeiDou(BeiDou Navigation Satellite System)といった衛星測位システムのうち1つ、あるいは2つ以上を利用してもよい。また、屋内測位システム(IMES:Indoor Messaging System)等を利用して
もよい。
また、上記の各実施形態では、走行処理部240(第1実施形態では特に走行検出部242)は、ユーザーの上下動の加速度(z軸加速度)が閾値以上で極大値となるタイミングで走行周期を検出しているが、これに限らず、例えば、上下動の加速度(z軸加速度)が正から負に変化するタイミング(又は負から正に変化するタイミング)で走行周期を検出してもよい。あるいは、走行処理部240は、上下動の加速度(z軸加速度)を積分して上下動の速度(z軸速度)を算出し、算出した上下動の速度(z軸速度)を用いて走行周期を検出してもよい。この場合、走行処理部240は、例えば、当該速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで走行周期を検出してもよい。また、例えば、走行処理部240は、x軸、y軸、z軸の合成加速度を算出し、算出した合成加速度を用いて走行周期を検出してもよい。この場合、走行処理部240は、例えば、当該合成加速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで走行周期を検出してもよい。
また、上記の各実施形態では、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定しているが、速度、姿勢角、加速度、角速度及び位置の一部をユーザーの状態を表す指標として、その誤差を推定してもよい。あるいは、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置以外のもの(例えば、移動距離)をユーザーの状態を表す指標として、その誤差を推定してもよい。
また、上記の各実施形態では、誤差推定部230による誤差の推定に拡張カルマンフィルターを用いているが、パーティクルフィルターやH∞(Hインフィニティー)フィルター等の他の推定手段に代えてもよい。
3−3.運動解析
運動解析部24が生成する運動解析情報は、上記第1実施形態で示した以外の項目を含んでもよい。例えば、運動解析情報は、「滞空時間」、「接地距離」、「滞空距離」の各項目を含んでもよい。滞空時間は、1歩の時間−接地時間で計算される。接地距離は、接地時間×平均速度、離地位置−接地位置、あるいは、ストライド−滞空距離で計算される。滞空距離は、滞空時間×平均速度、接地位置−離地位置、あるいは、ストライド−接地距離で計算される。また、例えば、運動解析情報は、「滞空時間/接地時間」、「接地時間/1歩の時間」、「滞空時間/1歩の時間」等を含んでもよい。
また、例えば、運動解析情報は、「身長比ストライド」、「上下動」、「腰移動距離」、「腰の位置」、「身体のブレ」の各項目を含んでもよい。身長比ストライドは、ストライド/身長で計算される。上下動は、腰の位置(重力方向)の振幅として計算される。腰移動距離は、接地から離地の間の移動距離として計算される。腰の位置は、直立時を基準とする腰位置の変位として計算される。身体のブレは、姿勢の変化量の合計として計算され、姿勢の変化量は、所定期間内の3軸分の絶対値、又は、所定期間内の各軸いずれかの絶対値である。所定期間は、例えば、1歩の期間、走行開始から終了までの期間、1分などの所定時間である。
また、例えば、運動解析情報は、「減速量」の項目を含んでもよい。進行方向速度を用いた減速量の計算方法の一例について、図57(A)を用いて説明する。図57(A)において、横軸は時間、縦軸は進行方向速度である。図57(A)に示すように、減速期間の開始時刻(着地時刻)をt1、減速期間の終了時刻をt2、進行方向速度をv、サンプリング周期をΔtとすると、式(7)により減速量を近似計算することができる。
あるいは、減速期間の開始時刻(着地時刻)をt1、減速期間の終了時刻をt2、着地後の進行方向速度が最小となる時刻をtvmin、着地時の進行方向速度をvt1、減速期間の終了時の進行方向速度をvt2、着地後の進行方向最低速度をvtvminとすると、式(8)により減速量を近似計算することもできる。
さらに、式(8)において、右辺第1項と右辺第2項が等しいと仮定し、式(9)により減速量を近似計算することもできる。
あるいは、減速期間の開始時刻(着地時刻)をt1、減速期間の終了時刻をt2、時刻t1〜t2の進行方向速度vのデータ数をN、サンプリング周期をΔtとすると、式(10)により減速量を計算することもできる。
また、進行方向加速度を用いた減速量の計算方法の一例について、図57(B)を用いて説明する。図57(B)において、横軸は時間、縦軸は進行方向加速度である。図57(B)に示すように、減速期間の開始時刻(着地時刻)をt1、減速期間の終了時刻をt2、着地後の進行方向加速度が最小となる時刻をtamin、進行方向加速度をa、着地後の進行方向最低加速度をataminとすると、式(9)を式(11)のように変形し、進行方向加速度を用いて減速量を近似計算することができる。
なお、式(7)〜式(11)では、減速量をいずれも距離(m)で計算するが、減速量を速度(m/s)(例えば、減速期間の最低速度の平均値や減速期間のみの平均速度など)で計算してもよい。例えば、ユーザーの全平均速度が10km/h、減速期間のみの平均速度が2km/hといった情報を一緒に提示することで、ユーザーは着地時にどの程度減速しているかを直観的に把握しやすくなる。
また、上記各実施形態において、例えば、ユーザーが腕時計型の脈拍計を装着し、あるいは、ハートレーセンサーをベルトで胸に巻き付けて走行し、運動解析部24が、当該脈拍計あるいは当該ハートレーセンサーの計測値を用いて、運動解析情報の一項目としてユーザーの走行中の心拍数を算出してもよい。
また、上記の第2実施形態では、運動解析部24(異常情報生成部394)は、慣性航法演算により得られた解析用データを用いてユーザーの走行状態が異常であるか否かを判定しているが、例えば、ユーザーが腕時計型の脈拍計を装着し、あるいは、ハートレーセンサーをベルトで胸に巻き付けて走行し、運動解析部24が、当該脈拍計あるいは当該ハートレーセンサーの計測値を用いて、ユーザーの走行状態が異常であるか否かを判定してもよい。
また、上記各実施形態では、人の走行における運動解析を対象としているが、これに限らず、動物や歩行ロボット等の移動体の歩行や走行における運動解析にも同様に適用することができる。また、走行に限らず、登山、トレイルラン、スキー(クロスカントリーやスキージャンプも含む)、スノーボード、水泳、自転車の走行、スケート、ゴルフ、テニス、野球、リハビリテーション等の多種多様な運動(身体活動)に適用することができる。一例として第1実施形態をスキーに適用する場合、例えば、スキー板に対する加圧時の上下方向加速度のばらつきから綺麗にカービングできたかスキー板がずれたかを判定してもよいし、スキー板に対する加圧時及び抜重時の上下方向加速度の変化の軌跡から右足と左足との差や滑りの能力を判定してもよい。あるいは、ヨー方向の角速度の変化の軌跡がどの程度サイン波に近いかを解析し、ユーザーがスキー板に乗れているかどうかを判断してもよいし、ロール方向の角速度の変化の軌跡がどの程度サイン波に近いかを解析し、スムーズな滑りができているかどうかを判断してもよい。
また、上記第1実施形態では、左右を区別して運動解析を行ったが、左右を区別しないで運動解析を行うことも可能である。この場合、左右足の判定や、左右を比較する解析は省略してもよい。
また、上記の第2実施形態では、アドバイス情報は、音声や文字、記号等のメッセージであるが、これに限らず、例えば、ユーザーが入力した走行距離を目標タイムで走行するために理想的なペースや走り方で走行する仮想トレーナーの映像であってもよい。
また、上記の第2実施形態において、運動解析部24は、入力情報に含まれる走行距離を目標タイムで走行することが可能か否かを判定し、不可能と判定した場合は不可能であることを示すアドバイス情報(例えば、「無理です。」、「走行速度は時速40kmに達します。」等のメッセージ)を生成してもよい。
また、上記の第2実施形態において、運動解析部24は、入力情報に含まれる走行距離と目標タイムから目標の走行ピッチを算出し、表示装置3の音出力部180を介して、目標の走行ピッチに合わせた周期で音を出力してもよい。あるいは、運動解析部24は、「速く走るモード」では、ユーザーにより速い走行を促すために、表示装置3の音出力部180を介して、目標の走行ピッチよりも短い周期で音を出力してもよい。
また、上記の第2実施形態では、運動解析部24は、ユーザーの走行状態が基準よりも悪い場合にアドバイス情報を生成しているが、ユーザーの走行状態が基準よりも良い場合にアドバイス情報を生成してもよい。ユーザーは、このようなアドバイス情報を活用することで、より良い走り方を習得することができる。
また、上記の第2実施形態では、運動解析部24は、ユーザーの走行中に運動解析処理を行っているが、これに加えて、走行中に記憶部30に時系列に記憶した解析用データを用いて、走行終了後により詳細な走行分析を行って、分析結果の情報をユーザーに提示してもよい。例えば、短距離走の場合、ユーザーは走行中には多くの情報を正確に認識できないので、走行終了後に詳細な分析情報を提供するのが効果的である。この走行終了後の走行分析は、身体活動補助装置2Aが実行しなくてもよい。例えば、身体活動補助装置2Aが、走行中に演算して記憶部30に記憶した解析用データをユーザーの走行終了後にパーソナルコンピューターやスマートフォン等の情報機器に送信し、当該情報機器が、受信した解析用データを用いて分析し、分析結果の情報をその表示部等に出力してもよい。あるいは、身体活動補助装置2Aが、走行中に演算して記憶した解析用データをユーザーの走行終了後にパーソナルコンピューターやスマートフォン等の情報機器に送信し、当該情報機器が、受信した解析用データをインターネット等の通信ネットワークを介してネットワークサーバーに送信してもよい。そして、当該ネットワークサーバーが、受信した解析等データを用いて分析し、分析結果の情報を当該情報機器に送信し、当該情報機器が、分析結果の情報を受信してその表示部等に出力してもよい。あるいは、身体活動補助装置2Aが、走行中に演算した解析用データをメモリーカード等の記録媒体に記憶しておき、パーソナルコンピューターやスマートフォン等の情報機器が、当該メモリーカードから解析用データを読み出して分析し、あるいは、ネットワークサーバーに送信してもよい。
3−4.報知処理
また、上記の各実施形態では、処理部20は、腕時計型の表示装置3に走行中出力情報又は運動解析情報を送信しているが、これに限らず、ユーザーに装着される腕時計型以外の携帯機器(ヘッドマウントディスプレイ(HMD)やユーザーの腰に装着した機器(運動解析装置2又は身体活動補助装置2Aでもよい)等)や装着型でない携帯機器(スマートフォン等)に走行中出力情報又は運動解析情報を送信してユーザーに提示(フィードバック)してもよい。あるいは、処理部20は、走行中出力情報又は運動解析情報をパーソナルコンピューターやスマートフォン等に送信し、走行中のユーザー以外の者(コーチ等)に提示(フィードバック)してもよい。
ヘッドマウントディスプレイ(HMD)、スマートフォン、パーソナルコンピューター
等に走行中出力情報を表示する場合、これらの機器の表示部は、腕時計型の表示装置3の表示部よりも十分に大きいため、図34(A)及び図34(B)に示した情報やその他の情報を一画面で表示可能である。図58に、ユーザーの走行中に、ヘッドマウントディスプレイ(HMD)、スマートフォン、パーソナルコンピューター等の表示部に表示される画面の一例を示す。図58の例では、表示部に画面400が表示される。画面400には、ユーザーが事前に登録したユーザー画像401及びユーザー名402、ユーザーの走行状態を表示するサマリー画像403、スタートしてから現在までの走行軌跡を表示する走行軌跡画像404、ユーザーが選択した項目の項目名405及びその時系列データ406が含まれている。
サマリー画像403には、基本情報、第1解析情報及び第2解析情報の各項目である、「走行速度」、「走行ピッチ」、「ストライド」、「ランニング能力」、「前傾角」、「真下着地率」、「推進効率」、「タイミング一致度」、「推進力」、「着地時ブレーキ量」、「接地時間」、「着地衝撃」、「消費エネルギー」、「エネルギー損失」、「エネルギー効率」、「左右バランス(左右差率)」及び「蓄積ダメージ(体への負担)」の各数値が含まれている。これらの数値は、ユーザーの走行中にリアルタイムに更新される。
サマリー画像403には、基本情報、第1解析情報及び第2解析情報の全ての項目の数値が含まれていてもよいし、ユーザーが選択した一部の項目のみが含まれていてもよいし、所定の条件を満たした項目のみ(例えば、基準範囲内の項目のみ、あるいは、基準項目外の項目のみ)が含まれていてもよい。
走行軌跡画像404は、ユーザーが走行を開始してから現在に至るまでの走行の軌跡を表示する画像であり、現在位置は所定のマーク407で示される。
項目名405は、サマリー画像403に含まれる項目からユーザーが選択した項目を示し、時系列データ406は項目名405で示される項目の数値を時系列にグラフ化したものである。図34の例では、「走行速度」、「走行ピッチ」、「着地時ブレーキ量」及び「ストライド」が選択され、横軸を走行開始からの時間、縦軸をこれらの各項目の数値とする時系列グラフが表示されている。
例えば、ヘッドマウントディスプレイ(HMD)を装着したユーザーは、図58のような画面を見ながら走行することで、現在の走行状態を確認し、例えば、各項目の数値が良くなるような走り方や数値の悪い項目が改善されるような走り方を意識しながら、あるいは、疲労状態を客観的に認識しながら走行を続けることができる。
ヘッドマウントディスプレイ(HMD)を介してフィードバックする情報は、上記第1実施形態で示した各種情報の他、例えば、現在地を表示してもよいし、タイムに基づいて作成した仮想ランナーが走行する映像を表示してもよい。タイムは、例えば、ユーザーが設定したタイム、自己記録、有名人の記録、世界記録等であってもよい。
ヘッドマウントディスプレイ(HMD)を介してフィードバックするタイミングは、上記実施形態で示したフィードバックのタイミングと同じであってもよい。また、ヘッドマウントディスプレイ(HMD)を介してフィードバックする方法は、例えば、静止画で分かりやすく表示、アニメーションを表示、文字を表示、地図上への表示等、画面表示であってもよいし、音声であってもよい。あるいは、腰回転タイミングや走行ピッチ、蹴り出しタイミングなど、タイミングに関する情報を「ピッピッ」などの短い音や画像でフィードバックしてもよい。
ユーザーの腰に装着した機器を介してフィードバックする情報やフィードバックするタ
イミングは、上記第1実施形態と同じであってもよい。ユーザーの腰に装着した機器を介してフィードバックする方法は、伝達したい情報を音声でフィードバックするものでもよいし、全ての項目が良い場合に音がなるものでもよいし、悪い項目があった場合に音がなるものでもよい。また、良い項目の情報をフィードバックしてもよいし、悪い項目の情報をフィードバックしてもよい。あるいは、ランニング能力等、レベルに応じて音階で変化をつけてフィードバックしてもよいし、例えば所定時間の「ピッピッ」などの音の数で変化をつけてフィードバックしてもよい。あるいは、腰回転タイミングや走行ピッチ、蹴り出しタイミングなど、タイミングに関する情報を「ピッピッ」などの短い音でフィードバックしてもよい。
装着型でない携帯機器を介してフィードバックする情報、タイミング及び方法は、上記の第1実施形態と同じであってもよい。
3−5.走行分析
上記の第1実施形態では、走行分析プログラム306は、運動解析プログラム300のサブルーチンとして運動解析装置2が実行しているが、運動解析プログラム300とは別のプログラムであってもよいし、運動解析装置2が実行しなくてもよい。例えば、運動解析装置2が、走行中に解析して生成した運動解析情報をユーザーの走行後にパーソナルコンピューターやスマートフォン等の情報機器に送信し、当該情報機器が、受信した運動解析情報を用いて走行分析プログラム306を実行し、分析結果の情報をその表示部等に出力してもよい。あるいは、運動解析装置2が、走行中に解析して生成した運動解析情報をユーザーの走行後にパーソナルコンピューターやスマートフォン等の情報機器に送信し、当該情報機器が、受信した運動解析情報をインターネット等の通信ネットワークを介してネットワークサーバーに送信してもよい。そして、当該ネットワークサーバーが、受信した運動解析情報を用いて走行分析プログラム306を実行し、分析結果の情報を当該情報機器に送信し、当該情報機器が、分析結果の情報を受信してその表示部等に出力してもよい。あるいは、運動解析装置2が、走行中に解析して生成した運動解析情報をメモリーカード等の記録媒体に記憶しておき、パーソナルコンピューターやスマートフォン等の情報機器が、当該メモリーカードから運動解析情報を読み出して、走行分析プログラム306を実行し、あるいは、走行分析プログラム306を実行するネットワークサーバーに送信してもよい。
また、上記の第1実施形態では、走行分析プログラム306は、走行するユーザーの立場で全体分析や詳細分析、あるいは、他人との比較分析を行うもの、すなわち、個人の走行履歴を管理するためのプログラムであるが、例えば、チームの監督の立場で複数のメンバーの走行の全体分析や詳細分析を行うもの、すなわち、複数のメンバーの走行履歴を集団管理するためのプログラムであってもよい。
複数のメンバーの走行履歴を集団管理するためのプログラムでの全体分析画面の一例を図59に示す。図59の例では、全体分析画面470(1ページ目)には、ユーザー(監督)が事前に登録したユーザー画像471及びユーザー名472、ユーザーが選択した過去の日付における各メンバーの走行の分析結果をそれぞれ表示する複数のサマリー画像473、ユーザーが選択した項目の項目名474及びユーザーが選択したメンバーについての当該選択した項目を時系列に表示する時系列グラフ475、詳細分析ボタン476が含まれている。
各サマリー画像473の内容は、図35に示したサマリー画像413と同じであってもよい。また、図59の例では、項目名474は「平均エネルギー効率」であり、時系列グラフ475は、横軸を走行日、縦軸を平均エネルギー効率の数値として、メンバー1、メンバー2、メンバー3の平均エネルギー効率を時系列に表示する。そして、ユーザーが時
系列グラフ475の横軸のいずれかの日付を選択すると、各サマリー画像473には、選択した日付の走行の分析結果が表示される。
詳細分析ボタン476は、全体分析モードから詳細分析モードに移行するためのボタンであり、ユーザーが日付とメンバーを選択して詳細分析ボタン476の選択操作(押下操作)を行うと詳細分析モードに移行し、選択したメンバーの選択した日付における走行に対する詳細分析画面が表示される。この詳細分析画面は、例えば、図37〜図39に示した詳細分析画面と同じであってもよい。また、全体分析画面の2ページ目には、図36と同様のカレンダー画像が表示されてもよい。
また、上記第1実施形態や上記変形例における比較分析以外にも各種の比較分析が考えられる。例えば、図60は、多数のランナーの走行ピッチとストライドの関係をプロットしたグラフであり、横軸が走行ピッチ[歩/s]、縦軸がストライド[m]である。図60では、ストライド走法に属する範囲(ストライド走法ゾーン)とピッチ走法に属する範囲(ピッチ走法ゾーン)も表示されている。さらに、図60では、走行速度が3分/km、4分/km、5分/km、6分/kmに相当する曲線も破線で表示されている。ユーザーの走行ピッチ及びストライドを示す点(「あなたの走法」と表示)は、ピッチ走法ゾーンにあり、走行速度は4分/kmと5分/kmの間である。ストライド走法ゾーンには、ユーザーよりも遅い「Aさん」やユーザーよりも速い「○○××選手」が含まれ、ピッチ走法ゾーンには、ユーザーよりも遅い「Bさん」やユーザーよりも速い「□□△△選手」が含まれている。ユーザーはこのような走法分布のグラフを見ることで、自分が目指すべき走法を知ることができる。例えば、図60に矢印で示すように、ユーザーは、ピッチ走法を変えずに走行ピッチとストライドを大きくする走り方をして走行速度を4分/km以下を目標とすることができる。
また、例えば、図61は、複数のランナーの1回の走行における走行速度と心拍数の関係をプロットしたグラフであり、横軸が走行速度、縦軸が心拍数である。図61では、1回の走行中の走行速度と心拍数を近似した、ユーザーの曲線(「あなた○月×日」と表示)、マラソンを3時間半以内で走る選手の曲線([サブ3.5の選手]と表示)、マラソンを3時間以内で走る選手の曲線([サブ3の選手]と表示)、マラソンを2時間半以内で走る選手の曲線([サブ2.5の選手]と表示)も点線で示されている。例えば、ユーザーは、走行を重ねるごとにこの曲線が右下の方向にシフトしていけば、走行速度が速くても心拍が上がらなくなり、運動能力が向上していることを認識することができるし、目標とするタイムの選手にどれくらい近づいているかを確認することもできる。
3−6.その他
例えば、入力情報又は解析情報からユーザーの得点を計算して、走行中または走行後に通知しても良い。例えば、各項目の数値を複数段階(例えば5段階または10段階)に区分し、各段階に対して得点を定めておく。ユーザーの該当する段階の得点をいずれかの分析画面の当該項目に対応付けて表示するとよい。また、例えば、成績の良かった項目の種類や数に応じて得点を付与したり、総合得点を計算、表示してもよい。
また、上記の第1実施形態では、アニメーション画像441を表示する例を説明したが、アニメーションや画像の表示は上記第1実施形態の態様に限らない。例えば、ユーザーの傾向を強調したアニメーションとしてもよい。例えば、身体が理想よりも前傾している場合には、実際の前傾角よりも大きな角度で前傾した画像を表示する。ユーザーが自身の運動の傾向を把握しやすくすることができる。また、アニメーション画像441には腕以外の情報を表示することとしてもよい。腰に装着したセンサー(運動解析装置2)の情報からは、腕の動作が推定しにくい場合がある。センサーの情報から推定可能な身体の部位に限定して情報を提示することで、ユーザーがより正確に自身の動作を理解できる。また
、例えば、3Dの画像を表示し、ユーザーの操作によって所望の角度から画像を確認できるようにしてもよい。
また、上記の各実施形態では、GPSユニット50は運動解析装置2又は身体活動補助装置2Aに設けられているが、表示装置3に設けられていてもよい。この場合、表示装置3の処理部120がGPSユニット50からGPSデータを受け取って通信部140を介して運動解析装置2又は身体活動補助装置2Aに送信し、運動解析装置2又は身体活動補助装置2Aの処理部20が通信部40を介してGPSデータを受信し、受信したGPSデータをGPSデータテーブル320に付加すればよい。
また、上記の各実施形態では、運動解析装置2又は身体活動補助装置2Aと表示装置3が別体となっているが、運動解析装置2又は身体活動補助装置2Aと表示装置3が一体化された運動解析装置又は身体活動補助装置であってもよい。
また、上記の各実施形態では、運動解析装置2又は身体活動補助装置2Aがユーザーに装着されているが、これに限らず、慣性計測ユニット(慣性センサー)やGPSユニットをユーザーの胴体等に装着し、慣性計測ユニット(慣性センサー)やGPSユニットはそれぞれ検出結果をスマートフォン等の携帯情報機器やパーソナルコンピューター等の設置型の情報機器に送信し、これらの機器が受信した検出結果を用いてユーザーの運動を解析してもよい。あるいは、ユーザーの胴体等に装着された慣性計測ユニット(慣性センサー)やGPSユニットが検出結果をメモリーカード等の記録媒体に記録し、当該記録媒体をスマートフォンやパーソナルコンピューター等の情報機器が当該記録媒体から検出結果を読み出して運動解析処理を行ってもよい。
また、上記の第1実施形態では、表示装置3が、走行中出力情報及び走行後出力情報を受信して対応する画像、音、振動等のデータを生成し、表示部170、音出力部180及び振動部190を介してユーザーに提示(伝達)している。すなわち、表示装置3は、運動解析装置2が生成したユーザーの複数の運動情報のうち、所定条件を満たした運動情報である走行中出力情報を、ユーザーの走行中に出力する第1表示装置として機能し、かつ、運動解析装置2が生成したユーザーの複数の運動情報のうち、少なくとも1つの運動情報である走行後出力情報を、ユーザーの走行終了後に出力する第2表示装置として機能しているが、例えば、図62に示すように、第1表示装置と第2表示装置は別体でもよい。図62では、運動解析システム1は、運動解析装置2、第1表示装置3−1及び第2表示装置3−2を含んで構成されている。運動解析装置2の構成は図2に示した運動解析装置2の構成と同様であってもよく、第1表示装置3−1及び第2表示装置3−2の各構成は図2に示した表示装置3の構成と同様であってもよい。第1表示装置3−1は、例えば、腕時計型等のリスト機器、ヘッドマウントディスプレイ(HMD)、スマートフォン等の携帯機器であってもよい。また、第2表示装置3−2は、例えば、スマートフォンやパーソナルコンピューター等の情報機器であってもよい。
図62に示す運動解析システム1によれば、ユーザーの走行中には、第1表示装置3−1が、運動解析装置2が生成した複数の運動情報のうち走行状態に応じて所定条件を満たした走行中出力情報を出力するので、ユーザーは提示された情報を走行中に活用しやすい。また、第2表示装置3−2が、運動解析装置2がユーザーの走行中に生成した運動情報の一部に基づく走行後出力情報をユーザーの走行終了後に出力するので、ユーザーは提示された情報を走行終了後にも活用しやすい。従って、ユーザーの走行成績を向上させることを補助することができる。
上述した各実施形態および各変形例は一例であって、これらに限定されるわけではない。例えば、各実施形態および各変形例を適宜組み合わせることも可能である。
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。