以下に、本願の開示する電子機器、及び傾きバランス算出プログラムの実施例を、図面を参照しながら詳細に説明する。なお、以下の実施例により本願の開示する電子機器、及び傾きバランス算出プログラムが限定されるものではない。
以下、本願の開示する電子機器の実施例について、図面を参照しながら説明する。図1は、実施例1に係る携帯電話の構成を示すブロック図である。図1に示すように、携帯電話10は、プロセッサ11と、記憶部12と、表示部13と、入力部14と、無線通信部15と、6軸センサ16と、バイブレータ部17とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。
プロセッサ11は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路、またはCPU(Central Processing Unit)やMPU(Micro Processing Unit)等の電子回路である。プロセッサ11は、例えば、被験者の歩行中における腰部の傾き角度の平均値を算出し、その算出結果を用いて、歩行姿勢(フォーム)が正常であるか否かの判定基準となる傾き角度基準値を算出する。また、プロセッサ11は、被験者の歩行中における腰部の左右の傾き角度を算出する。更に、プロセッサ11は、被験者の歩行中の傾き角度が傾き角度基準値を超えた回数を左右毎に計数し、左右何れかの回数が所定の閾値を超えた場合に、被験者の歩行姿勢が超えた側に傾いていると判定する。
記憶部12は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ等の半導体メモリ素子、あるいは、ハードディスク、光ディスク等の記憶装置である。記憶部12は、6軸センサ16による、3軸方向の加速度や角速度の測定結果を、時刻情報と対応付けて記憶すると共に、プロセッサ11による傾き角度、傾き角度基準値の算定結果、及び傾き異常の判定結果を更新可能に記憶する。
表示部13は、各種情報を出力する出力デバイスであり、例えば、LCD(Liquid Crystal Display)やスピーカである。表示部13は、例えば、記憶部12に保持されている、傾き異常の判定結果を表示する。
入力部14は、各種情報や操作指示を入力するための入力デバイスであり、例えば、数字および文字等を入力するテンキーや、メニュー選択および表示スクロール等に用いられるカーソルキーである。
無線通信部15は、アンテナAを介して、携帯電話網との間で無線通信を行う。無線通信部15は、例えば、W−CDMA(Wideband Code Division Multiple Access)やLTE(Long Term Evolution)による通信や通話に関する処理を行うベースバンドプロセッサである。
6軸センサ16は、互いに直交する3軸方向の加速度を検出する3軸加速度センサ及び互いに直交する3軸周りの回転角速度を検出する3軸角速度センサ(ジャイロセンサ)を含む。6軸センサ16は、周知慣用のセンサであることから詳細な説明は省略するが、6軸センサ16に含まれる3軸加速度センサは、直交する3軸方向の加速度を検出する。X軸方向の加速度は、被験者の歩行において左右方向の移動に伴う変位値となる。すなわち、所定時点の6軸センサ16の装着姿勢を基準とした左右方向の移動量であり、左方向の移動量がプラスとなり、右方向の移動量がマイナスとなる。Y軸方向の加速度は、被験者の歩行において上下方向の移動に伴う変位値となる。すなわち、所定時点の6軸センサ16の装着姿勢を基準とした上下方向の移動量であり、上方向の移動量がプラスとなり、下方向の移動量がマイナスとなる。Z軸方向の加速度は、被験者の歩行において前後方向の移動に伴う変位値となる。すなわち、所定時点の6軸センサ16の装着姿勢を基準とした前後方向の移動量であり、前方向の移動量がプラスとなり、後方向の移動量がマイナスとなる。
また、6軸センサ16に含まれる3軸角速度センサは、直交する3軸周りの角速度を検出する。X軸周りの角速度は、被験者の歩行において前後方向の回転に伴う変位値となる。すなわち、所定時点の6軸センサ16の装着姿勢を基準とした前後方向の回転量であり、後方向(起き上がり方向)の回転量がプラスとなり、前方向(前傾方向)の回転量がマイナスとなる。Y軸周りの角速度は、被験者の歩行において体幹方向の回転に伴う変位値となる。すなわち、所定時点の6軸センサ16の装着姿勢を基準とした左右方向の回転量であり、右方向の回転量がプラスとなり、左方向の回転量がマイナスとなる。Z軸周りの角速度は、被験者の歩行において左右方向の回転に伴う変位値となる。すなわち、所定時点の6軸センサ16の装着姿勢を基準とした左右方向の回転量であり、右方向の回転量がプラスとなり、左方向の回転量がマイナスとなる。
バイブレータ部17は、プロセッサ11が被験者の歩行姿勢に異常を検知した場合に、振動または鳴動することで、被験者に対し異常の通知を行う。バイブレータ部17は、傾き角度に異常のある側によって異なるパターンの振動または鳴動を被験者に与える。例えば、バイブレータ部17は、右傾き角度に異常が検知された場合には、5秒間程度継続する振動を発し、左傾き角度に異常が検知された場合には、1秒間隔の断続的な振動を発する。バイブレータ部17は、モータの重心を偏らせるための重りをモータ軸に取り付け、モータを回転させることで、振動を発生させるデバイスである。
次に、実施例1における携帯電話10の動作を説明する。
まず、図2を参照しながら、携帯電話10が被験者の姿勢異常を検知する動作について、全体の流れを説明する。図2は、異常検知処理を説明するためのフローチャートである。S1では、携帯電話10は、被験者の歩行開始の有無を監視する。携帯電話10は、歩行開始を検出すると(S1;Yes)、6軸センサ16により3軸方向の加速度及び角速度を測定し、測定結果を時刻と対応付けて記録する。携帯電話10は、この記録を基に傾き角度算出処理を実行することにより、左右毎の傾き角度と、その傾き角度となった時刻とを算出する(S2)。
傾き角度算出処理は、100歩分の測定結果が得られるまで繰り返し実行され、100歩分の測定が終了した時点(S3;Yes)で、携帯電話10は、傾き角度基準値算出処理の実行を開始する。歩数のカウントは、上記記録中における後述のステップマーカの時刻を基に行われる。詳細については後述するが、携帯電話10は、傾き角度基準値の算出に際し、S2で算出された傾き角度の平均値を左右別々に算出し、これらの平均値の内、小さい値を傾き角度の基準値として設定する(S4)。そして、携帯電話10は、後述の傾き異常判定処理を実行し、傾き角度が基準値を超えた回数に基づき、被験者の腰部の傾き異常を検知する(S5)。
以下、図3〜図6を参照しながら、上述した各処理について具体的に説明する。
まず、上述した各処理の前提として、ステップマーカ抽出処理及びステップマーカ左右判断処理について説明する。プロセッサ11は、Y軸方向の加速度、すなわち上下方向の移動量に基づいて、1歩毎に現れる所定の特徴時点を歩行タイミング(以降、「ステップマーカ」と記す。)として抽出する。本実施例では、ステップマーカを、一歩の着地時点(脚の踵が地面に着地した時点)であるものとして説明する。具体的には、プロセッサ11は、記憶部12に記憶された生データから上下方向の移動量を参照し、複数時点の上下方向の移動量の中で下方向(マイナス)の折り返し時点を選択する。
また、プロセッサ11は、選択された折り返し時点の移動量が当該折り返し時点より5サンプル前の時点の移動量より小さく、かつ、選択された折り返し時点の移動量が当該折り返し時点より5サンプル後の時点の移動量より小さいか否かを判定する。そして、プロセッサ11は、選択された折り返し時点の移動量が5サンプル前より小さく、かつ、選択された折り返し時点の移動量が5サンプル後より小さい場合には、この折り返し時点をステップマーカとして抽出する。
また、プロセッサ11は、抽出されたステップマーカが直前のステップマーカから250ms未満であるか否かを判定する。次に、プロセッサ11は、抽出されたステップマーカが直前のステップマーカから250ms未満であると判定する場合には、歩行における正常な歩行姿勢の1歩でないと判断し、抽出されたステップマーカをステップマーカと判断しない。そして、プロセッサ11は、ステップマーカか否かを示すステップマーカの区別を生データに追加した生データをプロセッサ11に出力する。
なお、プロセッサ11は、歩行における正常な歩行姿勢の1歩の判断を、下限値を用いて判断したが、これに限定されず、さらに上限値を用いて判断してもよい。上限値を用いて判断する場合には、例えば、プロセッサ11は、抽出されたステップマーカが直前のステップマーカから1000msを越えているか否かを判定する。プロセッサ11は、抽出されたステップマーカが直前のステップマーカから1000msを越えていると判定する場合には、歩行における正常な歩行姿勢の1歩でないと判断し、抽出されたステップマーカをステップマーカと判断しない。
プロセッサ11は、ステップマーカ前後のZ軸周りの角速度、すなわち左右方向の最大回転量の左右方向(正負の符号)に基づいて、ステップマーカにおける1歩を成す脚の左右を判断する。具体的には、プロセッサ11は、上記生データから、脚の左右を判断するためのステップマーカと、当該ステップマーカの直前と直後のステップマーカを選択する。なお、本実施例では、脚の左右を判断するステップマーカを左右判断ステップマーカと記すものとする。そして、プロセッサ11は、左右判断ステップマーカと直前のステップマーカとの間の前期間、及び左右判断ステップマーカと直後のステップマーカとの間の後期間を算出する。そして、プロセッサ11は、上記左右判断ステップマーカを中心に前期間30%の時点から後期間30%の時点までの範囲を、前後検索範囲として算出する。
また、プロセッサ11は、算出された前後検索範囲から左右方向の最大回転量を、生データから読み出す。また、プロセッサ11は、読み出された最大回転量がプラス方向であるか否かを判定する。そして、プロセッサ11は、読み出された最大回転量がプラス方向であると判定する場合には、回転が右方向であると判断し、左脚着地と判定する。一方、プロセッサ11は、読み出された最大回転量がマイナス方向であると判定する場合には、回転が左方向であると判断し、右脚着地と判定する。そして、プロセッサ11は、生データのステップマーカに対するデータに対し、1歩を成す脚の左右の区別を追加し、そのデータを出力する。
続いて、傾き角度算出処理について説明する。図3は、傾き角度算出処理を説明するためのフローチャートである。携帯電話10は、傾き角度算出の前提処理として、3軸方向の加速度及び角速度の履歴データから、ステップマーカ時刻を特定し、その時刻を記憶部12に記録する(S21)。S21において、携帯電話10は、例えば、上下方向(y軸方向)の加速度がマイナスからプラスに転じた時刻をステップマーカ時刻(着地時刻)とすることができる。
次に、携帯電話10は、S21で記録された各ステップマーカ時刻間の履歴データが、左右何れの足が踏み出された(浮いている)場合のものであるかの判別を行う(S22)。判別の結果、上記履歴データが被験者の右足に関するデータである場合(S22;右)には、被験者の軸足である左足と反対側の右側腰部が上方に傾くため、携帯電話10は、該当するステップマーカ時刻間の履歴データを基に、右傾き角度を算出する(S23)。携帯電話10は、算出した右傾き角度を、その角度をとった時刻と共に記憶部12に記録する(S24)。
一方、S22における判別の結果、上記履歴データが被験者の左足に関するデータである場合(S22;左)には、被験者の軸足と反対側(左側)の腰部が上方に傾くため、携帯電話10は、該当するステップマーカ時刻間の履歴データを基に、左傾き角度を算出する(S25)。携帯電話10は、算出した左傾き角度を、その角度をとった時刻と共に記憶部12に記録する(S26)。
傾き角度算出処理の終了に伴い、携帯電話10の記憶部12には、各時刻における左右の傾き角度の算出結果が、時系列に記録される。図4Aは、各時刻における右傾き角度の算出結果の一例を示す図である。図4Aに示すように、10時10分10秒における被験者の右腰部の傾き角度は8度と算出されている。同様に、その4秒後の右傾き角度は10度、その更に4秒後の右傾き角度は10度と算出されている。また、図4Bは、各時刻における左傾き角度の算出結果の一例を示す図である。図4Bでは、右傾き角度の時刻から2秒ずつ遅れて、それぞれ6度、6度、7度の傾き角度が、左側腰部の傾き角度として、算出されている。傾き角度のデータが片側につき50歩分(両側で100歩分)溜まった時点で、携帯電話10は、上述の傾き角度算出処理を終了し、傾き角度基準値算出処理に移行する。
続いて、傾き角度基準値算出処理について説明する。図5は、傾き角度基準値算出処理を説明するためのフローチャートである。図5において、S41では、携帯電話10は、右傾き角度の平均値を算出する。例えば、各時刻における右傾き角度が、図4Aに示した値を採るとき、右傾き角度の平均値として、8、10、10度の平均値である“9.3度”が算出される。携帯電話10は、左傾き角度の平均値についても、同様に算出する(S42)。例えば、各時刻における左傾き角度が、図4Bに示した値を採るとき、左傾き角度の平均値として、6、6、7度の平均値である“6.3度”が算出される。携帯電話10は、S41、S42でそれぞれ算出された平均値のうち、値の小さい方を傾き角度基準値に設定する。
すなわち、携帯電話10は、S43において、左右の傾き角度の平均値を比較し(S43)、比較の結果、右傾き角度の平均値<左傾き角度の平均値の関係にある場合には、右傾き角度の平均値を傾き角度基準値に設定する(S44)。反対に、右傾き角度の平均値>左傾き角度の平均値の関係にある場合には、左傾き角度の平均値を傾き角度基準値に設定する(S45)。なお、右傾き角度の平均値と左傾き角度の平均値とが同じ値をとる場合には、携帯電話10は、その値を傾き角度基準値とする。上述のように、携帯電話10は、左右の傾き角度平均値のうち、小さい値を傾き角度基準値として設定する。したがって、携帯電話10は、その他の値(例えば、大きい値)を基準値とする場合と比較して、腰部の傾きを、より早くかつ確実に検出することができる。
次に、傾き異常判定処理について説明する。図6は、傾き異常判定処理を説明するためのフローチャートである。傾き異常判定処理では、携帯電話10は、まず、図3を参照して上述した傾き角度算出処理を実行する(S51)。傾き角度が算出されると、携帯電話10は、上述の傾き角度基準値算出処理(図5参照)により算出された基準値と、S51で算出された傾き角度の値との比較を行い(S52)、傾き角度が上記基準値以上となった回数を左右別々にカウント(計数)する。すなわち、携帯電話10は、傾き角度≧基準値となった場合(S52;Yes)、左右何れの傾き角度が異常であるか(基準値以上となったか)を、X軸方向の加速度の測定結果に基づいて判定する(S53)。
携帯電話10は、傾き異常回数の累計値を左右毎に保持しており、S53における判定の結果、右傾き角度が異常である場合(S53;Yes)、右側の傾き異常回数の累計値に“1”を加算する(S54)。加算の結果、当該累計値が100以上となった場合(S55;Yes)、携帯電話10は、右側異常用のバイブレータを起動し(S56)、右側に傾き異常のあることを被験者に通知する。その後、携帯電話10は、傾き異常回数の累計値を左右共に“0”にリセットする(S57)。なお、S55において、右側の傾き異常回数の累計値が100に達しない場合(S55;No)には、携帯電話10は、S56、S57の処理を省略して、傾き異常判定処理を終了する。
一方、S53における判定の結果、左傾き角度が異常である場合(S53;No)、携帯電話10は、左側の傾き異常回数の累計値に“1”を加算する(S58)。加算の結果、当該累計値が100以上となった場合(S59;Yes)、携帯電話10は、左側異常用のバイブレータを起動し(S60)、左側に傾き異常のあることを被験者に通知する。その後、携帯電話10は、傾き異常回数の累計値を左右共に“0”にリセットする(S57)。なお、S59において、左側の傾き異常回数の累計値が100に達しない場合(S59;No)には、携帯電話10は、S60、S57の処理を省略して、傾き異常判定処理を終了する。
上述したように、傾き異常判定処理では、傾き角度は、被験者が片足を踏み出す度に一歩ずつ求まるため、傾き角度と基準値との比較処理についても、1歩毎に実行される。その比較結果の累積が、左右の何れかに偏った場合に、携帯電話10は、偏った側に姿勢異常があると判断し、その旨を、被験者であるユーザに通知する。
なお、S52において、傾き角度<基準値の関係にある場合(S52;No)には、携帯電話10は、S53〜S60の一連の処理を省略して、上述した傾き異常判定処理を終了する。
上述してきたように、実施例1に係る携帯電話10によれば、プロセッサ11は、被験者の運動中における腰部の傾き角度の平均値を用いて、運動姿勢が正常か否かの判定基準となる基準値を算出する。また、プロセッサ11は、被験者の運動中における腰部の傾き角度を左右毎に算出する。そして、プロセッサ11は、算出された左右毎の傾き角度が、算出された基準値以上となった回数に基づき、被験者の運動姿勢を判定する。より具体的には、プロセッサ11は、算出された傾き角度が基準値以上となった回数を左右毎に計数し、左右何れかの回数が所定値以上となった場合に、被験者の運動姿勢が異常であると判定する。
換言すれば、携帯電話10は、6軸センサ16とプロセッサ11とバイブレータ部17とを有する。6軸センサ16は、第1の軸の方向の加速度を検出すると共に、第1の軸と直交する第2の軸周りの角速度を検出する。プロセッサ11は、6軸センサ16により検出された複数時点の加速度の変位値に基づいて、1歩毎に現れる所定の特徴変位の時点(上述のステップマーカとしての歩行タイミング)を抽出する。プロセッサ11は、6軸センサ16により検出された角速度の変位値に基づいて、時点の変位が何れの方向に対応する変位であるかを判定する。プロセッサ11は、時点、角速度の変位値、及び方向に基づいて、左右の傾きバランスに関する情報を算出する。バイブレータ部17は、左右の傾きバランスに関する情報に基づいた通知を行う。特に、プロセッサ11は、上記時点、上記角速度の変位値、及び上記方向と、所定の基準値とを比較し、当該比較の結果を上記左右の傾きバランスに関する情報として算出する。
すなわち、携帯電話10は、所定時間における腰部傾き角度の平均値から、歩行姿勢の異常を判定する際の基準値を事前に求めておき、被験者の歩行中の傾き角度が当該基準値を超えた回数を用いて、姿勢異常を検知する。そして、携帯電話10は、バイブレータの鳴動により、異常のある旨とその異常が左右何れの側にあるかを被験者に通知する。したがって、被験者であるユーザは、携帯電話10を閉じ、腰部後方に装着するだけで、携帯電話10からの通知を基に、歩行中の姿勢異常を簡易迅速に把握することができる。
次に、実施例2における携帯電話について説明する。実施例2は、携帯電話が姿勢異常と判定する契機が実施例1と異なる。すなわち、実施例1では、携帯電話10は、左右何れかの傾き異常回数が100回に達した際に、姿勢異常と判定したが、実施例2では、左右の傾き異常回数の「差分」が100回に到達した際に、姿勢異常と判定する。
実施例2における携帯電話の構成は、実施例1における携帯電話10の構成と同様である。したがって、各構成要素には、同一の符号を用いると共に、その図示及び詳細な説明は省略する。また、動作についても、傾き異常判定処理を除き、実施例1における携帯電話10の動作と同様である。したがって、各ステップには、同一の符号を用いると共に、その図示及び詳細な説明は省略する。
図7は、実施例2に係る傾き異常判定処理を説明するためのフローチャートである。実施例2に係る傾き異常判定処理は、S65及びS69を除き、実施例1に係る異常判定処理と同様である。したがって、共通するステップには、末尾が同一の参照番号を付すと共に、その詳細な説明は省略する。具体的には、実施例1における図6のS51〜S54、S56〜S58、及びS60の各処理は、実施例2における図7のS61〜S64、S66〜S68、及びS70の各処理にそれぞれ対応する。
以下、実施例1との差異であるS65及びS69について詳述する。携帯電話10は、傾き異常回数の累計値を左右毎に保持している。S64における加算の結果、右側の傾き異常回数の累計値と左側の傾き異常回数の累計値との差分が100以上となった場合(S65;Yes)、携帯電話10は、右側異常用のバイブレータを起動し(S66)、右側に傾き異常のあることを被験者に通知する。これに対して、S68における加算の結果、左側の傾き異常回数の累計値と右側の傾き異常回数の累計値との差分が100以上となった場合(S69;Yes)、携帯電話10は、左側異常用のバイブレータを起動し(S70)、左側に傾き異常のあることを被験者に通知する。
図8は、傾き異常回数の累計値の時間的変化を示す図である。図8では、横軸に時間、縦軸に傾き異常回数の累計値が規定されている。図8に示すように、例えば、傾き異常回数が左右異なるペースで累積されていき、時刻t1において、右側の累計値が“120回”、左側の累計値が“20回”となった場合を想定する。この場合、右側の傾き異常回数の累計値に1が加算された時に、左右の累計値の差分が100回(=右120回−左20回)に到達したことになる。したがって、携帯電話10は、右側腰部に傾きの異常があることを検知し、これに対応するパターンのバイブレータを起動する。
上述してきたように、実施例2に係る携帯電話10によれば、プロセッサ11は、被験者の運動中における腰部の傾き角度の平均値を用いて、運動姿勢が正常か否かの判定基準となる基準値を算出する。また、プロセッサ11は、被験者の運動中における腰部の傾き角度を左右毎に算出する。そして、プロセッサ11は、算出された左右毎の傾き角度が、算出された基準値以上となった回数に基づき、被験者の運動姿勢を判定する。より具体的には、プロセッサ11は、算出された傾き角度が基準値以上となった回数を左右毎に計数し、左右の回数の差分が所定値以上となった場合に、被験者の運動姿勢が異常であると判定する。
すなわち、携帯電話10は、回数そのものではなく、その差分に基づいて傾き異常を判定するため、左右何れかの傾き角度が他方の傾き角度と比較して相対的に大きい場合にのみ、異常が検知されることとなる。例えば、被験者の歩行する途上に段差や階段がある場合には、被験者の姿勢異常の有無に拘らず、両側の腰部が傾くこととなる。このような場合にまで、両側の傾き異常をカウントすると、実際には姿勢が正常であるにも拘らず、早い段階で姿勢異常がアラームされることとなり、正確な異常通知が行われないという不都合が生じる可能性がある。そこで、実施例2に係る携帯電話10では、傾き異常回数の累計値の差分をとることにより、傾きが発生してもやむを得ない状況では、傾き異常の計数を結果として行わないようにする(ノーカウントとする)ことで、傾き異常回数の累計値のノイズを除去する。これにより、左右の腰部の傾きに有意な差が生じない限り、姿勢の異常は、被験者に通知されないこととなる。したがって、被験者は、異常の通知があった際には、腰部の傾きに真に偏りが生じている旨を、その通知を基に正確かつ容易に認識することができる。その結果、携帯電話10の信頼性が向上する。
[歩行姿勢診断プログラム]
また、上記各実施例で説明した各種の処理は、あらかじめ用意されたプログラムをコンピュータで実行することによって実現することができる。そこで、以下では、図9を用いて、図1に示した携帯電話10と同様の機能を有する歩行姿勢診断プログラムを実行するコンピュータの一例を説明する。
図9は、傾きバランス算出プログラムを実行するコンピュータを示す図である。図9に示すように、コンピュータ100は、CPU110と、入力装置120と、モニタ130と、音声入出力装置140と、無線通信装置150と、6軸センサ160とを有する。更に、コンピュータ100は、RAM170と、ハードディスク装置180等のデータ記憶装置とを有し、これらをバス190で接続して構成される。CPU110は、各種演算処理を実行する。入力装置120は、ユーザからのデータの入力を受け付ける。モニタ130は、各種情報を表示する。音声入出力装置140は、音声を入出力する。無線通信装置150は、無線通信を介して他のコンピュータとの間でデータの授受を行う。6軸センサ160は、3軸方向の加速度及び3軸周りの角速度を検出する。RAM170は、各種情報を一時的に記憶する。
そして、ハードディスク装置180には、図1に示したプロセッサ11と同様の機能を有する傾きバランス算出プログラム181が記憶される。また、ハードディスク装置180には、図1に示した記憶部12に記憶される各種データ(3軸方向の加速度及び角速度の履歴データ、ステップマーカ時刻、各時刻における左右の傾き角度の算出結果、傾き異常回数の累計値など)に対応する傾きバランス算出処理関連データ182及び算出履歴ファイル183が記憶される。
そして、CPU110が傾きバランス算出プログラム181をハードディスク装置180から読み出してRAM170に展開することにより、傾きバランス算出プログラム181は、傾きバランス算出プロセス171として機能するようになる。そして、傾きバランス算出プロセス171は、傾きバランス算出処理関連データ182から読み出した情報等を適宜RAM170上の自身に割り当てられた領域に展開し、この展開したデータ等に基づいて各種データ処理を実行する。そして、傾きバランス算出プロセス171は、所定の情報を算出履歴ファイル183に出力する。
なお、上記の傾きバランス算出プログラム181は、必ずしもハードディスク装置180に格納されている必要はなく、CD−ROM等の記憶媒体に記憶されたこのプログラムを、コンピュータ100が読み出して実行するようにしてもよい。また、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)等を介してコンピュータ100に接続される他のコンピュータ(またはサーバ)等にこのプログラムを記憶させておいてもよい。この場合には、コンピュータ100がこれらからプログラムを読み出して実行する。
なお、上記各実施例では、携帯電話10は、傾き角度の基準値の算出に際して、傾き角度の平均値を左右毎に求め、左右の平均値のうち、値の小さい方を基準値に設定するものとした。しかしながら、これに限らず、携帯電話10は、上記左右の平均値の、平均値を算出し、その値を基準値として使用してもよい。例えば、基準値の算出に際して、右傾き角度が図4Aに示した値を採るとき、右傾き角度の平均値は“9.3度”であり、左傾き角度が図4Bに示した値を採るとき、左傾き角度の平均値は“6.3度”である。したがって、この場合の基準値は、(9.3度+6.3度)÷2により、“7.8度”と算出される。携帯電話10は、この算出された平均値を基準値として傾き異常を判定することで、大きい方の傾き角度も考慮した基準値の設定と姿勢異常の判定が可能となる。
更に、携帯電話10は、傾き角度の基準値の設定に関し、左右の平均値のうち値の小さい平均値と、左右の平均値の平均値とを併用することもできる。すなわち、携帯電話10は、歩行姿勢の異常を判定する際の基準値として上記2つの値(例えば、6.3度と7.8度)を共に設定する。そして、携帯電話10は、傾き異常判定処理の実行に際し、算出された傾き角度が何れかの基準値以上となった場合に、傾き異常回数の累計値に1を加算する。かかる態様では、傾き角度が、左右の平均値の平均値以上となった場合には、必然的に小さい平均値も超えるため、この場合には、2が加算されることになる。また、傾き角度が、小さい平均値以上となった場合には通常通り“1”を加算し、左右の平均値の平均値以上となった場合には“3”を加算するというように、傾き異常回数の累計に重み付けを行ってもよい。これにより、携帯電話10は、被験者の歩行中における傾きの程度が特に大きい場合には、より早い段階で、その旨を通知することができる。したがって、基準値に到達した回数のみならず、歩行中の傾きの程度(どの位傾いたか)をも考慮に入れた、木目細やかな姿勢診断を実現することができる。その結果、姿勢診断の精度が向上する。
また、実施例1においては、携帯電話10は、傾き角度が基準値を超えた回数を基に傾き異常の有無を判定するものとした。しかしながら、携帯電話10は、回数そのものではなく、所定時間における回数(頻度)を基に傾き異常の有無を判定するものとしてもよい。例えば、携帯電話10は、1分間に基準値を超えた回数が30回以上となった場合に、傾き異常を被験者に通知するものとしてもよい。携帯電話10が回数を基に異常判定を行うと、傾きが異常となった頻度が少ない場合でも、被験者が長時間の歩行を継続したことに伴い、必ず通知が行われることになる。そこで、携帯電話10は、傾き異常が所定の頻度となった場合に初めて、姿勢異常を通知するものとすれば、被験者は、その通知を基に、有意な程度の傾き異常が実際にあったことを容易に知ることができる。
更に、実施例2においては、携帯電話10は、傾き角度が基準値を超えた回数の差分を計数し、差分が所定値となった場合に傾き異常と判定するものとした。しかしながら、携帯電話10は、差分の累計値そのものではなく、所定時間(例えば1分間)毎に差分を監視し、所定時間に発生した差分を基に傾き異常の有無を判定するものとしてもよい。例えば、携帯電話10は、1分間における差分が20回以上となった場合に初めて、傾き異常を被験者に通知するものとしてもよい。携帯電話10が差分の累計値を基に異常判定を行うと、差分の発生頻度は小さくても(実際にはあまり異常がなくても)、長時間の歩行に伴い、傾き異常と判定されてしまう可能性がある。そこで、携帯電話10が、傾き異常の判定対象となる時間を所定時間単位に区切って、差分を監視するものとすれば、差分が発生しても、その差分が所定時間の間に閾値に達しない限りは、姿勢異常は通知されないこととなる。したがって、被験者は、通知があった場合には、歩行姿勢に相当程度の傾き異常があったことを、その通知を基に容易に知ることができる。
また、上記各実施例では、携帯電話10は、傾き角度が基準値以上となった回数やその差分に基づき、傾き異常を判定するものとした。しかしながら、携帯電話10は、傾き角度が基準値以上となった程度(傾き角度の値)を考慮に入れて、傾き異常を判定するものとしてもよい。すなわち、上記各実施例では、回数や差分は参照されるものの、傾き角度が基準値を超えた量については勘案されないが、携帯電話10は、回数や差分のみならず、傾き角度がどの程度基準値を上回ったかをも考慮に入れて傾き異常を判定するものとしてもよい。これを実現するために、例えば、携帯電話10は、傾き異常の回数ではなく、傾き角度自体の累計値を用いて、異常の有無を判定する。具体的には、携帯電話10は、傾き角度の累計値または累計値の差分が所定の角度(例えば、1000度程度)以上となった場合に、異常と判定することができる。かかる態様では、携帯電話10は、必ずしも傾き角度基準値を設定することなく、傾き異常の判定を行うことができる。
また、例えば、携帯電話10は、基準値以上であれば“1”を加算し、基準値未満であれば加算しないという二者択一的なカウントではなく、傾き角度が基準値を上回った程度に応じて、加算する回数を段階的に増減させてもよい。具体的には、携帯電話10は、傾き角度が基準値を3度未満しか超えなかった場合には通常通り“1”を加算するが、3度以上上回った場合には“2”を加算し、5度以上上回った場合には“4”を加算する、というように、傾き角度の大きさに応じて加算回数を変動させる。これにより、携帯電話10は、累計値やその差分の閾値を変えることなく、結果として、少ない回数や差分で、被験者の傾き異常を検知することができる。したがって、携帯電話10は、より実態に即した姿勢異常の検知及び通知を、より早い段階で迅速に行うことが可能となる。その結果、携帯電話10の信頼性や利便性が向上する。
更に、上記各実施例では、携帯電話10は、傾き異常を検知した際、異常があった旨と、左右何れの側に異常があったかの通知を行うものとした。しかしながら、これらの情報に限らず、携帯電話10は、傾き角度の平均値や、傾き角度が基準値以上となった回数や頻度を左右毎に表示するものとしてもよい。例えば、携帯電話10は、傾き異常を検知した際、「右側の腰の傾き角度は6.6度でしたが、左側は10.3度でした。左右の傾き角度に3.7度の差がありました。」等というメッセージを表示する。あるいは、携帯電話10は、「左側の腰は160回中30回傾きましたが、右側の腰は160回中100回傾きました。右側の傾きを抑えて歩行して下さい。」等というメッセージを表示する。これにより、被験者は、傾きの有無やサイドのみならず、傾きの度合いといった、より詳細な情報を得ることができる。したがって、被験者は、この情報を基に、歩行中に如何なる注意が必要であり、歩行姿勢をどのように修正すれば良いかといった具体的な改善策を、簡易かつ適確に知ることができる。その結果、携帯電話10の利便性が向上する。
更に、上記各実施例では、運動の一例として歩行を例に採り、歩行姿勢の異常を検知する携帯電話について説明したが、本発明は、これに限らず、スキップや小走り、ランニング等、歩行以外の運動についても適用可能である。また、本発明は、携帯電話に限らず、スマートフォンやPDA(Personal Digital Assistant)といった様々な携帯型端末装置に適用可能である。
また、上記各実施例では、傾き角度の基準値の算出に際し、歩数を指標として、100歩分の加速度及び角速度の測定が終了したことを以って、基準値の算定を行うものとした。しかしながら、これに限らず、歩行時間を指標としてもよい。すなわち、携帯電話10は、傾き角度算出処理を所定時間(例えば、1〜3分間程度)の歩行に対して実行した後に、基準値の算定を行うものとしてもよい。
更に、携帯電話10は、6軸センサ16を有するものとした。すなわち、携帯電話10は、6軸センサ16から出力される左右方向の移動量、上下方向の移動量、前後方向の移動量、前後方向の回転量、体幹方向の回転量、及び左右方向の回転量を検出するものとした。しかしながら、携帯電話10は、これに限定されず、3軸加速度センサのうち上下方向の移動量を検出するy軸方向の加速度センサを有し、y軸方向以外の座標軸方向の加速度センサまたは何れか1つの座標軸周りの角速度センサを有するようにしてもよい。
また、図示した携帯電話の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することもできる。例えば、基準値算出部と傾き角度算出部とを1つの構成要素として統合してもよい。反対に、判定部に関し、左右毎の傾き角度が基準値以上となった回数を計数する部分と、該計数結果に基づいて被験者の運動姿勢を判定する部分とに分散してもよい。また、記憶部12を、携帯電話10の外部装置としてネットワークやケーブル経由で接続するようにしてもよい。