JP6035749B2 - 情報処理装置、情報処理プログラム及び情報処理方法 - Google Patents

情報処理装置、情報処理プログラム及び情報処理方法 Download PDF

Info

Publication number
JP6035749B2
JP6035749B2 JP2012017323A JP2012017323A JP6035749B2 JP 6035749 B2 JP6035749 B2 JP 6035749B2 JP 2012017323 A JP2012017323 A JP 2012017323A JP 2012017323 A JP2012017323 A JP 2012017323A JP 6035749 B2 JP6035749 B2 JP 6035749B2
Authority
JP
Japan
Prior art keywords
time
exercise
calculation process
elapsed time
period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012017323A
Other languages
English (en)
Other versions
JP2013153975A (ja
Inventor
陽介 千田
陽介 千田
史朗 永嶋
史朗 永嶋
貴光 栗林
貴光 栗林
理恵 歌代
理恵 歌代
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012017323A priority Critical patent/JP6035749B2/ja
Publication of JP2013153975A publication Critical patent/JP2013153975A/ja
Application granted granted Critical
Publication of JP6035749B2 publication Critical patent/JP6035749B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Navigation (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Description

本発明は、情報処理装置、情報処理プログラム及び情報処理方法に関する。
近年の健康ブームの中、身体の健康度合を測定する測定装置が普及されつつある。例えば、測定装置の一つとして、側屈運動やひねり運動での身体の左右のズレや、最終位置に到達するまでの身体の運動軌跡の歪み等を測定するものがある。この測定装置は、身体上の任意の点が移動した軌跡を運動軌跡として演算するものである。
また、測定装置を携帯電話機等の携帯端末に組み込む場合、携帯端末に内蔵されている、例えば、角速度計及び加速度計等の慣性センサを使用して測定装置としての測定機能を実現するものである。慣性センサを用いて運動軌跡を演算する場合、角速度の1回分の積分と、加速度の2回分の積分とで運動軌跡を演算できる。
しかしながら、携帯電話機等の民生品では、部品コスト、部品サイズや消費電力量等を考慮すると、高精度の慣性センサを使用するのは困難である。しかも、ドリフト及びオフセットを抑制するためのアイドリング期間を設けることも困難である。従って、軌跡演算の測定機能を携帯電話機に組み込む場合には、様々な技法が考えられる。
そこで、軌跡演算を実現する技法の一例として射的法がある。射的法は、軌跡の始点及び終点が同じ往復運動の軌跡演算に適している。
特開2002−65640号公報 国際公開第2003/090981号
しかしながら、健康度合を測定する測定機能を使用する利用者は、老若男女、様々であり、その運動速度にも個人差があるため、その運動に要する時間も異なる。従って、運動速度が遅くなると、運動に要する時間も長くなるため、その分、軌跡演算に使用する積分時間も長くなる。その結果、射的法では、積分時間が長くなると累積誤差も大きくなるため、正しい演算結果が得られない。
例えば、慣性センサを使用して軌跡演算を実行する際、加速度及び角速度等のアナログ情報をデジタル情報に変換する必要があるが、デジタルで扱える最小単位以下の加速度及び角速度が取りこぼされてしまう。取りこぼされた加速度及び角速度等が積分値(軌跡)に及ぼす影響は積分時間が長くなる程、その累積誤差が大きくなる。図12は、加速度の積分時間に応じて累計誤差が生じる関係の一例を示す説明図である。例えば、角速度センサの分解能をRrez(rad/s)とした場合、時間T(s)経過後、RrezT(rad)が計測不能となる。また、図12に示すように、加速度センサの分解能をArez(m/s)とした場合、時間T(s)経過後、ArezT/2(m)が計測不能となる。
例えば、民生品の携帯電話機に使用される加速度センサとして10ビットで±4Gを計測するタイプがある。この加速度センサの分解能はArez=(2×4×9.8)/1024=0.0766(m/s)である。すなわち、例えば、3秒で約34cm、5秒で約95cm、10秒で約3.8mの距離が計測不能なことを意味する。尚、射的法で補正できる時間は、発明者の経験則から考えると、求められる精度の約10倍の距離の時間が必要となる。すなわち、精度1cmの軌跡を得ようとする場合には、その10倍の10cmの距離Lを必要とし、この距離Lで得られる時間は√(2L/Arez)の1.6秒程度である。従って、1.6秒を超える運動時間を射的法に採用した場合、射的法で得られた軌跡は実際の軌跡と一致しない不自然な軌跡となる。
つまり、民生品の慣性センサを備えた携帯電話機等の情報処理装置では、利用者の運動時間が異なるため、正確な運動軌跡が得られないのが実情である。
一つの側面では、利用者の運動時間に応じて正確な運動軌跡が得られる情報処理装置、情報処理プログラム及び情報処理方法を提供することを目的とする。
開示の態様は、装置本体と、加速度を検出する加速度検出部と、角速度を検出する角速度検出部と、記憶部とを有する。記憶部には、当該装置本体を装着した身体部位が動作する際の運動が開始された始点から前記運動が終了された終点までの運動期間を確定し、確定された前記運動期間内の前記加速度及び前記角速度に基づき、前記運動期間内の運動軌跡を算出する第1の演算処理が記憶してある。更に、記憶部には、前記始点から、前記角速度に基づき推定された終点までの運動期間を確定し、確定された前記運動期間内の前記加速度及び前記角速度に基づき、前記運動軌跡を算出する第2の演算処理が記憶してある。更に、記憶部には、前記始点から前記加速度及び前記角速度に基づき前記運動軌跡を算出する第3の演算処理が記憶してある。更に、開示の態様は、前記運動期間内の前記始点からの運動時間が第1の経過時間を超えたか否かを判定する第1判定部と、前記運動時間が前記第1の経過時間よりも長い第2の経過時間以上であるか否かを判定する第2判定部とを有する。更に、開示の態様は、前記運動時間が前記第1の経過時間を超えていないと判定されると、前記第1の演算処理を選択する選択部を有する。更に、選択部は、前記運動時間が前記第1の時間を超え、かつ、前記第2の経過時間以上でないと判定されると、前記第2の演算処理を選択すると共に、前記運動時間が前記第2の経過時間以上と判定されると、前記第3の演算処理を選択する。更に、開示の態様は、前記選択部によって選択された前記演算処理に基づき、前記運動軌跡を算出する制御部を有する。
開示の態様では、利用者の運動時間に応じて正確な運動軌跡が得られる。
図1は、実施例1の情報処理装置の一例を示すブロック図である。 図2Aは、情報処理装置を装着した人体のリンクモデルの一例を示す説明図である。 図2Bは、情報処理装置を装着した人体のリンクモデルの一例を示す説明図である。 図2Cは、情報処理装置を装着した人体のリンクモデルの一例を示す説明図である。 図2Dは、情報処理装置を装着した人体のリンクモデルの一例を示す説明図である。 図2Eは、情報処理装置を装着した人体のリンクモデルの一例を示す説明図である。 図3は、角速度の二乗和と時間との関係に基づき運動区間を特定する際の一例を示す説明図である。 図4は、情報処理装置の位置座標の一例を示す説明図である。 図5は、第1の演算処理及び第2の演算処理に関わるMCUの処理動作の一例を示すフローチャートである。 図6は、第3の演算処理に関わる演算処理部の動作の一例を示す説明図である。 図7は、最適演算処理に関わるMCUの処理動作の一例を示すフローチャートである。 図8は、実施例2の最適演算処理に関わるMCUの処理動作の一例を示すフローチャートである。 図9は、実施例3の情報処理装置の一例を示すブロック図である。 図10は、実施例3の最適演算処理に関わるMCUの処理動作の一例を示すフローチャートである。 図11は、演算処理の一例を示すフローチャートである。 図12は、加速度の積分時間に応じて累計誤差が生じる関係の一例を示す説明図である。
以下、図面に基づいて、本願の開示する情報処理装置、情報処理プログラム及び情報処理方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図1は、実施例1の情報処理装置の一例を示すブロック図である。図1に示す情報処理装置1は、例えば、慣性センサを内蔵した携帯電話機等の携帯端末である。情報処理装置1は、通信部11と、加速度センサ12と、角速度センサ13と、操作部14と、表示部15と、ワークメモリ16と、プログラム領域17と、メモリストレージ18と、MCU(Micro Controller Unit)19とを有する。
通信部11は、例えば、無線通信を司るインタフェースである。加速度センサ12は、例えば、x軸、y軸及びz軸の3軸の加速度Sを検出するセンサ等の加速度検出部である。角速度センサ13は、例えば、3軸の角速度Gを検出するセンサ等の角速度検出部である。操作部14は、コマンド等の各種情報を入力する。表示部15は、各種情報を表示出力する。ワークメモリ16は、演算に使用するメモリ領域である。プログラム領域17は、各種プログラムが格納された記憶部である。メモリストレージ18は、例えば、一定期間のセンサ情報等の各種情報を記憶する領域である。MCU19は、情報処理装置1全体を制御するプロセッサである。
図2A〜Eは、情報処理装置1を装着した人体のリンクモデルの一例を示す説明図である。例えば、前屈運動、側屈運動やひねり運動等の運動軌跡を演算する場合、利用者の正面胸部に情報処理装置1を装着する。図2Aに示すように、原点を人体の背骨101の腰関節102付近とし、x軸を人体の左手方向、y軸を人体の頭頂方向、z軸を人体の前方方向に設定する。
図2Bの前屈運動は、x軸回りの回転φxが主たる動きである。尚、x軸回りの回転φxは、人体の前方向への傾き度合を示す。図2Cの側屈運動は、z軸回りの回転φzが主な動きである。z軸回りの回転φzは、人体の直立した姿勢から真横に人体を倒す度合を示す。人体が左右対称の場合、z軸回りの回転角の正の方向(人体を直立させたときの回転角を0とした場合、回転角が正の値となる方向)と負の方向(回転角が負の値となる方向)との最大値が略一致する。図2Dのひねり運動は、y軸回りの回転φyが主な動きである。尚、y軸回りの回転φyは、人体のひねり度合を示す。
この際、情報処理装置1の位置と背骨101の位置との間の距離をd1、腰関節102の位置と背骨101の位置との間の距離をh1とした場合、正面胸部に設置された情報処理装置1の初期位置は(0、h1、d1)である。尚、情報処理装置1の位置は、情報処理装置1の任意の点の位置である。
また、図2Eに示す足踏み運動の軌跡を演算する場合、利用者の腰関節102付近に情報処理装置1を装着する。この際、情報処理装置1の位置と腰関節102の位置との間の距離をd2、腰関節102と繋がる背骨101の位置と、足首の関節103と繋がる脚骨104の位置との間の距離をh2とした場合、腰関節102付近に装着された情報処理装置1の初期位置は(0、h2、−d2)である。
また、MCU19は、角速度センサ13で検出された角速度Gの二乗和pに基づき運動区間Tpを算出する。図3は、角速度の二乗和と時間との関係に基づき運動区間を特定する際の一例を示す説明図である。MCU19は、角速度Gの二乗和pが所定閾値αを超えた時刻を運動区間の開始時刻(始点)T0とする。また、MCU19は、角速度Gの二乗和pが所定閾値α以下のまま、所定時間T1を経過した場合、所定閾値α以下になった時点を運動区間の終了時刻(終点)Tnとする。その結果、MCU19は、始点T0及び終点Tnで運動区間Tpを特定する。
図4は、情報処理装置1の位置座標の一例を示す説明図である。加速度センサ12で検出される加速度Siは、(ax,ay,az)で表現する。角速度センサ13で検出される角速度Giは、(gx、gy、gz)で表現する。
また、プログラム領域17に格納される演算処理には、後述する、第1の演算処理と、第2の演算処理と、第3の演算処理とがある。第1の演算処理は、運動区間を確定し、確定された運動区間内の加速度S及び角速度Gに基づき、往復運動(始点=終点)の運動区間内の運動軌跡を算出する往復運動に適した第1の射的法の演算処理である。第2の演算処理は、始点から角速度Gに基づき推定された終点までの運動区間を確定し、確定された運動区間内の加速度S及び角速度Gに基づき、片道運動(始点≠終点)の運動区間内の運動軌跡を算出する片道運動に適した第2の射的法の演算処理である。第3の演算処理は、始点から加速度S及び角速度Gに基づき運動軌跡を算出するフィードバック積分の演算処理である。
また、図1に示すMCU19は、第1判定部21と、第2判定部22と、第3判定部23と、選択部24と、制御部25とを有する。MCU19は、加速度センサ12及び角速度センサ13の検出結果に基づき運動区間Tpを算出する。
第1判定部21は、運動区間Tp内の始点から運動時間が第1の経過時間Tx1を超えたか否かを判定する。尚、第1の経過時間Tx1は、例えば、1.5秒である。第2判定部22は、運動時間が第2の経過時間Tx2を超えたか否かを判定する。尚、第2の経過時間Tx2は、例えば、5秒である。第3判定部23は、運動区間Tpの始点及び終点が同一、すなわち始点の重力加速度ベクトルGr1及び終点の重力加速度ベクトルGr2が同一の往復運動であるか否かを判定する。
選択部24は、運動時間が第1の経過時間Tx1を超えてない場合、かつ、運動区間Tpの始点及び終点が同一の往復運動の場合、第1の演算処理を選択する。選択部24は、運動時間が第1の経過時間Tx1を超え、かつ、運動時間が第2の経過時間Tx2を超えてない場合、第2の演算処理を選択する。更に、選択部24は、運動時間が第1の経過時間Tx1を超えず、かつ、往復運動でない場合には、第2の演算処理を選択する。また、選択部24は、運動時間が第2の経過時間Tx2を超えた場合、第3の演算処理を選択する。
制御部25は、選択部24によって選択された演算処理に基づき、運動区間内の運動軌跡を算出する。
次に情報処理装置1の動作について説明する。軌跡演算は、微小時間T毎に取得された角速度G及び加速度SをT毎の姿勢R及び位置Pに変換する演算である。T毎に更新される時刻Tは、0、T、2T、3T…と離散的な値である。添え字iを用いて、時刻i・Tの角速度をG=(gx,gy,gz)、加速度をS=(ax,ay,az)、情報処理装置1の姿勢をR、情報処理装置1の位置をP=(x,y,z)と表現する。尚、姿勢Rは、ピッチ、ロール及びヨーと呼ばれる三つの角度で表現し、計算の便宜上、ローカル座標をグローバル座標に変換して3×3の回転行列と考える。また、グローバル座標は、情報処理装置1を装着した人の空間の絶対座標であるのに対し、ローカル座標は、情報処理装置1自体に固定された座標である。
図5は、第1の演算処理及び第2の演算処理に関わるMCU19の処理動作の一例を示すフローチャートである。尚、運動区間をi=0,1,2,3…nで表現し、始点をi=0、終点をi=nとした場合、始点の姿勢をR=I、終点の姿勢をR=RN、始点の速度をV=0、終点の速度をV=VN、始点の位置をP=0、終点の位置をP=PNとする。第1の演算処理で使用する第1の射的法は、終点の姿勢RN、速度VN及び位置PNが、始点の姿勢R、速度V及び位置Pと等しく、姿勢R及びRNがI、速度V及びVNが0、位置P及びPNが0である往復運動を対象とする。これに対して、第2の演算処理で使用する第2の射的法は、片道運動を対象とし、運動区間の終点の姿勢R、速度V及び位置Pを角速度Gに基づき推定する。
図5においてMCU19の制御部25は、加速度センサ12の検出結果である加速度S=(ax,ay,az)の時系列データ及び角速度センサ13の検出結果である角速度G=(gx,gy,gz)の時系列データを収集する(ステップS11)。
制御部25は、収集された加速度S及び角速度Gの時系列データから運動区間に対応した加速度S0〜Sn及び角速度G0〜Gnを抽出する(ステップS12)。そして、制御部25は、運動区間に基づき、終点の姿勢RN、速度VN及び位置PNを決定する(ステップS13)。尚、往復運動の場合、始点及び終点が同一値であるため、終点の姿勢RNはI、終点の速度VNは0、終点の位置PNは0である。これに対して、片道運動の場合、始点及び終点が同一値でないため、終点の姿勢RN、速度VN及び位置PNが角速度Gnに基づき推定する。
制御部25は、始点の姿勢RをI、始点の速度Vを0、始点の位置Pを0に決定する(ステップS14)。制御部25は、オフセット量o=0に設定し(ステップS15)、ループカウンタの値i=1に設定する(ステップS16)。制御部25は、RS=Ri-1・(Gi−o)に基づき絶対座標の回転速度RSを算出する(ステップS17)。
制御部25は、dR=Ri-1×RSで微分値を算出する(ステップS18)。尚、Ri-1は、(ωxT,ωyT,ωzT)とした場合、ωは1×3行列であるため、例えば、dR=((ωx×RS)T,(ωy×RS)T,(ωz×RS)T)となる。そして、制御部25は、微分値dRを時間について積分し、Ri=Ri-1+∫dRdtに基づき姿勢Riを算出する(ステップS19)。
制御部25は、ループカウンタの値iを+1インクリメントし(ステップS20)、ループカウンタの値iがnを超えたか否かを判定する(ステップS21)。尚、ステップS16〜ステップS20までの処理は、姿勢Rを積分する処理である。
制御部25は、値iがnを超えていない場合(ステップS21否定)、回転速度RSを算出すべく、ステップS17に移行する。また、制御部25は、値iがnを超えた場合(ステップS21肯定)、1回目であるか否かを判定する(ステップS22)。
制御部25は、1回目の場合(ステップS22肯定)、RR=RN-1×Rnに基づき、積分値と理想値との誤差RRを算出する(ステップS23)。尚、RN-1とRnとの積RRは、理想的には単位行列になる。しかし、実際には、センサのドリフト等でRRは単位行列にはならず、積分値の誤差、つまり、重力の変化から得られた運動前後の姿勢の変化とセンサを積分して得られた姿勢の変化との間にズレが生じる。従って、射的法では、RRが単位行列となる角速度センサ13のオフセット値oを求める。つまり、誤差RRは、姿勢のズレを示し、姿勢変化RRから回転ベクトル(回転軸)Qと、その変化量である回転量θとを算出する際、回転量θが発生しないようにオフセット値oを求める。
制御部25は、誤差RRに基づき、RRの回転ベクトルQ及び回転量θを算出する(ステップS24)。尚、誤差RRは、回転行列のため3×3行列である。その要素を回転行列の第1段目の横行列をr11、r12及びr13、第2段目の横行列をr21、r22及びr23、第3段目の横行列をr31、r32及びr33とした場合、回転ベクトルは、Q=(r23−r32、r31−r13、r12−r21)となる。更に、その回転量は、θ=cos-1((r11+r22+r33−1)/2)となる。
制御部25は、o=θ/Qdtに基づき、姿勢Rのオフセット量oを算出し(ステップS25)、算出されたオフセット量oをRS=Ri-1・(Gi−o)に代入して回転速度RSを算出すべく、ステップS16を経てステップS17に移行する。その結果、ループカウンタの値iがnを超えた2回目以降は、オフセット量oの代入に応じて誤差RRの回転量θが0となるため、誤差RRが単位行列となる。
制御部25は、1回目でない場合(ステップS22否定)、すなわち2回目以降は誤差RRが単位行列のため、オフセット量o=0に設定し(ステップS26)、ループカウンタの値i=1に設定する(ステップS27)。尚、制御部25は、説明の便宜上、1回目の処理で姿勢RRのオフセット量oが「0」にみなせるものとした。しかしながら、ステップS25のθ/Qdtに「1」よりも小さい正の数をかけ、オフセット量oが「0」とみなされるまで、ステップS16〜ステップS25の処理動作を繰り返す方法もあり得る。制御部25は、Ai=Ri×Si−oに基づき絶対座標上の加速度Aiを算出する(ステップS28)。
制御部25は、加速度Aiを時間で積分して、Vi=Vi-1+∫Adtに基づき、絶対座標上の速度Viを算出する(ステップS29)。制御部25は、ループカウンタの値iを+1インクリメントし(ステップS30)、値iがnを超えたか否かを判定する(ステップS31)。制御部25は、値iがnを超えなかった場合(ステップS31否定)、値iの加速度Aを算出すべく、ステップS28に移行する。制御部25は、値iがnを超えた場合(ステップS31肯定)、1回目であるか否かを判定する(ステップS32)。
制御部25は、1回目の場合(ステップS32肯定)、o=(Vn−VN)/dtに基づき、速度Vのオフセット量oを算出し(ステップS33)、値i=1に設定すべく、ステップS27に移行する。
また、制御部25は、1回目でない場合(ステップS32否定)、すなわち2回目以降はオフセット量o=0に設定し(ステップS34)、値i=1に設定する(ステップS35)。尚、制御部25は、説明の便宜上、1回目の演算処理で速度Viのオフセット量oが0になるものとする。
制御部25は、V=Vi−oに基づき速度Vを算出する(ステップS36)。制御部25は、速度Vを時間で積分し、Pi=Pi-1+∫Vdtに基づき、絶対座標上の位置Piを算出する(ステップS37)。制御部25は、ループカウンタの値iを+1インクリメントし(ステップS38)、値iがnを超えたか否かを判定する(ステップS39)。制御部25は、値iがnを超えなかった場合(ステップS39否定)、速度Vを算出すべく、ステップS36に移行する。制御部25は、値iがnを超えた場合(ステップS39肯定)、1回目であるか否かを判定する(ステップS40)。
制御部25は、1回目の場合(ステップS40肯定)、o=(Pn−PN)/dtに基づき、位置Pのオフセット量oを算出し(ステップS41A)、ループカウンタの値i=1に設定すべく、ステップS35に移行する。制御部25は、1回目でない場合(ステップS40否定)、すなわち2回目以降は、図5に示す処理動作を終了する。尚、制御部25は、説明の便宜上、1回目の演算処理で位置Piのオフセット量oが0になるものとする。
第1の演算処理では、運動区間内の始点及び終点が同一と捉え、加速度S及び角速度Gに基づき姿勢Rを算出し、算出された姿勢Rに基づき速度Vを算出し、算出された速度Vに基づき位置Pを算出する。その結果、往復運動の姿勢R及び位置Pに基づき運動区間内の運動軌跡を算出できる。
第2の演算処理では、運動区間内の終点を角速度Gnで推定し、加速度S及び角速度Gに基づき姿勢Rを算出し、算出された姿勢Rに基づき速度Vを算出し、算出された速度Vに基づき位置Pを算出する。その結果、片道運動の姿勢R及び位置Pに基づき運動区間内の運動軌跡を算出できる。尚、第2の演算処理では、運動区間の往路及び復路を区分して片道分の射的法を適用するため、積分しなければならない時間が往復の半分で済み、正しい演算結果が得られる。
また、制御部25は、第3の演算処理を実行する演算処理部25Aを有する。図6は、第3の演算処理に関わる演算処理部25Aの動作の一例を示す説明図である。図6に示す演算処理部25AのLPF(Low Pass Filter)31は、加速度センサ12で検出された加速度S=(ax,ay,az)にフィルタ処理を施して重力加速度ベクトルSgを算出する。
演算処理部25Aの第1の回転行列変換部32は、重力加速度ベクトルSgを、ローカル座標から重力方向をy軸とする絶対座標系に変換して回転行列Rgを求める。更に、逆行列変換部33は、回転行列Rgを逆行列(転置行列)Rgに変換する。尚、重力方向の二次元座標からRgという三次元情報に変換するには情報を一次元に落とす必要がある。今回、運動の軌跡を求める場合、y軸回りで回転しないものとする。
更に、演算処理部25Aの姿勢メモリ34は、回転行列R(i=0〜n)の時系列データを格納する。演算処理部25Aの第1の演算部35は、逆行列変換部33の逆行列Rgと、姿勢メモリ34内の回転行列Rとの積で、誤差RRを算出する。ベクトル演算部35Aは、誤差RRから回転軸の回転ベクトルQ及び、その変化量である回転量θを算出する。
演算処理部25Aの第1ゲイン部36は、回転ベクトルQ及び回転量θの積に定数Krをゲイン調整することでオフセット量KrQθを算出する。また、演算処理部25Aの第2の演算部37は、姿勢メモリ34内の回転行列R及び、角速度センサ13の検出結果である角速度Gに基づき回転速度RSを算出する。更に、演算処理部25Aの第3の演算部38は、回転速度RSからオフセット量KrQθを減算し、減算結果の回転速度RSを外積演算部39に入力する。外積演算部39は、回転速度RSと前回の姿勢(回転行列)Ri-1とでベクトルの微分値dRを得る。
演算処理部25Aの姿勢積分部40は、ベクトルの微分値dRの積分値∫dRdtを算出する。更に、演算処理部25Aの第4の演算部41は、前回の姿勢(回転行列)Ri-1と積分値∫dRdtとを加算して姿勢Riを算出し、算出した姿勢Riを姿勢メモリ34に更新する。
第5の演算部42A及び第6の演算部42Bは、運動の回転中心から見た情報処理装置1の位置X=(x,y,z)と、姿勢メモリ34からの姿勢RXとに基づきXx=RX−Xの演算で、運動開始時点を原点とした場合のリンクモデルの移動量Xxを求める。尚、情報処理装置1の位置Xはメモリ42Cに格納されているものとする。演算処理部25Aの第7の演算部43は、移動量Xxと現在位置メモリ44の現在位置Pとに基づき、Px=P−Xxで位置Pの誤差Pxを算出する。演算処理部25Aの第8の演算部45は、Zにdt(RPx)を加算することでZを更新する。
演算処理部25Aの第2ゲイン部46は、Zに対して定数Kiを積分ゲインしてKi・Zを得る。演算処理部25Aの第9の演算部47は、S−Ki・Zを算出する。演算処理部25Aの第10の演算部48は、姿勢メモリ34からの回転行列Rと、第9の演算部47からS−Ki・Zとに基づき、R(S−Ki・Z)を算出する。
演算処理部25Aの第3ゲイン部49は、第7の演算部43からの誤差Pxに定数Kpを比例ゲインとしてPx・Kpを算出する。演算処理部25Aの第11の演算部50は、第3ゲイン部49からのPx・Kpと、第10の演算部48からのS−Ki・Zとに基づき、R(S−Ki・Z)−Kp・Pxを算出する。更に、演算処理部25Aの第4ゲイン部51は、現在速度メモリ52で得た速度Vに対して定数Kdを微分ゲインしてKd・Vを算出する。更に、演算処理部25Aの第12の演算部53は、R(S−Ki・Z)−Kp・Px−Kd・Vに基づき、加速度Aを算出する。尚、Kiは積分ゲインの定数,Kdは微分ゲインの定数,Kpは比例ゲインの定数である。R・Sは、例えば、HPF(High Pass Filter)で重力加速度成分を除去しても良い。
演算処理部25Aの第13の演算部54は、速度V及び加速度Aの積分値∫AdtのVi=V+∫Adtに基づき、現在の速度Viを算出し、算出された現在の速度Viを現在速度メモリ52に格納する。演算処理部25Aの第14の演算部55は、現在位置P及び速度Vの積分値∫VdtのPi=P+∫Vdtに基づき、現在の位置Piを算出し、算出された現在のPiを現在位置メモリ44に格納する。
第3の演算処理では、第2の演算処理に比較して長時間の運動軌跡に対応し、現在姿勢Ri及び現在位置Piに基づき運動軌跡を演算できる。また、第3の演算処理では、微分ゲインKdを設けることで比例ゲインKpが大きくできるため、その分、収束を速めることができる。また、第3の演算処理では、積分ゲインKiを設けることで、重力の影響や加速度センサ12の零点ドリフトを抑制できる。
図7は、最適演算処理に関わるMCU19の処理動作の一例を示すフローチャートである。図7に示す最適演算処理は、運動区間の時間及び条件に応じて第1の演算処理、第2の演算処理又は第3の演算処理を実行する処理である。尚、演算精度は、第1の演算処理が一番高く、第2の演算処理が二番目に高く、第3の演算処理が三番目に高い。また、第1の演算処理は、例えば、Tp<1.5秒の運動区間に適し、第2の演算処理は、例えば、1.5秒≦Tp<5秒の運動区間に適し、第3の演算処理は、例えば、5秒≦Tpの運動区間に適している。
MCU19は、加速度センサ12の検出結果である加速度Sにローパスフィルタ処理を施すことで、重力加速度ベクトルGr1を算出すると共に、角速度センサ13の検出結果である角速度Gの二乗和pを算出する(ステップS41)。
MCU19は、二乗和pが所定閾値αを超えた(p>α)か否かを判定する(ステップS42)。MCU19は、二乗和pが所定閾値αを超えた場合(ステップS42肯定)、運動時間の現在時刻を運動区間の開始時刻とする(ステップS43)。
MCU19は、サンプリング時間をt=0に設定し(ステップS44)、加速度S及び角速度Gを抽出し(ステップS45A)、角速度Gの二乗和pを算出する(ステップS45)。MCU19は、角速度Gの二乗和pが所定閾値αを超えたか否かを判定する(ステップS46)。MCU19は、二乗和pが所定閾値αを超えた場合(ステップS46肯定)、サンプリング時間をt=0に設定すべく、ステップS44に移行する。
また、MCU19は、二乗和pが所定閾値αを超えていない場合(ステップS46否定)、サンプリング時間t=0であるか否かを判定する(ステップS47)。MCU19は、サンプリング時間t=0の場合(ステップS47肯定)、現在時刻を運動区間の終了時刻とする(ステップS48)。
MCU19は、終了時刻の重力加速度ベクトルGr2を算出し(ステップS49)、終了時刻からのサンプリング時間tの計時動作を開始し(ステップS50)、サンプリング時間tが所定時間T1以上であるか否かを判定する(ステップS51)。
MCU19は、サンプリング時間tが所定時間T1以上でない場合(ステップS51否定)、現時点の加速度S及び角速度Gを抽出すべく、ステップS45Aに移行する。また、MCU19は、サンプリング時間tが所定時間T1以上の場合(ステップS51肯定)、終了時刻Ts−開始時刻Teに基づき運動区間Tpを算出する(ステップS52)。
MCU19の第1判定部21は、運動区間Tpが第1の経過時間Tx1、例えば、1.5秒を超えた(Tp>1.5秒)か否かを判定する(ステップS53)。第1判定部21は、運動区間Tpが1.5秒を超えていない場合(ステップS53否定)、重力加速度ベクトルGr1と重力加速度ベクトルGr2とがほぼ同一であるか否かを判定する(ステップS54)。
MCU19の制御部25は、重力加速度ベクトルGr1と重力加速度ベクトルGr2とがほぼ同一の場合(ステップS54肯定)、往復運動のため、第1の演算処理を選択して実行し(ステップS55)、図7に示す処理動作を終了する。
また、MCU19の第2判定部22は、運動区間Tpが1.5秒を超えた場合(ステップS53肯定)、又は、重力加速度ベクトルGr1と重力加速度ベクトルGr2とが同一でない場合(ステップS54否定)、運動区間Tpが第2の経過時間Tx2、例えば、5秒以上(Tp≧5秒)か否かを判定する(ステップS56)。
制御部25は、運動区間Tpが5秒以上でない場合(ステップS56否定)、第2の演算処理を選択して実行し(ステップS57)、図7に示す処理動作を終了する。
また、制御部25は、運動区間Tpが5秒以上の場合(ステップS56肯定)、第3の演算処理を選択して実行し(ステップS58)、図7に示す処理動作を終了する。
運動区間が1.5秒を超えず、かつ、運動区間内の始点の重力加速度ベクトルGr1及び終点の重力加速度ベクトルGr2が同一の場合、往復運動に適した第1の演算処理を実行する。また、運動区間が5秒を超えず、かつ、運動区間内の始点の重力加速度ベクトルGr1及び終点の重力加速度ベクトルGr2が異なる場合、片道運動に適した第2の演算処理を実行する。また、運動区間が5秒以上の場合、第3の演算処理を実行する。
実施例1では、運動区間Tpが1.5秒を超えず、かつ、運動区間内の始点及び終点が同一の往復運動の場合、第1の演算処理を実行する。その結果、情報処理装置1では、例えば、1.5秒未満の往復運動の運動軌跡を高精度に演算できる。
また、実施例1では、運動区間Tpが1.5秒を超えず、かつ、運動区間の始点及び終点が異なる片道運動の場合、又は、運動区間Tpが5秒以上でない場合、第2の演算処理を実行する。その結果、情報処理装置1では、例えば、1.5秒≦Tp<5秒の運動軌跡を高精度に演算できる。
また、実施例1では、運動区間Tpが5秒以上の場合、第3の演算処理を実行する。その結果、情報処理装置1では、例えば、5秒以上の長時間の運動軌跡を演算できる。
実施例1では、運動区間の時間及び条件に応じて最適な演算処理を選択して実行する。その結果、利用者の時間及び条件に応じた正確な運動軌跡が得られる。
尚、上記実施例1では、第1の演算処理〜第3の演算処理を区別する閾値として、例えば、1.5秒及び5秒を設定したが、これら数値に限定されるものではなく、適宜変更可能である。
また、側屈運動やひねり運動等の運動では、右方向の片道運動及び左方向の片道運動が連続し、右方向の片道運動が1.49秒、左方向の片道運動が1.5秒の場合がある。この場合、MCU19は、右方向の片道運動で第1の演算処理を選択し、左方向の片道運動で第2の演算処理を選択する。従って、0.01秒の差しかないにもかかわらず、右方向の片道運動及び左方向の片道運動で異なる演算処理を使用することになる。
しかしながら、連続した右方向及び左方向の片道運動で演算処理が異なると、演算処理毎に精度が異なるため、連続する運動では、同一精度の演算処理を使用することが望ましい。そこで、このような実施の形態につき、実施例2として以下に説明する。尚、図1に示す情報処理装置1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。
選択部24は、指定された期間内の運動区間毎に演算処理を仮選択し、仮選択された演算処理の内、最長の運動区間に仮選択された演算処理を、当該指定された期間内の全運動区間の演算処理として選択する。尚、期間とは、例えば、運動開始から運動終了までの期間に相当する。また、仮選択される演算処理は、第1の演算処理と、第2の演算処理と、第3の演算処理とがある。前述した通り、第1の演算処理は、Tp<1.5秒の往復運動の軌跡演算に適し、第2の演算処理は、例えば、1.5秒≦Tp<5秒の運動の軌跡演算に適し、第3の演算処理は、5秒≦Tpの運動の軌跡演算に適している。
次に、実施例2の情報処理装置1の動作について説明する。図8は、実施例2の最適演算処理に関わるMCU19の処理動作の一例を示すフローチャートである。
図8においてMCU19は、運動区間の値i=0に設定し(ステップS61)、加速度センサ12の検出結果である加速度S及び角速度センサ13の検出結果である角速度Gの時系列データから運動区間Tpを抽出する(ステップS62)。
MCU19は、運動区間Tpが抽出されると、運動区間Tp内の加速度S及び角速度Gの時系列データDをワークメモリ16に格納する(ステップS63)。更に、MCU19の選択部24は、運動区間Tpに適用する演算処理を決定した場合、即適用するのではなく、運動区間Tpに適用する演算処理を仮選択する(ステップS64)。尚、選択部24は、例えば、運動区間Tpが第1の演算処理に仮選択された場合、当該運動区間Tpの値iに対応付けて識別値「0」を設定する。また、MCU19は、第2の演算処理に仮選択された場合、当該運動区間Tpの値iに対応付けて識別値「1」を設定する。更に、MCU19は、第3の演算処理に仮選択された場合、当該運動区間Tpの値iに対応付けて識別値「2」を設定する。尚、識別値「0」→「1」→「2」の順序で高くなる。
MCU19は、運動区間Tpに対応した演算処理を仮選択した後、運動区間Tpの値iを+1インクリメントし(ステップS65)、運動が終了したか否かを判定する(ステップS66)。尚、例えば、所定回数の運動実行、所定時間の経過、角速度Gの二乗和pの閾値αの一定時間T1以上の超過や停止ボタンの押下で運動終了と判定するものとする。
MCU19は、運動が終了しなかった場合(ステップS66否定)、運動区間Tpを抽出すべく、ステップS62に移行する。また、MCU19は、運動が終了した場合(ステップS66肯定)、n=0に設定し(ステップS67)、識別値a=0に設定する(ステップS68)。
MCU19は、運動区間の識別値An>aであるか否かを判定する(ステップS69)。MCU19は、An>aの場合(ステップS69肯定)、a=Anに設定し(ステップS70)、次の運動区間を選択すべく、nを+1インクリメントする(ステップS71)。
MCU19は、n=iであるか否かを判定する(ステップS72)。MCU19は、n=iである場合(ステップS72肯定)、全ての運動区間の比較が完了したと判断し、仮選択された演算処理の内、最大の識別値に対応した演算処理を選択し(ステップS73)、図8に示す処理動作を終了する。尚、MCU19は、例えば、運動区間[0]〜運動区間[n]の内、仮選択された演算処理の識別値が「0」、「1」及び「2」の場合、最大の識別値「2」の演算処理である第3の演算処理で全運動区間[0]〜[n]の運動軌跡を演算する。
また、MCU19は、例えば、運動区間[0]〜運動区間[n]の内、仮選択された演算処理の識別値が「0」及び「1」の場合、最大の識別値「1」の演算処理である第2の演算処理で全運動区間の運動軌跡を演算する。また、MCU19は、仮選択された演算処理の識別値が「1」及び「2」の場合、最大の識別値「2」の演算処理である第3の演算処理で全運動区間の運動軌跡を演算する。
実施例2では、指定された運動内の運動区間毎に演算処理を仮選択し、全ての運動が完了した時点で仮選択された演算処理の内、識別値が最大の演算処理を運動全体の演算処理として選択し、選択された演算処理に基づき運動全体の運動軌跡を演算する。その結果、連続する運動区間毎に異なる演算処理を実行するような事態を回避して、同一の演算処理で連続する運動軌跡を演算できる。
また、前述した上記実施例1では、例えば、運動区間Tpが1.5秒を超えず、かつ、始点及び終点が同一の場合、第1の演算処理を実行すると共に、運動区間Tpが1.5秒以上、かつ、5秒未満の場合、第2の演算処理を実行する。しかしながら、例えば、運動区間Tpが1.49秒の場合には第1の演算処理を実行するが、運動区間Tpが1.5秒の場合には第2の演算処理を実行するため、僅か0.01秒の差で選択する演算処理が異なる。
そこで、このような事態に対処した実施の形態につき、実施例3として以下に説明する。図9は、実施例3の情報処理装置1Aの一例を示すブロック図である。尚、図1に示す情報処理装置1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図9に示す情報処理装置1AのMCU19は、第4判定部26と、第5判定部27と、第6判定部28と、第7判定部29とを有する。
第4判定部26は、運動区間Tpが第3の経過時間Tx3、例えば1.3秒未満、Tp<1.3秒か否かを判定する。第5判定部27は、運動区間Tpが第3の経過時間Tx3と第4の経過時間Tx4、例えば、1.7秒との間の第1の中間時間帯、例えば、1.3秒≦Tp<1.7秒であるか否かを判定する。
第6判定部28は、運動区間Tpが第4の経過時間Tx4と、第4の経過時間Tx4を超えた第5の経過時間Tx5、例えば、4.8秒との間の第2の中間時間帯、例えば、1.7秒≦Tp<4.8秒であるか否かを判定する。第7判定部29は、運動区間Tpが第5の経過時間Tx5と、第5の経過時間Tx5を超えた第6の経過時間Tx6、例えば、5.2秒との間の第3の中間時間帯、例えば、4.8秒≦Tp<5.2秒であるか否かを判定する。
選択部24は、運動区間Tp内の始点及び終点が同一、かつ、運動区間TpがTp<1.3秒の場合、第1の演算処理を選択する。選択部24は、運動区間Tp内の始点及び終点が同一、かつ、運動区間Tpが1.3秒≦Tp<1.7秒の場合、第1の演算処理及び第2の演算処理を混合した演算処理を選択する。尚、選択部24は、1.3秒≦Tp<1.7秒の場合、第1の中間時間帯の全時間に対する1.3秒からTpまでの時間の比率で第1の演算処理を使用する。更に、選択部24は、第1の中間時間帯の全時間に対するTpから1.7秒直前までの時間との比率に応じて第2の演算処理を使用する。つまり、第1の演算処理及び第2の演算処理を混合使用する。
選択部24は、運動区間Tpが1.7秒≦Tp<4.8秒の第2の中間時間帯の場合、第2の演算処理を使用する。また、選択部24は、運動区間Tpが4.8秒≦Tp<5.2秒の第3の中間時間帯の場合、第2の演算処理及び第3の演算処理を混合した演算処理を使用する。尚、選択部24は、運動区間Tpが4.8秒≦Tp<5.2秒の場合、第3の中間時間帯の全時間に対する4.8秒からTpまでの時間の比率に応じて第2の演算処理を使用する。更に、選択部24は、第3の中間時間帯の全時間に対するTpから5.2秒直前までの時間との比率に応じて第3の演算処理を使用する。これら第2の演算処理の使用割合と第3の演算処理の使用割合との使用比率で第2の演算処理及び第3の演算処理を混合使用する。
選択部24は、運動区間Tpが第6の経過時間、例えば、5.2秒以上、すなわちTp≧5.2秒の場合、第3の演算処理を使用する。
次に実施例3の情報処理装置1Aの動作について説明する。図10は、実施例3の最適演算処理に関わるMCU19の処理動作の一例を示すフローチャートである。図10においてMCU19は、運動区間Tp内の加速度Si(S〜S)及び角速度Gi(G〜G)の時系列データを保存し、運動区間Tpの始点及び終点の重力加速度ベクトルGr1,Gr2を保存する(ステップS81)。
MCU19は、第1の演算処理を適用して姿勢の回転行列の時系列情報Raiを生成する(ステップS82)。MCU19は、第2の演算処理を適用して姿勢の回転行列の時系列情報Rbiを生成する(ステップS83)。MCU19は、第3の演算処理を適用して姿勢の回転行列の時系列情報Rciを生成する(ステップS84)。
MCU19は、始点の重力加速度ベクトルGr1と終点の重力加速度ベクトルGr2とがほぼ同一であるか否かを判定する(ステップS85)。MCU19は、Gr1≒Gr2の場合(ステップS85肯定)、運動区間がTp<1.3秒であるか否かを判定する(ステップS86)。
MCU19は、Tp<1.3秒の場合(ステップS86肯定)、第1の演算処理を使用して姿勢RiはRi=Raiとする(ステップS87)。MCU19は、姿勢Ri及び加速度Siに基づき速度Vi及び位置Piを演算する演算処理を実行し(ステップS88)、図10に示す処理動作を終了する。尚、ステップS88の演算処理は、ステップS87で第1の演算処理を使用した場合、第1の演算処理を使用して速度Vi及び位置Piを算出する。
MCU19は、Tp<1.3秒でない場合(ステップS86否定)、運動区間Tpが第1の中間時間帯内、例えば、1.3秒≦Tp<1.7秒であるか否かを判定する(ステップS89)。
MCU19は、1.3秒≦Tp<1.7秒の場合(ステップS89肯定)、姿勢Rを第1の演算処理及び第2の演算処理を混合使用したRi=((1.7−Tp)Rai+(Tp−1.3)Rbi)/0.4を算出する(ステップS90)。そして、MCU19は、ステップS90で算出した姿勢Ri及び加速度Siに基づき速度Vi及び位置Piを演算する演算処理を実行すべく、ステップS88に移行する。尚、ステップS88の演算処理は、ステップS90で第1の演算処理及び第2の演算処理を混合使用した場合、ステップS90と同一の使用比率で第1の演算処理及び第2の演算処理を混合使用して速度Vi及び位置Piを算出する。
MCU19は、1.3秒≦Tp<1.7秒でない場合(ステップS89否定)、運動区間Tpが第2の中間時間帯内、例えば、1.7秒≦Tp<4.8秒であるか否かを判定する(ステップS91)。MCU19は、1.7秒≦Tp<4.8秒の場合(ステップS91肯定)、第2の演算処理を使用して姿勢RiはRi=Rbiとし(ステップS92)、ステップS88に移行する。尚、ステップS88の演算処理は、ステップS92で第2の演算処理を使用した場合、第2の演算処理を使用して速度Vi及び位置Piを算出する。MCU19は、1.7秒≦Tp<4.8秒でない場合(ステップS91否定)、運動区間Tpが第3の中間時間帯内、例えば、4.8秒≦Tp<5.2秒であるか否かを判定する(ステップS93)。
MCU19は、4.8秒≦Tp<5.2秒の場合(ステップS93肯定)、姿勢Rを第2の演算処理及び第3の演算処理を混合使用したRi=((5.2−Tp)Rbi+(Tp−4.8)Rci)/0.4を算出する(ステップS94)。そして、MCU19は、ステップS94で算出した姿勢Ri及び加速度Siに基づき速度Vi及び位置Piを演算する演算処理を実行すべく、ステップS88に移行する。尚、ステップS88の演算処理は、ステップS94で第2の演算処理及び第3の演算処理を混合使用した場合、ステップS94と同一の使用比率で第2の演算処理及び第3の演算処理を混合使用して速度Vi及び位置Piを算出する。
MCU19は、4.8秒≦Tp<5.2秒でない場合(ステップS93否定)、運動区間Tpが5.2秒以上と判断し、第3の演算処理を使用して姿勢RiはRi=Rciとし(ステップS95)、ステップS88に移行する。尚、ステップS88の演算処理は、ステップS95で第3の演算処理を使用した場合、第3の演算処理を使用して速度Vi及び位置Piを算出する。
尚、ステップS90及びステップS94の処理では、模式的な考えで演算方法を表現したが、回転行列の場合、図11に示す処理動作で演算することになる。図11は、演算処理の一例を示すフローチャートである。尚、図11の処理は、第1の演算処理及び第2の演算処理を混合使用した場合の回転行列に対する分配の一例である。
図11においてMCU19は、2列の回転行列の積で誤差RRを算出する(ステップS101)。すなわち、MCU19は、例えば、回転行列Raの逆行列Ra -1と、回転行列Rbとの積で、回転行列Raを回転行列Rbに変換する誤差RRを算出する。MCU19は、算出された誤差RRから回転軸の回転ベクトルQ及び、その変化量である回転量θを算出する(ステップS102)。つまり、回転軸の回転ベクトルQは、回転量θ回転した場合、回転行列Raは回転行列Rbとなる。従って、回転量θが「0」の場合、回転行列Raは回転行列Rのままである。
ここで、MCU19は、0≦k<1のkを用いてφ=kθを算出する(ステップS103)。そして、MCU19は、回転ベクトルQを回転軸としてφ回転させた場合の回転行列QXを算出する(ステップS104)。尚、回転行列QXは、3×3行列である。その要素として回転行列の第1段目の横列は、qx(1−cp)+cp,qxqy(1−cp)−qzsp,qzqx(1−cp)+qyspである。第2段目の横列は、qxqy(1−cp)+qzsp,qy(1−cp)+cp,qyqz(1−cp)−qxspである。第3段目の横列は、qzqx(1−cp)−qysp,qyqz(1−cp)+qxsp,qz(1−cp)+cpである。尚、回転ベクトルQ=(qx,qy,qz)、sp=sinφ及びcp=cosφである。
そして、MCU19は、算出された回転行列QXと回転行列Raとの積で回転行列の姿勢Riを算出し(ステップS105)、図11に示す処理動作を終了する。その結果、第1の演算処理及び第2の演算処理を混合使用して姿勢Riを算出できる。
尚、図11の例では、第1の演算処理及び第2の演算処理を混合使用する場合について説明したが、第2の演算処理及び第3の演算処理を混合使用する場合にも適用可能である。
実施例3では、運動区間Tpが第1の中間時間帯内の場合、第1の中間時間帯内のTpの比率に応じて第1の演算処理及び第2の演算処理を混合使用し、運動区間Tpの姿勢、速度及び位置を算出し、算出された姿勢及び位置に基づき運動軌跡を算出する。その結果、第1の中間時間帯の運動区間を反映した演算処理を提供できる。
実施例3では、運動区間Tpが第3の中間時間帯内の場合、第3の中間時間帯内のTpの比率に応じて第2の演算処理及び第3の演算処理を混合使用し、運動区間Tpの姿勢、速度及び位置を算出し、算出された姿勢及び位置に基づき運動軌跡を算出する。その結果、第3の中間時間帯の運動区間を反映した演算処理を提供できる。
尚、例えば、第3の経過時間を1.3秒、第4の経過時間を1.7秒、第5の経過時間を4.8秒、第6の経過時間を5.2秒とした。更に、例えば、第1の中間時間帯を1.3秒≦Tp<1.7秒、第2の中間時間帯を1.7秒≦Tp<4.8秒、第3の中間時間帯を4.8秒≦Tp<5.2秒としたが、これら数値に限定されるものではない。
また、上記実施例3では、姿勢を演算する際、演算処理の使用比率を算出し、この使用比率を速度及び位置を演算する際にも使用したが、速度及び位置毎に使用比率を順次算出して割当てるようにしても良い。
また、上記実施例3の図10の処理では、例えば、ステップS87の第1の演算処理に移行する場合でも、ステップS83及びステップS84の処理を実行した。しかしながら、ステップS87の第1の演算処理を実行する場合、ステップS83及びステップS84の処理を実行しないようにしても良い。また、ステップS92の第2の演算処理に移行する場合、ステップS82及びステップS84の処理を実行しないようにしても良い。また、ステップS95の第3の演算処理を実行する場合、ステップS82及びステップS83の処理を実行しないようにしても良い。
また、上記実施例では、MCU19内に第3の演算処理を実行する演算処理部25Aを内蔵するようにしたが、第3の演算処理を実行する演算処理部を別個に設けるようにしても良い。また、演算処理部25Aをハードウェア構成で説明したが、処理プログラムとしてMCU19で実行させるようにしても良い。
また、上記実施例では、加速度センサ12及び角速度センサ13を内蔵した携帯電話機等の情報処理装置を例示して説明したが、タブレット端末等の携帯端末に適用しても良い。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、MCU19(又はCPU(Central Processing Unit)やMPU(Micro Processing Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、MCU(又はCPUやMPU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
1 情報処理装置
1A 情報処理装置
12 加速度センサ
13 角速度センサ
17 プログラム領域
19 MCU
21 第1判定部
22 第2判定部
23 第3判定部
24 選択部
25 制御部
26 第4判定部
27 第5判定部
28 第6判定部
29 第7判定部

Claims (6)

  1. 装置本体と、
    加速度を検出する加速度検出部と、
    角速度を検出する角速度検出部と、
    当該装置本体を装着した身体部位が動作する際の運動が開始された始点から前記運動が終了された終点までの運動期間を確定し、確定された前記運動期間内の前記加速度及び前記角速度に基づき、前記運動期間内の運動軌跡を算出する第1の演算処理と、前記始点から、前記角速度に基づき推定された終点までの運動期間を確定し、確定された前記運動期間内の前記加速度及び前記角速度に基づき、前記運動軌跡を算出する第2の演算処理と、前記始点から前記加速度及び前記角速度に基づき前記運動軌跡を算出する第3の演算処理とを記憶した記憶部と、
    前記運動期間内の前記始点からの運動時間が第1の経過時間を超えたか否かを判定する第1判定部と、
    前記運動時間が前記第1の経過時間よりも長い第2の経過時間以上であるか否かを判定する第2判定部と、
    前記運動時間が前記第1の経過時間を超えていないと判定されると、前記第1の演算処理を選択すると共に、前記運動時間が前記第1の経過時間を超え、かつ、前記第2の経過時間以上でないと判定されると、前記第2の演算処理を選択すると共に、前記運動時間が前記第2の経過時間以上であると判定されると、前記第3の演算処理を選択する選択部と、
    前記選択部によって選択された前記演算処理に基づき、前記運動軌跡を算出する制御部と
    を有することを特徴とする情報処理装置。
  2. 前記始点及び前記終点が同一であるか否かを判定する第3判定部を更に有し、
    前記選択部は、
    前記運動時間が前記第1の経過時間を超えていないと判定され、かつ、前記始点及び前記終点が同一であると判定されると、前記第1の演算処理を選択すると共に、前記運動時間が前記第1の経過時間を超えていないと判定され、かつ、前記始点及び前記終点が同一でないと判定されると、前記第2の演算処理を選択する
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記選択部は、
    指定された期間内の運動期間毎に演算処理を仮選択し、仮選択された演算処理の内、前記運動時間が最長の運動期間に仮選択された演算処理を、当該指定された期間内の全運動期間の演算処理として選択することを特徴とする請求項1に記載の情報処理装置。
  4. 前記第1判定部及び前記第2判定部の代わりに、
    前記運動時間が第3の経過時間未満であるか否かを判定する第4判定部と、
    前記運動時間が前記第3の経過時間と、前記第3の経過時間よりも長い第4の経過時間との間の第1の中間時間帯内であるか否かを判定する第5判定部と、
    前記運動時間が前記第4の経過時間と、前記第4の経過時間よりも長い第5の経過時間との間の第2の中間時間帯内であるか否かを判定する第6判定部と、
    前記運動時間が前記第5の経過時間と、前記第5の経過時間よりも長い第6の経過時間との間の第3の中間時間帯内であるか否かを判定する第7判定部と
    を有し、
    前記選択部は、
    前記運動時間が前記第3の経過時間未満と判定されると、前記第1の演算処理を選択すると共に、
    前記運動時間が前記第1の中間時間帯内と判定されると、前記第1の中間時間帯の始点から前記運動時間までの時間の当該中間時間帯に対する割合と前記運動時間から前記第1の中間時間帯の終点までの時間の当該中間時間帯に対する割合との比率に基づき前記第1の演算処理及び前記第2の演算処理を選択すると共に、
    前記運動時間が前記第2の中間時間帯内と判定されると、前記第2の演算処理を選択すると共に、
    前記運動時間が前記第3の中間時間帯内と判定されると、前記第3の中間時間帯の始点から前記運動時間までの時間の当該中間時間帯に対する割合と前記運動時間から前記第3の中間時間帯の終点までの時間の当該中間時間帯に対する割合との比率に基づき前記第2の演算処理及び前記第3の演算処理を選択すると共に、
    前記経過時間が前記第6の経過時間以上と判定されると、前記第3の演算処理を選択する
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 加速度を検出する加速度検出部と、角速度を検出する角速度検出部と、プロセッサとを有する情報処理装置の情報処理プログラムであって、
    当該情報処理装置を装着した身体部位が動作する際の運動が開始された始点から前記運動が終了された終点までの運動期間を確定し、前記運動期間内の前記始点からの運動時間が第1の経過時間を超えていないと判定されると、確定された前記運動期間内の前記加速度及び前記角速度に基づき、前記運動期間内の運動軌跡を算出する第1の演算処理を選択すると共に、前記運動時間が前記第1の経過時間を超え、かつ、前記第1の経過時間よりも長い第2の経過時間以上でないと判定されると、前記始点から、前記角速度に基づき推定された終点までの運動期間を確定し、確定された前記運動期間内の前記加速度及び前記角速度に基づき、前記運動軌跡を算出する第2の演算処理を選択すると共に、前記運動時間が前記第2の経過時間以上であると判定されると、前記始点から前記加速度及び前記角速度に基づき前記運動軌跡を算出する第3の演算処理を選択し、
    選択された演算処理に基づき、前記運動軌跡を算出する
    各処理を前記プロセッサに実行させることを特徴とする情報処理プログラム。
  6. 加速度を検出する加速度検出部と、角速度を検出する角速度検出部とを有する情報処理装置の情報処理方法であって、
    前記情報処理装置が、
    当該情報処理装置を装着した身体部位が動作する際の運動が開始された始点から前記運動が終了された終点までの運動期間を確定し、前記運動期間内の前記始点からの運動時間が第1の経過時間を超えていないと判定されると、確定された前記運動期間内の前記加速度及び前記角速度に基づき、前記運動期間内の運動軌跡を算出する第1の演算処理を選択すると共に、前記運動時間が前記第1の経過時間を超え、かつ、前記第1の経過時間よりも長い第2の経過時間以上でないと判定されると、前記始点から、前記角速度に基づき推定された終点までの運動期間を確定し、確定された前記運動期間内の前記加速度及び前記角速度に基づき、前記運動軌跡を算出する第2の演算処理を選択すると共に、前記運動時間が前記第2の経過時間以上であると判定されると、前記始点から前記加速度及び前記角速度に基づき前記運動軌跡を算出する第3の演算処理を選択し、
    選択された演算処理に基づき、前記運動軌跡を算出する
    各処理を実行することを特徴とする情報処理方法。
JP2012017323A 2012-01-30 2012-01-30 情報処理装置、情報処理プログラム及び情報処理方法 Expired - Fee Related JP6035749B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012017323A JP6035749B2 (ja) 2012-01-30 2012-01-30 情報処理装置、情報処理プログラム及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012017323A JP6035749B2 (ja) 2012-01-30 2012-01-30 情報処理装置、情報処理プログラム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2013153975A JP2013153975A (ja) 2013-08-15
JP6035749B2 true JP6035749B2 (ja) 2016-11-30

Family

ID=49049779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012017323A Expired - Fee Related JP6035749B2 (ja) 2012-01-30 2012-01-30 情報処理装置、情報処理プログラム及び情報処理方法

Country Status (1)

Country Link
JP (1) JP6035749B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6277674B2 (ja) * 2013-10-30 2018-02-14 富士通株式会社 情報処理装置、情報処理装置の作動方法及びプログラム
EP3508120B1 (en) 2016-08-30 2022-06-08 Fujitsu Limited Information processing device, information processing system and information processing method
KR102245204B1 (ko) * 2019-05-29 2021-04-27 서울대학교산학협력단 척추 동작 분석 시스템 및 척추 동작 분석 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8351958B2 (en) * 2008-07-15 2013-01-08 Panasonic Corporation Mobile device and method for identifying location thereof
JP5421571B2 (ja) * 2008-11-05 2014-02-19 国立大学法人弘前大学 歩行特性評価システムおよび軌跡生成方法
JP5870656B2 (ja) * 2011-11-30 2016-03-01 富士通株式会社 軌跡演算装置および軌跡演算方法

Also Published As

Publication number Publication date
JP2013153975A (ja) 2013-08-15

Similar Documents

Publication Publication Date Title
KR101252634B1 (ko) 보행자세 분석 시스템
US9599635B2 (en) Motion analysis apparatus and motion analysis method
KR101751760B1 (ko) 하지 관절 각도를 이용한 보행 인자 추정 방법
US20150149104A1 (en) Motion Tracking Solutions Using a Self Correcting Three Sensor Architecture
Barthold et al. Evaluation of gyroscope-embedded mobile phones
US9599634B2 (en) System and method for calibrating inertial measurement units
JP6533590B2 (ja) ウェアラブル装置とその姿勢測定方法及びプログラム
US8186217B2 (en) Device and method for measuring the dynamic interaction between bodies
CN106767790B (zh) 人体下肢运动模型与卡尔曼滤波融合估计行人移动跟踪的方法
JP6035749B2 (ja) 情報処理装置、情報処理プログラム及び情報処理方法
CN107613867B (zh) 动作显示***以及记录介质
JP5233000B2 (ja) 動き測定装置
US20180111021A1 (en) Exercise analysis device, exercise analysis system, and exercise analysis method
CN108836344A (zh) 步长步频估算方法和装置及步态检测仪
WO2016033717A1 (zh) 一种组合式运动捕捉***
JP5870656B2 (ja) 軌跡演算装置および軌跡演算方法
JP2009186244A (ja) 傾斜角度推定システム、相対角度推定システム及び角速度推定システム
KR102182974B1 (ko) 가상 현실 실내 자전거 운동을 지원하기 위한 시스템 및 그 방법
JP5691387B2 (ja) 歩行計測装置、歩行計測方法およびプログラム
JP2010127921A (ja) 移動型床反力計測装置
KR101950453B1 (ko) 센서 측정 기기의 착용위치 제안 장치 및 방법
JP6277694B2 (ja) 歩数計
KR102229070B1 (ko) 센서 방식 모션 캡쳐 시스템 기반 모션 캡쳐 장치 및 그 방법
JP5424224B2 (ja) 相対角度推定システム
CN108697377A (zh) 步态分析器***和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150807

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150818

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151019

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160329

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160530

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161004

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161017

R150 Certificate of patent or registration of utility model

Ref document number: 6035749

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees