軌跡演算装置および軌跡演算方法
【課題】分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法によって求めるために用いられる往路区間における終点を得る方法および装置を提供する。
【解決手段】被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、運動の期間中の被測定物の所定の位置の加速度および角速度を得る測定手段と、運動の期間中の前記測定手段によって得られる加速度の変化から運動の前後の被測定物の所定の位置の傾斜の角度の2次元表現を得て、測定手段によって得られる運動期間中の角速度から、運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、傾斜の角度の2次元表現に回転行列を作用させることによって運動の前後での姿勢の変化を回転角の3次元表現として得るプロセッサと、を含む。
【解決手段】被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、運動の期間中の被測定物の所定の位置の加速度および角速度を得る測定手段と、運動の期間中の前記測定手段によって得られる加速度の変化から運動の前後の被測定物の所定の位置の傾斜の角度の2次元表現を得て、測定手段によって得られる運動期間中の角速度から、運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、傾斜の角度の2次元表現に回転行列を作用させることによって運動の前後での姿勢の変化を回転角の3次元表現として得るプロセッサと、を含む。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、軌跡演算装置および軌跡演算方法に関する。
【背景技術】
【0002】
近年の健康ブームに伴い人の体の健康の度合いを計測することが流行している。その方法の一つとして、側屈やひねり運動における左右の運動方向での非対称性や、運動の軌跡の歪みなどを計測しようとするものがある。この方法では、人体上の任意の点の軌跡を演算するものである。そして、このような計測を携帯電話等の携帯装置を用いて実現しようとする際には、携帯装置に内蔵されているセンサ、すなわち慣性センサ、すなわち角速度計と加速度計を用いることで実現する場合がある。原理的には、角速度に関しては一回、加速度に関しては二回積分すれば角度や位置の時系列情報である軌跡を得ることができる。
【0003】
センサを用いて軌跡を求める方法は慣性航法と呼ばれ、一般には、船や飛行機、宇宙船などで使われている。慣性航法が採用される状況では、一般に、非常に高性能でセンサとしては高価なものを採用することが許される。そのような高性能なセンサは、ドリフトが小さく、分解能の高いものである。
【0004】
しかし、前述のように人体上の任意の点の軌跡を計測しようとする場合、携帯装置に搭載するセンサはコストの観点から、ドリフトが大きく分解能が高くない安価なセンサが使用されることが多い。このようなセンサの分解能を考えてみると、たとえば±4Gが計測できる10ビットの加速度センサでは、1ビットは77mm/s2となる。
【0005】
船や飛行機や宇宙船に搭載される高性能なセンサは高い分解能を有するとはいえ、ドリフトやノイズ、計測できる最小単位はゼロではない。つまり、長時間にわたり測定を続けると、ドリフトやノイズ、分解能の影響による誤差が現れる。そのため、高性能なセンサを搭載する乗物でも、GPS、ビーコン、天体観測など慣性センサ以外のセンサを用いて定期的に補正を行うのが一般的である。
【0006】
また、携帯装置でも慣性センサ以外のセンサを用いて軌跡を補正することも考えられる。すなわち、携帯装置の外にある適当な目印を観察してセンサの位置および/または姿勢を知ることである。しかし上述したように、人体上の任意の点の軌跡を携帯装置に搭載されるセンサを用いて計測しようとしても、センサの分解能は高くないため、かなりの頻度で補正をしなければ実用的にならないこと、適当な目印を所定の目的のためだけに携帯装置の外に設置することが困難なことなど、実現を妨げる要因がある。
【0007】
また、3軸加速度センサと3軸角速度センサを組み合わせて、人体等の被測定物の動作解析を行うためのモーションキャプチャであって、測定精度を改良するアルゴリズムを用いて被測定物の位置の測定等を行うモーションキャプチャが知られている。その一例では、3軸角速度センサによって得られる角速度を積分した微小角に基づいて、3軸一括変換を行うことによって、被測定物の加速度を測定するデータ処理工程を含むアルゴリズムが提案されている。
【0008】
たとえば、3軸加速度センサと3軸角速度センサを組み合わせて、ある離散時間nにおいて、被測定物の3軸加速度(Gxn、Gyn、Gzn)と3軸角速度(ωxn、ωyn、ωzn)が測定されるとする。これらのデータから、被測定物がその座標系内で運動する大地に固定された基準座標系の加速度(AXn、AYn、AZn)を、
【数1】
によって算出する。(Gx0、Gy0、Gz0)は、測定開始時における基準座標上での重力加速度である。ここで、Δtを測定の間隔であるサンプリング時間として、
【数2】
または、
【数3】
である。この基準座標系の加速度に基づいて、被測定物の位置データを算出する。
【0009】
健康を目的とする運動における人体上の任意の点の軌跡を携帯装置に搭載するセンサを用いて計測する際には、船や飛行機などに適用される慣性航法とは異なる、二つの特徴が存在する。
【0010】
一つはリアルタイム性を必要としないことである。船や飛行機などに適用される慣性航法では時々刻々変化するその時点での位置姿勢を求めなくてはいけない。しかし、人体上の任意の点の軌跡を求めるには、一連の体操を行った後、今の動きがどのような軌跡を描いたのか知ることができれば良い。
【0011】
もう一つは、ある程度誤差が許容されることである。健康の度合いの計測で重要なのは、左右対称な運動なら左右のバランスや移動中の本来の軌跡からのずれの量であり、ずれの具体的な角度や距離、何度であるとか何mm移動したか、という数値自体はあまり重要視されない。
【0012】
このような点を考慮すると、上のような3軸一括変換をする工程を含む方法では、計算量が多くなる可能性がある。
リアルタイム性を必要とせず、ある程度の誤差が許容されるような軌跡演算に適用可能なアルゴリズムとして、射的法またはシューティングメソッドと呼ばれる方法が知られている。この方法は、あらかじめ始点と終点が分かっている運動に対して途中経路がどのようなものであったかを算出するために好適である。あらかじめ始点と終点が分かっている運動には、例えば往復運動なら始点と終点の位置姿勢が等しい運動が含まれ、健康のための運動にはこのカテゴリに含まれるものが多い。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開平7−239236号公報
【特許文献2】特開2001−242192号公報
【特許文献3】国際公開WO2008/026357号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
健康のための体操は、体を前後に動かす前屈や側面に倒す側屈など往復運動であり、素朴には、射的法が適用可能であるように見える。しかし現実的には健康のための体操を往復運動として扱うと、運動時間が長すぎるために、正確な計測ができないという問題があった。
【0015】
老若男女を問わない様々なユーザを対象としたサービスを考えると、あまり激しい体操をさせることができない。そのため運動は往と復を合わせて6秒くらいである。実際に人体上の任意の点の軌跡を計測に使用され得る、±4Gが計測できる10ビットの一般的な加速度センサの分解能が77mm/s2であることを考慮すると、6秒間に1.4m以下で動くような運動は検出することができない。体操での人体上の点の移動距離は、せいぜい数十cm程度である。このような運動の軌跡を射的法を用いて求めようとしても、困難である。片道の3秒であれば、距離の分解能、すなわちそれ以下であると検出不能となる距離は35cm程度となり、距離の分解能に関しては、たとえば±4Gが計測できる10ビットの加速度センサを用いて軌跡を求めることが可能な距離となる。
【0016】
しかしながら、片道運動では終点を画定できず、射的法のアルゴリズムの適用が難しくなるという問題があった。
また、たとえば、±4Gが計測できる10ビット程度の一般的な加速度センサの分解能では、体操などの運動に伴う人体上の点の軌跡を射的法を用いて求めようとしても、困難であるという問題があった。
【0017】
本発明の目的は、分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法により求めることである。
【課題を解決するための手段】
【0018】
本発明の実施形態にしたがう軌跡演算装置は、被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得る測定手段と、前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得て、前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得るプロセッサと、を含むことを特徴とする。
【発明の効果】
【0019】
分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法により求めることができる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態による軌跡演算装置が適用される状況を示す図である。
【図2A】本発明の実施形態による軌跡演算装置が搭載される人体上の点の実際の軌道を示す図である。
【図2B】実際の軌道に対して縮尺された軌道を示す図である。
【図2C】実際の軌道に対して歪みのある軌道を示す図である。
【図3】加速度センサによって得られた加速度を積分して位置を求めようとする際、積分誤差が発散する様子を示す図である。
【図4】本発明の実施形態による軌跡演算装置で採用される射的法の概略を示す図である。
【図5】本発明の第一の実施形態による軌跡演算装置が搭載される人体に固定されたxyz座標系を示す図である。
【図6A】本発明の第一の実施形態による軌跡演算装置が搭載される人体のモデルとしての人体リンクモデルを示す図である。
【図6B】本発明の第一の実施形態による軌跡演算装置が搭載される人体のモデルとしての人体リンクモデルを示す図である。
【図7A】本発明の第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としての前屈運動を示す図である。
【図7B】本発明の第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としての側屈運動を示す図である。
【図7C】本発明の第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としてのひねり運動を示す図である。
【図8A】本発明の第一の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をグローバル座標において示す図である。
【図8B】本発明の第一の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をローカル座標において示す図である。
【図9】本発明の第一の実施形態による軌跡演算装置で採用される方法において、2次元情報を3次元情報に展開する必要性を説明する図である。
【図10】本発明の第一の実施形態による軌跡演算装置で採用される方法において、回転角の3次元表示を得る処理のフローチャートである。
【図11】本発明の第一の実施形態による軌跡演算装置で採用される方法において、図10に示されている処理の回転角算出処理を示すフローチャートである。
【図12】本発明の第一の実施形態による軌跡演算装置で採用される方法において、人体の座標系と携帯装置の座標系を一致させる初期補正法について説明する図である。
【図13A】本発明の第一の実施形態による軌跡演算装置で採用される方法において、運動の主軸に直交するベクトルKを示す図である。
【図13B】本発明の第一の実施形態による軌跡演算装置で採用される方法において、L1とL2を示す図である。
【図14A】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャートである。
【図14B】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャートである。
【図14C】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャートである。
【図15】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理における終端位置の算出処理を説明する図である。
【図16】本発明の第一の実施形態による軌跡演算装置の構成図である。
【図17A】本発明の第二の実施形態による軌跡演算装置で採用される方法において、運動による重力と地磁気の変化を示す図である。
【図17B】本発明の第二の実施形態による軌跡演算装置で採用される方法において、重力の変化からx軸回りの回転角ψxとz軸回りの回転角ψzを算出する処理を説明する図である。
【図17C】本発明の第二の実施形態による軌跡演算装置で採用される方法において、地磁気に対して、x軸回りの回転とz軸回りの回転を施す処理を説明する図である。
【図17D】本発明の第二の実施形態による軌跡演算装置で採用される方法において、運動後の地磁気の方向に一致するような重力方向に関する回転角ψyを算出する処理を説明する図である。
【図18】本発明の第三の実施形態による軌跡演算装置で採用される方法において、人体が置かれる空間の特徴点を説明する図である。
【図19A】本発明の第三の実施形態による軌跡演算装置で採用される方法において、画像内から2点以上の特徴点を特定し、運動前後の特徴点の変位から3つの軸に関する回転角を算出する例を説明する図である。
【図19B】本発明の第三の実施形態による軌跡演算装置で採用される方法において、画像内から2点以上の特徴点を特定し、運動前後の特徴点の変位から3つの軸に関する回転角を算出する例を説明する図である。
【図19C】本発明の第三の実施形態による軌跡演算装置で採用される方法において、画像内から2点以上の特徴点を特定し、運動前後の特徴点の変位から3つの軸に関する回転角を算出する例を説明する図である。
【図20】画像から計測した角度φから実際に運動した角度ψを算出する処理を説明する図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態について、図面を参照しながら説明をする。尚、図中で類似の部分または類似の機能を果たす部分については、同一または類似の参照符号を付与して重複した説明を省略する。
【0022】
<射的法の概略>
図1は、本発明の実施形態による軌跡演算装置が適用される状況を示す図である。本発明では、所定の運動(体操)を行う間の軌跡を計測する人体密着型の軌跡演算装置において、加速度センサを用いて運動前後の重力方向を求めて回転角の2次元表現を得て、その値を、角速度センサより得られた体操の主回転軸に直交する軸を無視することによって3軸への配分を決定することで、射的法に用いる終端角度を得てセンサのドリフトをキャンセルして積分値を補正する方法およびそれを用いる装置が提供される。
【0023】
図1に示されているように、本発明の実施形態による軌跡演算装置(以下では、携帯装置とも呼ぶことがある)10は、たとえば人体などの軟体である被測定物に搭載され、被測定物の運動の軌道を求めることを目的とする装置である。以下では、運動とは、主に健康のための運動を例に本発明の実施形態による軌跡演算方法および装置を説明するが、実施形態による方法および装置の適用範囲は健康のための運動には限定されない。
【0024】
図1中の点P1は、往復運動を含む体操の往路の終点である。一般に、この点では人体の動きは一旦停止する。つまり、もし軌跡演算装置10が角速度センサを含む場合、その角速度センサによって測定される角速度は、点P1では0となる。これは、図1に示されているような人体の体操に伴う軌跡演算装置10の動きを、何らかの数値積分法を用いて求める際の境界条件の一つを与え得る。
【0025】
図2a〜2cはそれぞれ、本発明の実施形態による軌跡演算装置が搭載される人体上の点の実際の軌道、実際の軌道に対して縮尺された軌道、および実際の軌道に対して歪みのある軌道を示す図である。
【0026】
携帯装置に搭載されるセンサを用いて、健康のための運動における人体上の任意の点の軌跡の計測では、
(1)リアルタイム性を必要としない、
(2)ある程度誤差が許容される、
という特徴がある。軌跡演算装置に搭載するセンサとしては、たとえば±4Gが計測できる10ビットの加速度センサを用いることができる。±4Gが計測できる10ビットの加速度センサでの1ビットは77mm/s2となる。
【0027】
人体の健康の度合いを判定するためには、側屈やひねり運動における左右の運動方向での非対称性や、運動の軌跡の歪みなどが求まればよく、慣性航法が適用される状況のように、リアルタイム性が要求されない。つまり、一連の運動を行った後、その運動において人体上の任意の点がどのような軌跡を描いたのか知ることができれば良い。
【0028】
また、健康の度合いの計測で重要なのは、左右対称な運動なら左右のバランスや移動中の本来の軌跡からのずれの量であり、ずれの具体的な角度や距離、何度であるとか何mm移動したか、という数値自体はあまり重要視されない。すなわち算出される軌跡は、図2に示されているように、実際の軌道に対して拡大や縮小、歪みがあってもかまわない。
【0029】
原理的に慣性センサの情報から軌跡を得るためには、角速度センサによって得られる結果を含むセンサ情報であれば1回、加速度センサからのセンサ情報であれば2回積分すればよい。しかし、これらのセンサ情報は、
(1)ドリフトによってゼロ点に対しオフセットがある
(2)分解能以下の角速度や加速度を検出できない
(3)加速度センサは重力加速度を検出する
といった事情から、実際はそのまま積分すると値が発散してしまうことがある。
【0030】
図3は、加速度センサによって得られた加速度を積分して位置を求めようとする際、積分誤差が発散する様子を示す図である。
図3に示されているように、加速度センサによって得られる加速度の時間変化から位置の変化を求めようとすると、時間に関して2回ほど積分する必要がある。そのため、センサの出力に含まれている電気的なノイズ、重力軸のずれ、温度など環境の変化に伴う静止出力の変動などに起因するわずかな誤差が時間に関する積分をするたびに蓄積し、位置の値が発散する場合がある。また、静止している場合にも、センサのドリフト現象が発生し、ドリフト現象によるオフセットは、位置の値が発散する原因の一つとなる。
【0031】
よって、適当な補正処理を行い、積分値が発散しなくなるようにしなければならない。補正方法には大きく二通りの方法がある。
一つ目はあらかじめ分かっている動き(通常は静止状態)のセンサ値を用いてオフセットや重力加速度の大きさや向きを求め、積分時にその分を考慮して計算する方法である。この手法は積分する時点で補正をかけるため、リアルタイムに積分結果を利用することができる。このため航空機やロボットなどの分野ではよく利用されている。しかし、計測前や計測中に一定時間、既知の動き、たとえば静止状態にとどまることを必要とする。これは航空機やロボットなど特定の分野では許容されるが、健康の度合いの計測しようとする際には、許容されにくい。
【0032】
もう一つは射的法またはシューティングメソッドと呼ばれる方法である。これはあらかじめ始点と終点が分かっている運動に対して途中経路がどのようなものであったかを算出するものである。あらかじめ始点と終点が分かっている運動には、例えば往復運動なら始点と終点の位置姿勢が等しい運動が含まれる。
【0033】
射的法は始点と終点が決定している必要がある(実際は選択が適切であれば必ずしも始点と終点でなくてもかまわない)。このため適用対象として最適なものは往復運動である。往復運動では始点と終点が等しいため、始点および終点を原点にするなど適切に定めることができるためである。
【0034】
図4は、本発明の実施形態による軌跡演算装置で採用される射的法の概略を示す図である。射的法(または、シューティングメソッド、シューティング法)は、微分方程式の境界値問題を解く方法の一つである。この方法では、条件が明示的に与えられた境界を始点として、与えられた境界条件以外の初期値を適当に仮定して微分方程式を積分して行き、別の境界の条件を満たすまで、仮定した初期値を修正する方法である。
【0035】
図4を参照しながら、射的法の概要を説明する。
図4aは、運動区間の抽出を行う様子を示している。時刻t=0から時刻t=T=nΔt(nは正整数、Δtは時間間隔)の間のセンサ信号(センサ出力)の時系列情報を速度情報として抽出する様子を示している。また時刻t=Tにおける境界条件として、このときの位置の値はYであることが分かっているとする。
【0036】
次に、図4bに示されているように、時刻t=0における位置の値はx0と決められている。この値を初期値として、センサ出力を時間積分して、位置の値の時系列データを得る。多くの場合、この積分の結果としての時刻t=Tの値は、上述のような様々な原因によって、本来の値であるYとは異なる値であるZとなる。YとZの差が誤差である。
【0037】
次に、図4cに示されているように、YとZの誤差を補償するために、速度情報、すなわちセンサ信号の時系列情報に一定値V0を加えて修正された速度情報を得る。V0の符号は値Yと値Zの大小関係から決められても良い。
【0038】
そして、図4dに示されているように、修正された速度情報を時間積分して、新たな位置の値の時系列データを得る。図4bおよび図4cに示されている処理を一度行っただけでは、時刻t=Tでの境界条件が所定の誤差の範囲内で満たさない場合、図4bおよび図4cに示されている処理を繰り返す。この処理の結果、時刻t=0における位置の値をx0、時刻t=Tにおける位置の値がYとなる位置の時系列情報xt(t=0〜T)を得る。この位置の時系列情報xtが軌跡に他ならない。
【0039】
図4a〜4dでは、センサとして速度センサを用い、一回の積分で軌跡を得ている。速度センサでなく加速度センサを使う場合、時間に関する積分を二回行う。すなわちまずt=0とTにおける速度を定め、加速度センサから得た加速度の時系列情報に対し図4b〜4dの処理を行い速度の時系列情報を得る。次にその速度の時系列情報に対して図4a〜4dの処理を行う。
【0040】
体操は体を前後に動かす前屈や側面に倒す側屈など往復運動であり、一見簡単に射的法を適用できそうに見える。一般的な±4Gが計測できる10ビットの加速度センサの分解能が77mm/s2であることを考慮すると、6秒間に1.4m以下で動くような運動は検出することができない。体操での人体上の点の移動距離は、せいぜい数十cm程度である。このような運動の軌跡を射的法を用いて求めようとしても、困難である。
【0041】
以下では、上記のようなセンサを用いても、射的法による軌跡の算出に利用可能な、所定の往復運動を含む体操の往路区間における終点の座標の値を得る方法およびそれを用いる装置について述べる。そのような方法および装置では、安価なセンサを用いつつも、射的法を用いて前屈、側屈、ひねりなどの体操のような往復運動を含む体操の軌跡を射的法により求めることである。
【0042】
(第一の実施形態)
図5〜15を参照して、本発明の第一の実施形態について説明する。本実施形態では、上の射的法を、携帯装置に搭載するセンサを用いて人体上の任意の点の軌跡を求めることができる。
【0043】
図5は、本発明の実施形態による軌跡演算装置が搭載される人体に固定されたxyz座標系を示す図である。
本実施形態では、人体に左手系直交座標系を固定する。原点を人体の股関節あたりに取り、x軸と左手方向に、y軸を頭頂方向に、z軸を前方方向に取る。
【0044】
図6a〜6bは、本発明の第一の実施形態による軌跡演算装置が搭載される人体のモデルとしての人体リンクモデルを示す図である。
センサを含む携帯装置10は、図6aのように携帯装置が搭載される人体に固定された直交座標系の原点付近に装着される。より詳細には、図6bのように、携帯装置は、座標(0、h、d)に配置している。携帯装置10には大きさがある。「携帯装置が位置(0、h、d)にある」と言った時、点(0、h、d)には、携帯装置の任意の点が配置され、たとえば、携帯装置の重心位置が配置されても良いし、携帯装置の表面上の一点が配置されても良い。
【0045】
また、図6bに示されているように、x軸回りの回転をφx、y軸回りの回転をφy、z軸回りの回転をφzで表す。
以下では、座標または回転角の表記に(x、y、z)と(φx、φy、φz)、または(x、y、z)Tと(φx、φy、φz)T(記号“T”は行列またはベクトルの転置を表す。)を用い、ときとしてこれらの区別をせずに記載する。すなわち、たとえば(x、y、z)と記載されていても、数学的演算の際には、(x、y、z)Tと理解しないと演算が成立しない場合がある。そのような場合には、数学的演算が可能である表記であると理解する。
【0046】
第一の実施形態では、携帯装置10が装着された人体の運動の軌跡を、常微分方程式の数値積分法の一つである射的法を用いて得る。特に、第一の実施形態では、分解能が必ずしも高くない安価なセンサを用いつつも、射的法に用いる終端角度を得てセンサのドリフトをキャンセルし、積分値を補正する方法およびそれを用いる装置が提供される。携帯装置10の構成は、後に図16を参照しながら説明する。
【0047】
図7a〜cはそれぞれ、第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としての体を前方向に倒す前屈運動、横方向に倒す側屈運動、人体を貫く軸に関してひねるひねり運動を示す図である。健康診断はそれぞれ主要な運動方向にどれだけ動いたかとともに、主要回転軸に直交する一つの軸の動きを使って行う。直交軸は前屈の場合よじれ、側屈の場合前後のブレ、ひねりの場合左右のブレである。
【0048】
図7aに示されているように、前屈運動では、x軸回りの回転が主な動きであり、その次にy軸回りの運動があっても良い。つまり、x軸回りの回転は、体をどれだけ体を前方に傾けたかを表す。したがって、前屈運動におけるx軸回りの回転角の大きさは、人の体の健康の度合いの一つを与える。一方、y軸回りの回転は前屈運動の際にどれだけ体をよじったかを表す。一般には、体を直立させた状態から、前方に体を傾けるだけならば、体をよじる必要はない。よって、前屈運動でy軸回りの回転が測定されるということは、体の左右の対称性が破れている可能性があり、人の体の健康の度合いの一つを与える。
【0049】
図7bに示されているように、側屈運動では、z軸回りの回転が主な動きであり、その次にx軸回りの運動を注目する動きとしも良い。z軸回りの回転は、直立した姿勢から真横に体を倒す運動を表す。したがって、側屈運動におけるz軸回りの回転角の大きさは、人の体の健康の度合いの一つを与える。体が左右対称であれば、z軸回りの回転角の正の方向(体を直立させたときの回転角を0としたとき、回転角が正の値となる方向)と負の方向(回転角が負の値となる方向)の最大値がほぼ一致する。すなわち、側屈運動でのz軸回りの回転角の正負の最大値の絶対値の差は、人の体の健康の度合いの一つを与える。
【0050】
また、図7bに示されているように、側屈運動では、z軸回りの回転が主な動きであり、z軸回りの回転の次にx軸回りの回転を注目する動きとしも良い。側屈運動は、体を真横に傾ける運動であるので、本来的には、体の前後の運動はない。つまり、側屈運動でのx軸回りの回転角の有無およびある場合の回転角の大きさは、人の体の健康の度合いの一つを与える。
【0051】
また、図7cに示されているように、ひねり運動では、y軸回りの回転が主な動きであり、y軸回りの回転の次にz軸回りの回転を注目する動きとしも良い。つまり、ひねり運動におけるy軸回りの回転角の大きさは、人の体の健康の度合いの一つを与える。また、側屈運動でのz軸回りの回転角の正負の最大値の絶対値の差は、人の体の健康の度合いの一つを与える。
【0052】
以上のことをまとめると表1のようになる。
【表1】
【0053】
次に、図8〜9を参照して、本発明の実施形態にしたがって、射的法を用いて軌跡演算装置が搭載される人体が運動を行ったとき、軌道演算装置の軌跡を求める際に、二次元情報を三次元情報に展開する必要性があることを説明する。
【0054】
図8aは、本発明の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をグローバル座標において示す図、図8bは、本発明の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をローカル座標において示す図である。ここで、グローバル座標とは、軌跡演算装置が搭載される人体が置かれている空間に固定された座標であり、グローバル座標系では、軌跡演算装置10自体も移動する。グローバル座標は絶対座標と呼ぶこともある。ローカル座標とは、軌跡演算装置10に固定された座標である。
【0055】
図9は、本発明の第一の実施形態による軌跡演算装置で採用される方法において、2次元情報を3次元情報に展開する必要性を説明する図である。
センサを装備した携帯装置10の一面を図6aのように胸骨を押さえつけて運動した場合、前屈運動や側屈運動など重力に対して傾く運動を行うと、人体に装着された携帯装置の加速度センサは運動によって移動し、運動に伴って生じる加速度(遠心力も含む)と重力方向の変化を検出する。往復運動の往路終了時点で体の動きが止まっていると考えると、加速度センサは重力方向のみをとらえた傾斜計として機能する。しかし、図8bに示されているように、姿勢の終点がピッチ、ロール、ヨーなどと表現できる3種類の角度が必要なのに対し、傾斜計として加速度センサを使った時に得られる角度は2種類だけである。図8bでは、x軸、z軸、y軸の順に回転させる規則を採用しているので、2つの角度としてx軸回りの回転角ψxとz軸回りの回転角ψzによって重力方向の変化を表現している。
【0056】
このため、図9に示されているように、2次元の情報を3次元、すなわち3つの回転角に配分しなければならない。図6bに示されているように、加速度センサ、または加速度センサを含む携帯装置10が装着された人体の運動は、x軸回りの回転をφx、y軸回りの回転をφy、z軸回りの回転をφzで表される。一方、図8bに示されているように、人体に装着された携帯装置の加速度センサ(または加速度センサ)における重力方向の変化は、x軸回りの回転角ψxとz軸回りの回転角ψzによって表される。すなわち、(ψx、ψz)を(φx、φy、φz)に分配する必要がある。この分配方法は無数にあるが、3軸のうち一つの軸は回転しないと考え、残りの2軸に重力方向の変化から得た二次元情報を射影させる方法が一番シンプルである。ただし、この方法では、3つの軸のうちどの2軸に投影するか、つまり、どの軸には射影しないのか、を決定する必要がある。ここで、射影しない1つの軸は、その軸の回りの回転を無視するということを意味する。
【0057】
その射影しない1つの軸として、運動の種類に関わらず、携帯装置10が搭載される人体の体幹を貫くグローバル座標でのy軸を採用することも考えられる。しかしながら、上の表1に示したように、運動によって主たる運動の動きの軸が異なるため、運動の種類に関わらずグローバル座標でのy軸を射影しない1つの軸として採用することは難しい。そこで、運動ごとに、その運動における回転を射影しない軸を決定する必要がある。
【0058】
そのために、携帯装置10を含む健康診断装置(図16)から、携帯装置10の利用者、つまり体操をする人に、前屈運動、側屈運動、またはひねり運動など運動の種類を指示し、その指示に基づいて無視する軸を決定しても良い。たとえば、前屈運動、側屈運動、ひねり運動に対してはそれぞれ、z軸、y軸、x軸を無視するようにしても良い。
【0059】
<回転角の算出>
以下では、図11〜12を参照して、運動の前後における携帯装置の回転角(φx、φy、φz)の算出について説明する。以下では、加速度センサで重力方向の時系列データ(axi、ayi、azi)および角速度の時系列データ(rxi、ryi、rzi)を測定する。ここでiは整数であり、離散的な時刻を示すインデックスである。また、運動期間はi=0〜nで表される期間であるとする。微小時間をΔT秒とすれば、運動期間はt=0〜T=nΔT秒となる。ここではiを整数として離散的な時刻を示すインデックスとしたが、連続的な時刻t=0〜Tを示しても良い。
【0060】
図10は、本発明の第一の実施形態による軌跡演算装置で採用される方法において、回転角の3次元表示を得る処理のフローチャートである。
図10に示されている処理では、まず運動の主軸を求める。次に、主軸の方向を示すベクトルに行列、
【数4】
を掛けた軸Kに関する回転を無視することによって、(ψx、ψz)を(φx、φy、φz)に分配する。このような処理は、主軸と直交する方向に関する回転を無視することを意味する。このようにして運動期間中の回転角(φx、φy、φz)を求めることができれば、携帯装置10の運動前の座標(0、h、d)に、回転行列Rを作用させるにことによって、運動後の位置(図1のP1)の座標を得ることができる。
【0061】
また、運動期間の角速度の大きさの時系列データから主軸を検出し、運動が前屈運動、側屈運動、ひねり運動のいずれの運動なのかを判定し、表1の関係から直交軸を決定しても良い。
回転角を測定する前に、図6bに示されているように、人体の座標系と携帯端末10の持つ座標系を一致させる必要があることである。
【0062】
図12は、人体の座標系と携帯装置の座標系を一致させる初期補正法について説明する図である。図12において、X軸、Y軸、Z軸で張られる座標系は人体に固定された座標系、x軸、y軸、z軸で張られる座標系は携帯装置10に固定された座標系である。
【0063】
もし、携帯端末10が加速度センサを含んでおり、加速度センサを傾斜計と扱えば、携帯端末10がどのような傾きで体に装着しているか知ることができる。一般に、重力方向からは(ψx、ψz)の2つの角度(図12の角度1および角度2)に関する情報しか得られないため、人体の座標系と携帯端末10の持つ座標系の2つの座標系を一致させるのに必要な回転量を一意に決めることができない。しかし図6bのように端末の一面を胸骨に当てているため、胸骨に当てた端末面の法線(仮にz軸とする)は人の矢上面(YZ平面)上にあると考えられる。そのため回転の際には、X軸回り、Z軸回り、Y軸回りの順で回転させるという約束を採用すれば、Y軸回りの回転のズレは無視して、2つの座標系を一致させるような回転量を計算することができる。
【0064】
図10のフローチャートで示されている処理において、求めるべき終点は全部で3つある。姿勢の終点Rn、速度の終点Vn、および位置の終点Pnである。ここで、サブスクリプトは離散時間のインデックスである。このうち一番重要視されるのは姿勢の終点Rnである。なぜならば、求める軌跡は、位置の軌跡データPiと姿勢の軌跡データRn(i=0、1、2、…、n)で構成される。
【0065】
ステップS100では、加速度センサで重力方向の時系列データ(axi、ayi、azi)および角速度の時系列データ(rxi、ryi、rzi)を測定する。ここでiは整数であり、離散的な時刻を示すインデックスである。また、運動期間はi=0〜nで表される期間であるとする。
【0066】
ステップS102では、運動前と運動後の重力方向(ax0、ay0、az0)および(axn、ayn、azn)からx軸回りの回転角ψxとz軸回りの回転角ψzを求める。
【0067】
次のステップS104では、回転角算出処理を行う。この処理は図11のフローチャートに示されている。
回転角算出処理が始まると、まず、ステップS200で測定された角速度(rxi、ryi、rzi)を時間に関して積分して、運動期間中の角度変化ρ=(ρx、ρy、ρz)を求める:
【数5】
【0068】
次に、ステップS202で運動の主軸と直行する軸Kを求める。運動の主軸は、ステップS200で求めた角度変化ρ=(ρx、ρy、ρz)で表される軸である。軸Kの方向を示すベクトル(Kx、Ky、Kz)は次式から求められる:
【数6】
この軸Kは、図13Aに示されているように、角度変化ρ=(ρx、ρy、ρz)と直交する。
【0069】
次に、ステップS204では、ステップS202で求められた軸Kの回りの回転を無視したときの回転行列Rを、次式を用いて求める。
【数7】
ここで、角度rx、rzは、(Kx、Ky、Kz)を用いて、
【数8】
と表される角度である。図13Bに、角度rx、rzと、ベクトルK、長さL1、L2の関係が示されている。
【0070】
次のステップS206では、ステップ204で求められた回転行列Rを(ψx、ψz)に施すことによって、回転角(φx、φy、φz)が得られる。すなわち、
【数9】
である。
【0071】
このようにして、運動の主軸に直交する方向に関する回転を無視することによって、2つの回転角(ψx、ψz)を3つの回転角(φx、φy、φz)に分配することができる。
【0072】
また、±4Gが計測できる10ビット程度のセンサなど分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法によって求めるために用いられる往路区間における終点を得ることができる。
【0073】
<射的法を用いた軌跡演算>
以下では、図14〜15を参照して、射的法を用いた軌跡演算処理について説明する。図14は、本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャート、図15は本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理における終端位置の算出処理を説明する図である。
【0074】
まず、S300〜S316で、運動の往路の終点(図1の点P1)の座標を求める。
S300では、加速度センサおよび角速度センサの読みの時系列データを取得する。各測定タイミングにおいて、加速度センサの読みは(ax、ay、az)、角速度センサの読みは(rx、ry、rz)と表される。ax、ay、azはそれぞれ、x軸まわり、y軸回り、z軸回りの信号から得られる値である。
【0075】
S302では、S300で得られた加速度センサおよび角速度センサの読みから、運動区間を取り出す。その値を計算機システムで読み取るとなると読み取る間隔(サンプリング間隔)で離散化される。その間隔をΔTとする。計算機システムは加速度センサおよび角速度センサを監視し運動が行われたか否かを判別し、運動が行われたと判断されると、その間の加速度や角速度をそれぞれ、配列(axi、ayi、azi)、(rxi、ryi、rzi)に保存する。ここは運動開始時の加速度、角速度をa0、r0、運動開始後t=i×ΔT秒後の加速度や角速度をとai、ri、運動終了時(nΔT秒後)の加速度、角速度をan、rnとする。
【0076】
次の目標は、時刻tにおけるローカル座標から見たセンサ値at、rtが、絶対座標系で見るとどのような値になっているかを求めるための回転行列Rtの列を得ることである。Riの列を得る方法はR0=Id(恒等行列)として、順次角速度センサの値を積分していけばよい。しかし、単なる積分値は不正確なため、時刻t=T(=nΔT)時の回転行列Rnを、運動前後の重力方向の変化を用いて計算し、Rnがその値にあうように射的法を適用させる必要がある。
【0077】
そのため、まずは運動前後の重力方向の変化から、姿勢の変化を示す回転行列Q2を求める処理を行う(図15を参照)。ここで計算を簡便化するためQ2は運動開始前の座標系から運動終了後の座標系への回転行列とする。一方Riは時刻t=i×ΔT時点での座標系から絶対座標系への変換行列とする。運動開始前の座標系は任意に取ることができるため、それを絶対座標系と一致させておけば、Riは運動開始前のローカル座標系から時刻t=i×ΔTのローカル座標系への変換行列と考えることができる。すなわちQ2・Rn=Idという関係が成り立つ。
【0078】
運動開始時の携帯装置10のローカル座標系は絶対座標系と一致しない。そのずれはa0の成分となって現れる。そこでステップS304でa0をピッチとロールの2つの角度に変換する。すなわち、図15に示されているように、a0を携帯装置10に固定された座標系(Σ座標系)でのピッチ角p0、ロール角r0の2つの角度で表示する。
【0079】
次のステップS306では、ピッチ角p0、ロール角r0の2つの角度から回転行列Q0を得る。このQ0は運動開始前のローカル座標系のセンサ値を絶対座標系に変換するものである。この絶対座標系は、y軸と重力方向が重なり、かつ yz平面が運動開始前のローカル座標系のyz平面と一致する座標系である。
【0080】
ステップS308では、得られたQ0に運動終了時点での加速度anをかけると、絶対座標系から見た運動後の重力方向q0が得られる。
【数10】
【0081】
次のステップS310では、q0から、絶対座標(すなわち、y軸と重力方向(加速度センサの運動前の読みをa0とすると−a0方向)が重なり、かつ yz平面が運動開始前のローカル座標系のyz平面と一致する座標系)での、ピッチ角p0、ロール角r0のそれぞれの表現p1、r1を求める。運動開始前はy軸と一致していた重力方向が運動終了後にq0に変化する回転は、ピッチ、ロール、ヨーの3つの軸を組み合わせると無限個の組み合わせがある。しかし仮にヨー軸が変化しないと考えると一意に決まるため、それらの値p1、r1を得る。なお、ここではヨー軸が変化しないと考えたが、これは別に他の軸でもかまわない。
【0082】
次のステップS312では、ステップS310で求めたp1、r1に回転行列Q0−1をかけることで, 運動開始前から後へのローカル座標を基準とした角度の変化(p2、y2、r2)を求める。
【0083】
ステップS314で、(p2、y2、r2)を回転行列Q2の形に変形する(図15を参照)。
ステップS316では、ステップS314で求められた回転行列Q2を携帯装置10の運動前の座標(0、h、d)に、回転行列Q2を作用させるにことによって、運動後の位置(図1の点P1)の座標Xzを
【数11】
から得ることができる。
【0084】
次に、ステップS318〜S340で姿勢軌道の算出を行う。ここでの目標は、時刻t=i×ΔT(i=0〜n)におけるローカル座標から絶対座標への変換行列Ri(i=0〜n)を得ることである。
【0085】
まずステップS318で、計算機のメモリ空間上に回転行列Ri(i=0〜n)の領域を用意し (一般的には構造体の配列にするであろう)、単位行列Idを代入し、回転行列Riを初期化する。
【0086】
次に、ステップS320で、射的法における角速度センサのオフセット値も初期化する。すなわち、o=(0、0、0)とする。
ステップS322〜S332では、回転行列Riを積分する処理である。
ステップS322では、ループカウンタiを1とする。
【0087】
ステップS324では、時刻ΔT毎に角速度センサの値にオフセット値を足すことで、補正されたローカル座標から見た角速度値に変形し、それに回転行列Riをかけることで絶対座標系から見た角速度値o1に変形する。すなわち、i=1〜nに対して、
【数12】
である。i=0に対しては、o1はセンサの読みの値である。
【0088】
ところで、回転行列Riはローカル座標から絶対座標への変換行列であるが、見方を変えると絶対座標系から見たローカル座標のx、y、z軸の向きを示す単位ベクトルを並べた行列と見ることもできる。すなわちx軸を示すベクトルをWx=(wxx、wxy、wxz)とし、同様に y軸、z軸を示すベクトルもそれぞれ、Wy、Wzとすると、Ri=(WxT、WyT、WzT)と書ける。たとえば、軸L(軸Lを示すベクトルもLと書く)の回りに角速度lで回転したときの微小変異量は、L×l(ここで×は外積を表すとする)と書くことができる。
【0089】
ステップS326では、この考え方を用いて回転行列の微小変異量dRを、
【数13】
から求める。dRを詳細に書けば、dR=((Wx×o1)T、(Wy×o1)T、(Wz×o1)T)となる。
【0090】
ステップS328では、ステップS326で求められた微小変異量dRを時間について積分し、回転行列Riを
【数14】
から求める。
【0091】
ステップS330では、ループカウンタiの値を更新する。つまり、ループカウンタiの値を1だけインクリメントする。
ステップ332では、ループカウンタiの値がnより大きいか否かを判定する。もし、この判定の結果がYes、すなわち、ループカウンタiの値がnより大きければ、処理はステップS334に進む。もし、この判定の結果がNo、すなわち、ループカウンタiの値がnより大きくなければ、処理はステップS324に戻る。
【0092】
もし、ステップ332での判定の結果がYesであれば、時刻t=Tにおける回転行列Rnが求められている。このRnは運動終了の座標系を絶対座標系に変換する回転行列である。一方、先に求めたQ2は絶対座標系を運動終了時の座標系に変換するものである。そのためQ2とRnの積RRは理想的には単位行列Idになるはずである。
【0093】
ステップS334では、Q2とRnの積RRを計算する。実際にはセンサのドリフト等によりRRは単位行列にはならず、積分値の誤差、つまり重力の変化から得られた運動前後の姿勢の変化Q2とセンサを積分して得られた姿勢の変化の間にずれが現れる。
【0094】
射的法ではRRが単位行列になるような角速度センサのオフセットo1を求めたい。RRは姿勢のずれ、誤差を示しているため、姿勢変化RRから回転ベクトルo2とその変化量θを求め、θが発生しないようなオフセット値o1を求めればよい。
【0095】
ステップS336では、回転ベクトルo2とその変化量θを求める。具体的には、
【数15】
とすると、
【数16】
から求められる。
【0096】
ステップS338では、ステップS336で求められた変化量θが十分に小さいか否かを判定する。もし、この判定の結果がYes、すなわち、変化量θが十分に小さければ、処理はステップS342に進む。もし、この判定の結果がNo、すなわち、変化量θが十分に小さくなければ、ステップS342に進む。
【0097】
ステップS342では、オフセットの値o1を更新する。具体的には、
【数17】
と更新する。そして、ステップS322に戻る。
【0098】
なお本例ではθが十分小さいかどうかを大きなループ脱出の判断基準としたが、ステップS322〜S332を繰り返す回数(ループ回数)を予め決めて処理を行っても良い。ループ回数は、たとえば3回であっても良いが、3回に限定はされず、任意の数で良い。
【0099】
次に、ステップS342〜S358で速度軌跡の算出を行う。ここでの目標は、時刻t=i×ΔT(i=0〜n)における速度の時系列データVi=(Vxi、Vyi、Vzi)(i=0〜n)を加速度センサのデータの時系列(axi、ayi、azi)から得ることである。
【0100】
ステップS344で、射的法における速度のオフセット値oも初期化する。すなわち、o=(0、0、0)とする。
ステップS346では、ループカウンタiを1とする。
【0101】
ステップS348では、時刻ΔT毎に加速度センサの値にオフセット量を足し、Riをかけることで、その時点での絶対座標系上での加速度o1に変形する。すなわち、i=1〜nに対して、
【数18】
である。i=0に対しては、o1はセンサの読みの値である。
【0102】
ステップS350では、ステップS348で求められた微小変異量o1を時間について積分し、速度Viを
【数19】
から求める。
【0103】
ステップS352では、ループカウンタiの値を更新する。つまり、ループカウンタiの値を1だけインクリメントする。
ステップ354では、ループカウンタiの値がnより大きいか否かを判定する。もし、この判定の結果がYes、すなわち、ループカウンタiの値がnより大きければ、処理はステップS356に進む。もし、この判定の結果がNo、すなわち、ループカウンタiの値がnより大きくなければ、処理はステップS346に戻る。
【0104】
もし、ステップ354での判定の結果がYesであれば、時刻t=Tにおける速度Vnが求められている。速度Vnは、運動完了時の速度を示している。
ここで、運動は静止状態から開始し静止状態で終了したと想定しているため、速度Vnは理想的には零ベクトルでなければならない。
【0105】
ステップS356にて速度Vnが零ベクトルとみなせるかどうかを判定する。もし、この判定の結果がYes、すなわち、速度Vnが零ベクトルとみなせるならば、処理はステップS360に進む。もし、この判定の結果がNo、すなわち、速度Vnが零ベクトルとみなせなければ、処理はステップS358に進む。
【0106】
ステップS358では、オフセット値oの値を更新する。具体的には、
【数20】
と更新する。そして、ステップS348に戻る。
【0107】
なお本例では速度Vnが十分小さいかどうかを大きなループ脱出の判断基準としたが、ステップS346〜S352を繰り返す回数(ループ回数)を予め決めて処理を行っても良い。ループ回数は、たとえば3回であっても良いが、3回に限定はされず、任意の数で良い。
【0108】
次のステップS360〜S366では、位置の時系列データXi=(Xxi、Xyi、Xzi)(i=0〜n)を求める。それには、微小変異量o1として、
【数21】
とし、微小変異量o1を時間に関して積分する。すなわち、
【数22】
を計算する。
【0109】
次のステップS362では、XX=Xn−Xzを計算し、次のステップ364ではXXが十分に小さいか否かを判定する。もし、この判定の結果がYes、すなわち、XXが十分に小さいとみなせるならば、処理は終了する。もし、この判定の結果がNo、すなわち、XXが十分に小さいとみなせないならば、処理はステップS366に進む。
【0110】
ステップS366では、オフセット値oの値を更新する。具体的には、
【数23】
と更新する。そして、ステップS360に戻る。
【0111】
このように、所定の運動(体操)を行う間の軌跡を計測する人体密着型の軌跡演算装置において、加速度センサを用いて運動前後の重力方向を求めて回転角の2次元表現を得て、その値を、角速度センサより得られた体操の主回転軸に直交する軸を無視することによって3軸への配分を決定することで、射的法に用いる終端角度を得てセンサのドリフトをキャンセルして積分値を補正することができる。
【0112】
<軌跡演算装置の構成図>
図16は、本発明の第一の実施形態による軌跡演算装置10を含む健康診断装置の構成図である。
【0113】
軌跡演算装置10は、加速度センサ100、角速度センサ102、マイクロコンピュータA200を含む。軌跡演算装置10は、マイクロコンピュータB300、表示装置400、入力装置500、通信装置600、記憶装置700に接続され、これら全体で健康診断装置を形成する。マイクロコンピュータA200とマイクロコンピュータB300は、同一の構成を有していても良い。
【0114】
軌跡演算装置10とマイクロコンピュータB300は有線または無線によって電気的に接続されていても良いし、マイクロコンピュータA200とマイクロコンピュータB300の間のデータの通信は、USBメモリなどを介した手動によるものであっても良い。
【0115】
加速度センサ100および角速度センサ102は、重力方向の時系列データ(axi、ayi、azi)および角速度の時系列データ(rxi、ryi、rzi)を測定する。加速度センサ100および角速度センサ102は、上記処理のステップS300を行う。
【0116】
マイクロコンピュータA200は、入出力インタフェース(I/0)2002、演算装置2004、入出力インタフェース(I/0)2004、メモリ2008、プログラム2010を含んでいる。マイクとコンピュータA200は、運動の期間中の加速度センサ100によって得られる加速度の変化から運動の前後の被測定物の所定の位置の傾斜の角度の2次元表現を得て、角速度センサ102によって得られる運動期間中の角速度から、運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、傾斜の角度の2次元表現に前記回転行列を作用させることによって運動の前後での前記姿勢の変化を回転角の3次元表現として得るプロセッサとして機能する。つまり、マイクロコンピュータA200は、上記ステップS100〜104、およびS302〜366の処理を行うように構成されている。
【0117】
図16には示されていないが、マイクロコンピュータB300もマイクロコンピュータA200と同様に、入出力インタフェース(I/0)、演算装置、入出力インタフェース(I/0)、メモリ、プログラムを含んでいる。
【0118】
本構成ではマイクロコンピュータA200とマイクロコンピュータB300は分離されているが一つのマイクロコンピュータであっても良い。またこれらは一つの携帯端末ではなく、センサからマイクロコンピュータA200、マイクロコンピュータA200からマイクロコンピュータB300などを無線通信などにしてセンサ部分を携帯し演算は別の部分で行うという形態でも良い。
【0119】
入力装置500から入力された指令はマイクロコンピュータB300を経てマイクロコンピュータA200に伝達され、マイクロコンピュータA200は加速度センサ100および角速度センサ102を用いて、運動に関するデータを計測する。加速度センサ100および角速度センサ102にて取り込まれたデータは、マイクロコンピュータA200のメモリ2008内 に格納される。また、マイクロコンピュータA200は運動が開始、完了したかを計測する。
【0120】
マイクロコンピュータA200によって、運動が完了したと判断されると運動区間を取り出し、上述の処理によって運動軌跡を求める。この処理はマイクロコンピュータA200によって行われる。なお、この処理を演算装置2004に行わせる命令を含むプログラム2010がメモリ2008に収容されている。演算の結果は、マイクロコンピュータB300に送られ、マイクロコンピュータB300内で健康診断を行う。診断結果は表示装置400を介して、ユーザに伝えられる。
【0121】
通信装置600は、ネットワーク800に接続されている。ネットワーク800には、図示されていないホストコンピュータ等が接続され、ログとして診断結果を記憶しても良い。診断結果は記憶装置700に記憶されても良い。
【0122】
(第二の実施形態)
図17を用いて、第二の実施形態について説明する。本実施形態では、第一の実施形態の加速度センサおよび角速度センサに加え、地磁気センサを用いる。
【0123】
地磁気センサは常に磁北を指すため、運動前後で向きが変化する。極点でない限り磁北と重力方向は異なるため、重力方向および磁北方向それぞれから2次元の情報を得ることができる。このようにして得られた4次元の情報から3次元の情報に圧縮する考え方を図17a〜dに示す。実際には各センサは誤差(ノイズ)があるため、図17のように矛盾なく圧縮させることは難しいが、ある程度の誤差を許容するなどの処理をすることで対応できる。また、鉄筋の建屋内などでは地磁気センサは必ずしも磁北を指すとは限らないが、本アルゴリズムでは重力ベクトルと異なるベクトルが得られれば良いだけなので利用することができる。
【0124】
図17aは、運動の前後での重力方向および磁北方向の変化を示す図である。図17bは、上述の第一の実施形態における処理と同様、重力の変化からx軸回りの回転角ψxとz軸回りの回転角ψzを求める図である。次に、図17cのように、運動前の磁北方向を回転角ψxとψzだけ回転する。すると、図17cの結果と、運動後の磁北方向は必ずしも一致しない。そこで、図17dのように、y軸回りに回転角ψyだけ回転させることで、両者を一致させる。
【0125】
このようにして、x軸回りの回転角ψx、y軸回りに回転角ψy、z軸回りの回転角ψzを求
めることができる。
【0126】
(第三の実施形態)
図18〜20を参照して、第三の実施形態について説明する。
本実施形態にしたがう携帯装置10には、カメラが搭載されている。カメラはΔT秒ごとに撮像する。
【0127】
図18に示されているように、カメラで撮影された画像の中に、その点の動きを追跡する特徴点を2点以上定める。特徴点としては、輝度の変化が大きい場所を選ぶことが好ましい。
【0128】
ある時刻t=i×ΔTにおいて、特徴点を含む領域の画素上の座標(x0、y0)の初期位置からの移動距離xとカメラに固有の焦点距離fからカメラの焦点周りの回転角度φ1を求める。より詳細には、回転角度φ1は、
【数24】
から求められる。
【0129】
次に時刻t=i×ΔTにおける画像と時刻t=(i+1)×ΔTにおける画像の特徴点付近の画像データの相関演算をする。相関値が最も高かった位置の座標を(x1、y1)として、時刻t=i×ΔTにおける処理と同様に、回転角度φ2を求める(図20を参照)。
【0130】
回転角度φ1と回転角度φ2の差は、ΔT秒間に特徴点が回転した角度を表す。
このような処理を繰り返すことによって、運動の前後における携帯装置の回転角(φx、φy、φz)を求めることができる。
【0131】
図19A〜Cは、本実施形態による軌跡演算装置で採用される方法において、画像内から2点以上の特徴点を特定し、運動前後の特徴点の変位から3つの軸に関する回転角を算出する例を説明する図である。
【0132】
2つ以上の特徴点の動きを追跡することによって、3つの軸に関する回転角を求める。
なお、動きが大きい場合、運動前後で同一の特徴点をカメラ画像でとらえることはできないが、その場合は運動中数回にわたって特徴点を選択、移動量を検出という操作を繰り返しても良い。
【0133】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得る測定手段と、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得て、前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得るプロセッサと、
を含む軌道演算装置。
(付記2)
前記プロセッサは、前記回転角の3次元表現を用いて前記運動の終点の座標を得て、前記終点の座標を境界条件の一つとして射的法を用いて前記前記被測定物の所定の位置の軌跡を求める、付記1の軌跡演算装置。
(付記3)
前記測定手段が加速度センサおよび角速度センサである、付記1または2の軌跡演算装置。
(付記4)
前記測定手段が、加速度センサおよび地磁気センサである、付記1または2の軌跡演算装置。
(付記5)
前記測定手段は、撮像手段によって得られた画像を解析することによって加速度および角速度を得る、付記1または2の軌跡演算装置。
(付記6)
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算方法であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得ることと、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得ることと、
前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求めることと、
前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得ること、
を含む軌跡演算方法。
(付記7)
さらに、前記回転角の3次元表現を用いて前記運動の終点の座標を得て、前記終点の座標を境界条件の一つとして射的法を用いて前記前記被測定物の所定の位置の軌跡を求めること、を含む付記6の方法。
【符号の説明】
【0134】
100 加速度センサ
102 角速度センサ
200 マイクロコンピュータA
200 マイクロコンピュータB
400 表示装置
500 入力装置
600 通信装置
700 記憶装置
【技術分野】
【0001】
本発明は、軌跡演算装置および軌跡演算方法に関する。
【背景技術】
【0002】
近年の健康ブームに伴い人の体の健康の度合いを計測することが流行している。その方法の一つとして、側屈やひねり運動における左右の運動方向での非対称性や、運動の軌跡の歪みなどを計測しようとするものがある。この方法では、人体上の任意の点の軌跡を演算するものである。そして、このような計測を携帯電話等の携帯装置を用いて実現しようとする際には、携帯装置に内蔵されているセンサ、すなわち慣性センサ、すなわち角速度計と加速度計を用いることで実現する場合がある。原理的には、角速度に関しては一回、加速度に関しては二回積分すれば角度や位置の時系列情報である軌跡を得ることができる。
【0003】
センサを用いて軌跡を求める方法は慣性航法と呼ばれ、一般には、船や飛行機、宇宙船などで使われている。慣性航法が採用される状況では、一般に、非常に高性能でセンサとしては高価なものを採用することが許される。そのような高性能なセンサは、ドリフトが小さく、分解能の高いものである。
【0004】
しかし、前述のように人体上の任意の点の軌跡を計測しようとする場合、携帯装置に搭載するセンサはコストの観点から、ドリフトが大きく分解能が高くない安価なセンサが使用されることが多い。このようなセンサの分解能を考えてみると、たとえば±4Gが計測できる10ビットの加速度センサでは、1ビットは77mm/s2となる。
【0005】
船や飛行機や宇宙船に搭載される高性能なセンサは高い分解能を有するとはいえ、ドリフトやノイズ、計測できる最小単位はゼロではない。つまり、長時間にわたり測定を続けると、ドリフトやノイズ、分解能の影響による誤差が現れる。そのため、高性能なセンサを搭載する乗物でも、GPS、ビーコン、天体観測など慣性センサ以外のセンサを用いて定期的に補正を行うのが一般的である。
【0006】
また、携帯装置でも慣性センサ以外のセンサを用いて軌跡を補正することも考えられる。すなわち、携帯装置の外にある適当な目印を観察してセンサの位置および/または姿勢を知ることである。しかし上述したように、人体上の任意の点の軌跡を携帯装置に搭載されるセンサを用いて計測しようとしても、センサの分解能は高くないため、かなりの頻度で補正をしなければ実用的にならないこと、適当な目印を所定の目的のためだけに携帯装置の外に設置することが困難なことなど、実現を妨げる要因がある。
【0007】
また、3軸加速度センサと3軸角速度センサを組み合わせて、人体等の被測定物の動作解析を行うためのモーションキャプチャであって、測定精度を改良するアルゴリズムを用いて被測定物の位置の測定等を行うモーションキャプチャが知られている。その一例では、3軸角速度センサによって得られる角速度を積分した微小角に基づいて、3軸一括変換を行うことによって、被測定物の加速度を測定するデータ処理工程を含むアルゴリズムが提案されている。
【0008】
たとえば、3軸加速度センサと3軸角速度センサを組み合わせて、ある離散時間nにおいて、被測定物の3軸加速度(Gxn、Gyn、Gzn)と3軸角速度(ωxn、ωyn、ωzn)が測定されるとする。これらのデータから、被測定物がその座標系内で運動する大地に固定された基準座標系の加速度(AXn、AYn、AZn)を、
【数1】
によって算出する。(Gx0、Gy0、Gz0)は、測定開始時における基準座標上での重力加速度である。ここで、Δtを測定の間隔であるサンプリング時間として、
【数2】
または、
【数3】
である。この基準座標系の加速度に基づいて、被測定物の位置データを算出する。
【0009】
健康を目的とする運動における人体上の任意の点の軌跡を携帯装置に搭載するセンサを用いて計測する際には、船や飛行機などに適用される慣性航法とは異なる、二つの特徴が存在する。
【0010】
一つはリアルタイム性を必要としないことである。船や飛行機などに適用される慣性航法では時々刻々変化するその時点での位置姿勢を求めなくてはいけない。しかし、人体上の任意の点の軌跡を求めるには、一連の体操を行った後、今の動きがどのような軌跡を描いたのか知ることができれば良い。
【0011】
もう一つは、ある程度誤差が許容されることである。健康の度合いの計測で重要なのは、左右対称な運動なら左右のバランスや移動中の本来の軌跡からのずれの量であり、ずれの具体的な角度や距離、何度であるとか何mm移動したか、という数値自体はあまり重要視されない。
【0012】
このような点を考慮すると、上のような3軸一括変換をする工程を含む方法では、計算量が多くなる可能性がある。
リアルタイム性を必要とせず、ある程度の誤差が許容されるような軌跡演算に適用可能なアルゴリズムとして、射的法またはシューティングメソッドと呼ばれる方法が知られている。この方法は、あらかじめ始点と終点が分かっている運動に対して途中経路がどのようなものであったかを算出するために好適である。あらかじめ始点と終点が分かっている運動には、例えば往復運動なら始点と終点の位置姿勢が等しい運動が含まれ、健康のための運動にはこのカテゴリに含まれるものが多い。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開平7−239236号公報
【特許文献2】特開2001−242192号公報
【特許文献3】国際公開WO2008/026357号公報
【発明の開示】
【発明が解決しようとする課題】
【0014】
健康のための体操は、体を前後に動かす前屈や側面に倒す側屈など往復運動であり、素朴には、射的法が適用可能であるように見える。しかし現実的には健康のための体操を往復運動として扱うと、運動時間が長すぎるために、正確な計測ができないという問題があった。
【0015】
老若男女を問わない様々なユーザを対象としたサービスを考えると、あまり激しい体操をさせることができない。そのため運動は往と復を合わせて6秒くらいである。実際に人体上の任意の点の軌跡を計測に使用され得る、±4Gが計測できる10ビットの一般的な加速度センサの分解能が77mm/s2であることを考慮すると、6秒間に1.4m以下で動くような運動は検出することができない。体操での人体上の点の移動距離は、せいぜい数十cm程度である。このような運動の軌跡を射的法を用いて求めようとしても、困難である。片道の3秒であれば、距離の分解能、すなわちそれ以下であると検出不能となる距離は35cm程度となり、距離の分解能に関しては、たとえば±4Gが計測できる10ビットの加速度センサを用いて軌跡を求めることが可能な距離となる。
【0016】
しかしながら、片道運動では終点を画定できず、射的法のアルゴリズムの適用が難しくなるという問題があった。
また、たとえば、±4Gが計測できる10ビット程度の一般的な加速度センサの分解能では、体操などの運動に伴う人体上の点の軌跡を射的法を用いて求めようとしても、困難であるという問題があった。
【0017】
本発明の目的は、分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法により求めることである。
【課題を解決するための手段】
【0018】
本発明の実施形態にしたがう軌跡演算装置は、被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得る測定手段と、前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得て、前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得るプロセッサと、を含むことを特徴とする。
【発明の効果】
【0019】
分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法により求めることができる。
【図面の簡単な説明】
【0020】
【図1】本発明の実施形態による軌跡演算装置が適用される状況を示す図である。
【図2A】本発明の実施形態による軌跡演算装置が搭載される人体上の点の実際の軌道を示す図である。
【図2B】実際の軌道に対して縮尺された軌道を示す図である。
【図2C】実際の軌道に対して歪みのある軌道を示す図である。
【図3】加速度センサによって得られた加速度を積分して位置を求めようとする際、積分誤差が発散する様子を示す図である。
【図4】本発明の実施形態による軌跡演算装置で採用される射的法の概略を示す図である。
【図5】本発明の第一の実施形態による軌跡演算装置が搭載される人体に固定されたxyz座標系を示す図である。
【図6A】本発明の第一の実施形態による軌跡演算装置が搭載される人体のモデルとしての人体リンクモデルを示す図である。
【図6B】本発明の第一の実施形態による軌跡演算装置が搭載される人体のモデルとしての人体リンクモデルを示す図である。
【図7A】本発明の第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としての前屈運動を示す図である。
【図7B】本発明の第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としての側屈運動を示す図である。
【図7C】本発明の第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としてのひねり運動を示す図である。
【図8A】本発明の第一の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をグローバル座標において示す図である。
【図8B】本発明の第一の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をローカル座標において示す図である。
【図9】本発明の第一の実施形態による軌跡演算装置で採用される方法において、2次元情報を3次元情報に展開する必要性を説明する図である。
【図10】本発明の第一の実施形態による軌跡演算装置で採用される方法において、回転角の3次元表示を得る処理のフローチャートである。
【図11】本発明の第一の実施形態による軌跡演算装置で採用される方法において、図10に示されている処理の回転角算出処理を示すフローチャートである。
【図12】本発明の第一の実施形態による軌跡演算装置で採用される方法において、人体の座標系と携帯装置の座標系を一致させる初期補正法について説明する図である。
【図13A】本発明の第一の実施形態による軌跡演算装置で採用される方法において、運動の主軸に直交するベクトルKを示す図である。
【図13B】本発明の第一の実施形態による軌跡演算装置で採用される方法において、L1とL2を示す図である。
【図14A】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャートである。
【図14B】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャートである。
【図14C】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャートである。
【図15】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理における終端位置の算出処理を説明する図である。
【図16】本発明の第一の実施形態による軌跡演算装置の構成図である。
【図17A】本発明の第二の実施形態による軌跡演算装置で採用される方法において、運動による重力と地磁気の変化を示す図である。
【図17B】本発明の第二の実施形態による軌跡演算装置で採用される方法において、重力の変化からx軸回りの回転角ψxとz軸回りの回転角ψzを算出する処理を説明する図である。
【図17C】本発明の第二の実施形態による軌跡演算装置で採用される方法において、地磁気に対して、x軸回りの回転とz軸回りの回転を施す処理を説明する図である。
【図17D】本発明の第二の実施形態による軌跡演算装置で採用される方法において、運動後の地磁気の方向に一致するような重力方向に関する回転角ψyを算出する処理を説明する図である。
【図18】本発明の第三の実施形態による軌跡演算装置で採用される方法において、人体が置かれる空間の特徴点を説明する図である。
【図19A】本発明の第三の実施形態による軌跡演算装置で採用される方法において、画像内から2点以上の特徴点を特定し、運動前後の特徴点の変位から3つの軸に関する回転角を算出する例を説明する図である。
【図19B】本発明の第三の実施形態による軌跡演算装置で採用される方法において、画像内から2点以上の特徴点を特定し、運動前後の特徴点の変位から3つの軸に関する回転角を算出する例を説明する図である。
【図19C】本発明の第三の実施形態による軌跡演算装置で採用される方法において、画像内から2点以上の特徴点を特定し、運動前後の特徴点の変位から3つの軸に関する回転角を算出する例を説明する図である。
【図20】画像から計測した角度φから実際に運動した角度ψを算出する処理を説明する図である。
【発明を実施するための形態】
【0021】
以下、本発明の実施形態について、図面を参照しながら説明をする。尚、図中で類似の部分または類似の機能を果たす部分については、同一または類似の参照符号を付与して重複した説明を省略する。
【0022】
<射的法の概略>
図1は、本発明の実施形態による軌跡演算装置が適用される状況を示す図である。本発明では、所定の運動(体操)を行う間の軌跡を計測する人体密着型の軌跡演算装置において、加速度センサを用いて運動前後の重力方向を求めて回転角の2次元表現を得て、その値を、角速度センサより得られた体操の主回転軸に直交する軸を無視することによって3軸への配分を決定することで、射的法に用いる終端角度を得てセンサのドリフトをキャンセルして積分値を補正する方法およびそれを用いる装置が提供される。
【0023】
図1に示されているように、本発明の実施形態による軌跡演算装置(以下では、携帯装置とも呼ぶことがある)10は、たとえば人体などの軟体である被測定物に搭載され、被測定物の運動の軌道を求めることを目的とする装置である。以下では、運動とは、主に健康のための運動を例に本発明の実施形態による軌跡演算方法および装置を説明するが、実施形態による方法および装置の適用範囲は健康のための運動には限定されない。
【0024】
図1中の点P1は、往復運動を含む体操の往路の終点である。一般に、この点では人体の動きは一旦停止する。つまり、もし軌跡演算装置10が角速度センサを含む場合、その角速度センサによって測定される角速度は、点P1では0となる。これは、図1に示されているような人体の体操に伴う軌跡演算装置10の動きを、何らかの数値積分法を用いて求める際の境界条件の一つを与え得る。
【0025】
図2a〜2cはそれぞれ、本発明の実施形態による軌跡演算装置が搭載される人体上の点の実際の軌道、実際の軌道に対して縮尺された軌道、および実際の軌道に対して歪みのある軌道を示す図である。
【0026】
携帯装置に搭載されるセンサを用いて、健康のための運動における人体上の任意の点の軌跡の計測では、
(1)リアルタイム性を必要としない、
(2)ある程度誤差が許容される、
という特徴がある。軌跡演算装置に搭載するセンサとしては、たとえば±4Gが計測できる10ビットの加速度センサを用いることができる。±4Gが計測できる10ビットの加速度センサでの1ビットは77mm/s2となる。
【0027】
人体の健康の度合いを判定するためには、側屈やひねり運動における左右の運動方向での非対称性や、運動の軌跡の歪みなどが求まればよく、慣性航法が適用される状況のように、リアルタイム性が要求されない。つまり、一連の運動を行った後、その運動において人体上の任意の点がどのような軌跡を描いたのか知ることができれば良い。
【0028】
また、健康の度合いの計測で重要なのは、左右対称な運動なら左右のバランスや移動中の本来の軌跡からのずれの量であり、ずれの具体的な角度や距離、何度であるとか何mm移動したか、という数値自体はあまり重要視されない。すなわち算出される軌跡は、図2に示されているように、実際の軌道に対して拡大や縮小、歪みがあってもかまわない。
【0029】
原理的に慣性センサの情報から軌跡を得るためには、角速度センサによって得られる結果を含むセンサ情報であれば1回、加速度センサからのセンサ情報であれば2回積分すればよい。しかし、これらのセンサ情報は、
(1)ドリフトによってゼロ点に対しオフセットがある
(2)分解能以下の角速度や加速度を検出できない
(3)加速度センサは重力加速度を検出する
といった事情から、実際はそのまま積分すると値が発散してしまうことがある。
【0030】
図3は、加速度センサによって得られた加速度を積分して位置を求めようとする際、積分誤差が発散する様子を示す図である。
図3に示されているように、加速度センサによって得られる加速度の時間変化から位置の変化を求めようとすると、時間に関して2回ほど積分する必要がある。そのため、センサの出力に含まれている電気的なノイズ、重力軸のずれ、温度など環境の変化に伴う静止出力の変動などに起因するわずかな誤差が時間に関する積分をするたびに蓄積し、位置の値が発散する場合がある。また、静止している場合にも、センサのドリフト現象が発生し、ドリフト現象によるオフセットは、位置の値が発散する原因の一つとなる。
【0031】
よって、適当な補正処理を行い、積分値が発散しなくなるようにしなければならない。補正方法には大きく二通りの方法がある。
一つ目はあらかじめ分かっている動き(通常は静止状態)のセンサ値を用いてオフセットや重力加速度の大きさや向きを求め、積分時にその分を考慮して計算する方法である。この手法は積分する時点で補正をかけるため、リアルタイムに積分結果を利用することができる。このため航空機やロボットなどの分野ではよく利用されている。しかし、計測前や計測中に一定時間、既知の動き、たとえば静止状態にとどまることを必要とする。これは航空機やロボットなど特定の分野では許容されるが、健康の度合いの計測しようとする際には、許容されにくい。
【0032】
もう一つは射的法またはシューティングメソッドと呼ばれる方法である。これはあらかじめ始点と終点が分かっている運動に対して途中経路がどのようなものであったかを算出するものである。あらかじめ始点と終点が分かっている運動には、例えば往復運動なら始点と終点の位置姿勢が等しい運動が含まれる。
【0033】
射的法は始点と終点が決定している必要がある(実際は選択が適切であれば必ずしも始点と終点でなくてもかまわない)。このため適用対象として最適なものは往復運動である。往復運動では始点と終点が等しいため、始点および終点を原点にするなど適切に定めることができるためである。
【0034】
図4は、本発明の実施形態による軌跡演算装置で採用される射的法の概略を示す図である。射的法(または、シューティングメソッド、シューティング法)は、微分方程式の境界値問題を解く方法の一つである。この方法では、条件が明示的に与えられた境界を始点として、与えられた境界条件以外の初期値を適当に仮定して微分方程式を積分して行き、別の境界の条件を満たすまで、仮定した初期値を修正する方法である。
【0035】
図4を参照しながら、射的法の概要を説明する。
図4aは、運動区間の抽出を行う様子を示している。時刻t=0から時刻t=T=nΔt(nは正整数、Δtは時間間隔)の間のセンサ信号(センサ出力)の時系列情報を速度情報として抽出する様子を示している。また時刻t=Tにおける境界条件として、このときの位置の値はYであることが分かっているとする。
【0036】
次に、図4bに示されているように、時刻t=0における位置の値はx0と決められている。この値を初期値として、センサ出力を時間積分して、位置の値の時系列データを得る。多くの場合、この積分の結果としての時刻t=Tの値は、上述のような様々な原因によって、本来の値であるYとは異なる値であるZとなる。YとZの差が誤差である。
【0037】
次に、図4cに示されているように、YとZの誤差を補償するために、速度情報、すなわちセンサ信号の時系列情報に一定値V0を加えて修正された速度情報を得る。V0の符号は値Yと値Zの大小関係から決められても良い。
【0038】
そして、図4dに示されているように、修正された速度情報を時間積分して、新たな位置の値の時系列データを得る。図4bおよび図4cに示されている処理を一度行っただけでは、時刻t=Tでの境界条件が所定の誤差の範囲内で満たさない場合、図4bおよび図4cに示されている処理を繰り返す。この処理の結果、時刻t=0における位置の値をx0、時刻t=Tにおける位置の値がYとなる位置の時系列情報xt(t=0〜T)を得る。この位置の時系列情報xtが軌跡に他ならない。
【0039】
図4a〜4dでは、センサとして速度センサを用い、一回の積分で軌跡を得ている。速度センサでなく加速度センサを使う場合、時間に関する積分を二回行う。すなわちまずt=0とTにおける速度を定め、加速度センサから得た加速度の時系列情報に対し図4b〜4dの処理を行い速度の時系列情報を得る。次にその速度の時系列情報に対して図4a〜4dの処理を行う。
【0040】
体操は体を前後に動かす前屈や側面に倒す側屈など往復運動であり、一見簡単に射的法を適用できそうに見える。一般的な±4Gが計測できる10ビットの加速度センサの分解能が77mm/s2であることを考慮すると、6秒間に1.4m以下で動くような運動は検出することができない。体操での人体上の点の移動距離は、せいぜい数十cm程度である。このような運動の軌跡を射的法を用いて求めようとしても、困難である。
【0041】
以下では、上記のようなセンサを用いても、射的法による軌跡の算出に利用可能な、所定の往復運動を含む体操の往路区間における終点の座標の値を得る方法およびそれを用いる装置について述べる。そのような方法および装置では、安価なセンサを用いつつも、射的法を用いて前屈、側屈、ひねりなどの体操のような往復運動を含む体操の軌跡を射的法により求めることである。
【0042】
(第一の実施形態)
図5〜15を参照して、本発明の第一の実施形態について説明する。本実施形態では、上の射的法を、携帯装置に搭載するセンサを用いて人体上の任意の点の軌跡を求めることができる。
【0043】
図5は、本発明の実施形態による軌跡演算装置が搭載される人体に固定されたxyz座標系を示す図である。
本実施形態では、人体に左手系直交座標系を固定する。原点を人体の股関節あたりに取り、x軸と左手方向に、y軸を頭頂方向に、z軸を前方方向に取る。
【0044】
図6a〜6bは、本発明の第一の実施形態による軌跡演算装置が搭載される人体のモデルとしての人体リンクモデルを示す図である。
センサを含む携帯装置10は、図6aのように携帯装置が搭載される人体に固定された直交座標系の原点付近に装着される。より詳細には、図6bのように、携帯装置は、座標(0、h、d)に配置している。携帯装置10には大きさがある。「携帯装置が位置(0、h、d)にある」と言った時、点(0、h、d)には、携帯装置の任意の点が配置され、たとえば、携帯装置の重心位置が配置されても良いし、携帯装置の表面上の一点が配置されても良い。
【0045】
また、図6bに示されているように、x軸回りの回転をφx、y軸回りの回転をφy、z軸回りの回転をφzで表す。
以下では、座標または回転角の表記に(x、y、z)と(φx、φy、φz)、または(x、y、z)Tと(φx、φy、φz)T(記号“T”は行列またはベクトルの転置を表す。)を用い、ときとしてこれらの区別をせずに記載する。すなわち、たとえば(x、y、z)と記載されていても、数学的演算の際には、(x、y、z)Tと理解しないと演算が成立しない場合がある。そのような場合には、数学的演算が可能である表記であると理解する。
【0046】
第一の実施形態では、携帯装置10が装着された人体の運動の軌跡を、常微分方程式の数値積分法の一つである射的法を用いて得る。特に、第一の実施形態では、分解能が必ずしも高くない安価なセンサを用いつつも、射的法に用いる終端角度を得てセンサのドリフトをキャンセルし、積分値を補正する方法およびそれを用いる装置が提供される。携帯装置10の構成は、後に図16を参照しながら説明する。
【0047】
図7a〜cはそれぞれ、第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としての体を前方向に倒す前屈運動、横方向に倒す側屈運動、人体を貫く軸に関してひねるひねり運動を示す図である。健康診断はそれぞれ主要な運動方向にどれだけ動いたかとともに、主要回転軸に直交する一つの軸の動きを使って行う。直交軸は前屈の場合よじれ、側屈の場合前後のブレ、ひねりの場合左右のブレである。
【0048】
図7aに示されているように、前屈運動では、x軸回りの回転が主な動きであり、その次にy軸回りの運動があっても良い。つまり、x軸回りの回転は、体をどれだけ体を前方に傾けたかを表す。したがって、前屈運動におけるx軸回りの回転角の大きさは、人の体の健康の度合いの一つを与える。一方、y軸回りの回転は前屈運動の際にどれだけ体をよじったかを表す。一般には、体を直立させた状態から、前方に体を傾けるだけならば、体をよじる必要はない。よって、前屈運動でy軸回りの回転が測定されるということは、体の左右の対称性が破れている可能性があり、人の体の健康の度合いの一つを与える。
【0049】
図7bに示されているように、側屈運動では、z軸回りの回転が主な動きであり、その次にx軸回りの運動を注目する動きとしも良い。z軸回りの回転は、直立した姿勢から真横に体を倒す運動を表す。したがって、側屈運動におけるz軸回りの回転角の大きさは、人の体の健康の度合いの一つを与える。体が左右対称であれば、z軸回りの回転角の正の方向(体を直立させたときの回転角を0としたとき、回転角が正の値となる方向)と負の方向(回転角が負の値となる方向)の最大値がほぼ一致する。すなわち、側屈運動でのz軸回りの回転角の正負の最大値の絶対値の差は、人の体の健康の度合いの一つを与える。
【0050】
また、図7bに示されているように、側屈運動では、z軸回りの回転が主な動きであり、z軸回りの回転の次にx軸回りの回転を注目する動きとしも良い。側屈運動は、体を真横に傾ける運動であるので、本来的には、体の前後の運動はない。つまり、側屈運動でのx軸回りの回転角の有無およびある場合の回転角の大きさは、人の体の健康の度合いの一つを与える。
【0051】
また、図7cに示されているように、ひねり運動では、y軸回りの回転が主な動きであり、y軸回りの回転の次にz軸回りの回転を注目する動きとしも良い。つまり、ひねり運動におけるy軸回りの回転角の大きさは、人の体の健康の度合いの一つを与える。また、側屈運動でのz軸回りの回転角の正負の最大値の絶対値の差は、人の体の健康の度合いの一つを与える。
【0052】
以上のことをまとめると表1のようになる。
【表1】
【0053】
次に、図8〜9を参照して、本発明の実施形態にしたがって、射的法を用いて軌跡演算装置が搭載される人体が運動を行ったとき、軌道演算装置の軌跡を求める際に、二次元情報を三次元情報に展開する必要性があることを説明する。
【0054】
図8aは、本発明の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をグローバル座標において示す図、図8bは、本発明の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をローカル座標において示す図である。ここで、グローバル座標とは、軌跡演算装置が搭載される人体が置かれている空間に固定された座標であり、グローバル座標系では、軌跡演算装置10自体も移動する。グローバル座標は絶対座標と呼ぶこともある。ローカル座標とは、軌跡演算装置10に固定された座標である。
【0055】
図9は、本発明の第一の実施形態による軌跡演算装置で採用される方法において、2次元情報を3次元情報に展開する必要性を説明する図である。
センサを装備した携帯装置10の一面を図6aのように胸骨を押さえつけて運動した場合、前屈運動や側屈運動など重力に対して傾く運動を行うと、人体に装着された携帯装置の加速度センサは運動によって移動し、運動に伴って生じる加速度(遠心力も含む)と重力方向の変化を検出する。往復運動の往路終了時点で体の動きが止まっていると考えると、加速度センサは重力方向のみをとらえた傾斜計として機能する。しかし、図8bに示されているように、姿勢の終点がピッチ、ロール、ヨーなどと表現できる3種類の角度が必要なのに対し、傾斜計として加速度センサを使った時に得られる角度は2種類だけである。図8bでは、x軸、z軸、y軸の順に回転させる規則を採用しているので、2つの角度としてx軸回りの回転角ψxとz軸回りの回転角ψzによって重力方向の変化を表現している。
【0056】
このため、図9に示されているように、2次元の情報を3次元、すなわち3つの回転角に配分しなければならない。図6bに示されているように、加速度センサ、または加速度センサを含む携帯装置10が装着された人体の運動は、x軸回りの回転をφx、y軸回りの回転をφy、z軸回りの回転をφzで表される。一方、図8bに示されているように、人体に装着された携帯装置の加速度センサ(または加速度センサ)における重力方向の変化は、x軸回りの回転角ψxとz軸回りの回転角ψzによって表される。すなわち、(ψx、ψz)を(φx、φy、φz)に分配する必要がある。この分配方法は無数にあるが、3軸のうち一つの軸は回転しないと考え、残りの2軸に重力方向の変化から得た二次元情報を射影させる方法が一番シンプルである。ただし、この方法では、3つの軸のうちどの2軸に投影するか、つまり、どの軸には射影しないのか、を決定する必要がある。ここで、射影しない1つの軸は、その軸の回りの回転を無視するということを意味する。
【0057】
その射影しない1つの軸として、運動の種類に関わらず、携帯装置10が搭載される人体の体幹を貫くグローバル座標でのy軸を採用することも考えられる。しかしながら、上の表1に示したように、運動によって主たる運動の動きの軸が異なるため、運動の種類に関わらずグローバル座標でのy軸を射影しない1つの軸として採用することは難しい。そこで、運動ごとに、その運動における回転を射影しない軸を決定する必要がある。
【0058】
そのために、携帯装置10を含む健康診断装置(図16)から、携帯装置10の利用者、つまり体操をする人に、前屈運動、側屈運動、またはひねり運動など運動の種類を指示し、その指示に基づいて無視する軸を決定しても良い。たとえば、前屈運動、側屈運動、ひねり運動に対してはそれぞれ、z軸、y軸、x軸を無視するようにしても良い。
【0059】
<回転角の算出>
以下では、図11〜12を参照して、運動の前後における携帯装置の回転角(φx、φy、φz)の算出について説明する。以下では、加速度センサで重力方向の時系列データ(axi、ayi、azi)および角速度の時系列データ(rxi、ryi、rzi)を測定する。ここでiは整数であり、離散的な時刻を示すインデックスである。また、運動期間はi=0〜nで表される期間であるとする。微小時間をΔT秒とすれば、運動期間はt=0〜T=nΔT秒となる。ここではiを整数として離散的な時刻を示すインデックスとしたが、連続的な時刻t=0〜Tを示しても良い。
【0060】
図10は、本発明の第一の実施形態による軌跡演算装置で採用される方法において、回転角の3次元表示を得る処理のフローチャートである。
図10に示されている処理では、まず運動の主軸を求める。次に、主軸の方向を示すベクトルに行列、
【数4】
を掛けた軸Kに関する回転を無視することによって、(ψx、ψz)を(φx、φy、φz)に分配する。このような処理は、主軸と直交する方向に関する回転を無視することを意味する。このようにして運動期間中の回転角(φx、φy、φz)を求めることができれば、携帯装置10の運動前の座標(0、h、d)に、回転行列Rを作用させるにことによって、運動後の位置(図1のP1)の座標を得ることができる。
【0061】
また、運動期間の角速度の大きさの時系列データから主軸を検出し、運動が前屈運動、側屈運動、ひねり運動のいずれの運動なのかを判定し、表1の関係から直交軸を決定しても良い。
回転角を測定する前に、図6bに示されているように、人体の座標系と携帯端末10の持つ座標系を一致させる必要があることである。
【0062】
図12は、人体の座標系と携帯装置の座標系を一致させる初期補正法について説明する図である。図12において、X軸、Y軸、Z軸で張られる座標系は人体に固定された座標系、x軸、y軸、z軸で張られる座標系は携帯装置10に固定された座標系である。
【0063】
もし、携帯端末10が加速度センサを含んでおり、加速度センサを傾斜計と扱えば、携帯端末10がどのような傾きで体に装着しているか知ることができる。一般に、重力方向からは(ψx、ψz)の2つの角度(図12の角度1および角度2)に関する情報しか得られないため、人体の座標系と携帯端末10の持つ座標系の2つの座標系を一致させるのに必要な回転量を一意に決めることができない。しかし図6bのように端末の一面を胸骨に当てているため、胸骨に当てた端末面の法線(仮にz軸とする)は人の矢上面(YZ平面)上にあると考えられる。そのため回転の際には、X軸回り、Z軸回り、Y軸回りの順で回転させるという約束を採用すれば、Y軸回りの回転のズレは無視して、2つの座標系を一致させるような回転量を計算することができる。
【0064】
図10のフローチャートで示されている処理において、求めるべき終点は全部で3つある。姿勢の終点Rn、速度の終点Vn、および位置の終点Pnである。ここで、サブスクリプトは離散時間のインデックスである。このうち一番重要視されるのは姿勢の終点Rnである。なぜならば、求める軌跡は、位置の軌跡データPiと姿勢の軌跡データRn(i=0、1、2、…、n)で構成される。
【0065】
ステップS100では、加速度センサで重力方向の時系列データ(axi、ayi、azi)および角速度の時系列データ(rxi、ryi、rzi)を測定する。ここでiは整数であり、離散的な時刻を示すインデックスである。また、運動期間はi=0〜nで表される期間であるとする。
【0066】
ステップS102では、運動前と運動後の重力方向(ax0、ay0、az0)および(axn、ayn、azn)からx軸回りの回転角ψxとz軸回りの回転角ψzを求める。
【0067】
次のステップS104では、回転角算出処理を行う。この処理は図11のフローチャートに示されている。
回転角算出処理が始まると、まず、ステップS200で測定された角速度(rxi、ryi、rzi)を時間に関して積分して、運動期間中の角度変化ρ=(ρx、ρy、ρz)を求める:
【数5】
【0068】
次に、ステップS202で運動の主軸と直行する軸Kを求める。運動の主軸は、ステップS200で求めた角度変化ρ=(ρx、ρy、ρz)で表される軸である。軸Kの方向を示すベクトル(Kx、Ky、Kz)は次式から求められる:
【数6】
この軸Kは、図13Aに示されているように、角度変化ρ=(ρx、ρy、ρz)と直交する。
【0069】
次に、ステップS204では、ステップS202で求められた軸Kの回りの回転を無視したときの回転行列Rを、次式を用いて求める。
【数7】
ここで、角度rx、rzは、(Kx、Ky、Kz)を用いて、
【数8】
と表される角度である。図13Bに、角度rx、rzと、ベクトルK、長さL1、L2の関係が示されている。
【0070】
次のステップS206では、ステップ204で求められた回転行列Rを(ψx、ψz)に施すことによって、回転角(φx、φy、φz)が得られる。すなわち、
【数9】
である。
【0071】
このようにして、運動の主軸に直交する方向に関する回転を無視することによって、2つの回転角(ψx、ψz)を3つの回転角(φx、φy、φz)に分配することができる。
【0072】
また、±4Gが計測できる10ビット程度のセンサなど分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法によって求めるために用いられる往路区間における終点を得ることができる。
【0073】
<射的法を用いた軌跡演算>
以下では、図14〜15を参照して、射的法を用いた軌跡演算処理について説明する。図14は、本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャート、図15は本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理における終端位置の算出処理を説明する図である。
【0074】
まず、S300〜S316で、運動の往路の終点(図1の点P1)の座標を求める。
S300では、加速度センサおよび角速度センサの読みの時系列データを取得する。各測定タイミングにおいて、加速度センサの読みは(ax、ay、az)、角速度センサの読みは(rx、ry、rz)と表される。ax、ay、azはそれぞれ、x軸まわり、y軸回り、z軸回りの信号から得られる値である。
【0075】
S302では、S300で得られた加速度センサおよび角速度センサの読みから、運動区間を取り出す。その値を計算機システムで読み取るとなると読み取る間隔(サンプリング間隔)で離散化される。その間隔をΔTとする。計算機システムは加速度センサおよび角速度センサを監視し運動が行われたか否かを判別し、運動が行われたと判断されると、その間の加速度や角速度をそれぞれ、配列(axi、ayi、azi)、(rxi、ryi、rzi)に保存する。ここは運動開始時の加速度、角速度をa0、r0、運動開始後t=i×ΔT秒後の加速度や角速度をとai、ri、運動終了時(nΔT秒後)の加速度、角速度をan、rnとする。
【0076】
次の目標は、時刻tにおけるローカル座標から見たセンサ値at、rtが、絶対座標系で見るとどのような値になっているかを求めるための回転行列Rtの列を得ることである。Riの列を得る方法はR0=Id(恒等行列)として、順次角速度センサの値を積分していけばよい。しかし、単なる積分値は不正確なため、時刻t=T(=nΔT)時の回転行列Rnを、運動前後の重力方向の変化を用いて計算し、Rnがその値にあうように射的法を適用させる必要がある。
【0077】
そのため、まずは運動前後の重力方向の変化から、姿勢の変化を示す回転行列Q2を求める処理を行う(図15を参照)。ここで計算を簡便化するためQ2は運動開始前の座標系から運動終了後の座標系への回転行列とする。一方Riは時刻t=i×ΔT時点での座標系から絶対座標系への変換行列とする。運動開始前の座標系は任意に取ることができるため、それを絶対座標系と一致させておけば、Riは運動開始前のローカル座標系から時刻t=i×ΔTのローカル座標系への変換行列と考えることができる。すなわちQ2・Rn=Idという関係が成り立つ。
【0078】
運動開始時の携帯装置10のローカル座標系は絶対座標系と一致しない。そのずれはa0の成分となって現れる。そこでステップS304でa0をピッチとロールの2つの角度に変換する。すなわち、図15に示されているように、a0を携帯装置10に固定された座標系(Σ座標系)でのピッチ角p0、ロール角r0の2つの角度で表示する。
【0079】
次のステップS306では、ピッチ角p0、ロール角r0の2つの角度から回転行列Q0を得る。このQ0は運動開始前のローカル座標系のセンサ値を絶対座標系に変換するものである。この絶対座標系は、y軸と重力方向が重なり、かつ yz平面が運動開始前のローカル座標系のyz平面と一致する座標系である。
【0080】
ステップS308では、得られたQ0に運動終了時点での加速度anをかけると、絶対座標系から見た運動後の重力方向q0が得られる。
【数10】
【0081】
次のステップS310では、q0から、絶対座標(すなわち、y軸と重力方向(加速度センサの運動前の読みをa0とすると−a0方向)が重なり、かつ yz平面が運動開始前のローカル座標系のyz平面と一致する座標系)での、ピッチ角p0、ロール角r0のそれぞれの表現p1、r1を求める。運動開始前はy軸と一致していた重力方向が運動終了後にq0に変化する回転は、ピッチ、ロール、ヨーの3つの軸を組み合わせると無限個の組み合わせがある。しかし仮にヨー軸が変化しないと考えると一意に決まるため、それらの値p1、r1を得る。なお、ここではヨー軸が変化しないと考えたが、これは別に他の軸でもかまわない。
【0082】
次のステップS312では、ステップS310で求めたp1、r1に回転行列Q0−1をかけることで, 運動開始前から後へのローカル座標を基準とした角度の変化(p2、y2、r2)を求める。
【0083】
ステップS314で、(p2、y2、r2)を回転行列Q2の形に変形する(図15を参照)。
ステップS316では、ステップS314で求められた回転行列Q2を携帯装置10の運動前の座標(0、h、d)に、回転行列Q2を作用させるにことによって、運動後の位置(図1の点P1)の座標Xzを
【数11】
から得ることができる。
【0084】
次に、ステップS318〜S340で姿勢軌道の算出を行う。ここでの目標は、時刻t=i×ΔT(i=0〜n)におけるローカル座標から絶対座標への変換行列Ri(i=0〜n)を得ることである。
【0085】
まずステップS318で、計算機のメモリ空間上に回転行列Ri(i=0〜n)の領域を用意し (一般的には構造体の配列にするであろう)、単位行列Idを代入し、回転行列Riを初期化する。
【0086】
次に、ステップS320で、射的法における角速度センサのオフセット値も初期化する。すなわち、o=(0、0、0)とする。
ステップS322〜S332では、回転行列Riを積分する処理である。
ステップS322では、ループカウンタiを1とする。
【0087】
ステップS324では、時刻ΔT毎に角速度センサの値にオフセット値を足すことで、補正されたローカル座標から見た角速度値に変形し、それに回転行列Riをかけることで絶対座標系から見た角速度値o1に変形する。すなわち、i=1〜nに対して、
【数12】
である。i=0に対しては、o1はセンサの読みの値である。
【0088】
ところで、回転行列Riはローカル座標から絶対座標への変換行列であるが、見方を変えると絶対座標系から見たローカル座標のx、y、z軸の向きを示す単位ベクトルを並べた行列と見ることもできる。すなわちx軸を示すベクトルをWx=(wxx、wxy、wxz)とし、同様に y軸、z軸を示すベクトルもそれぞれ、Wy、Wzとすると、Ri=(WxT、WyT、WzT)と書ける。たとえば、軸L(軸Lを示すベクトルもLと書く)の回りに角速度lで回転したときの微小変異量は、L×l(ここで×は外積を表すとする)と書くことができる。
【0089】
ステップS326では、この考え方を用いて回転行列の微小変異量dRを、
【数13】
から求める。dRを詳細に書けば、dR=((Wx×o1)T、(Wy×o1)T、(Wz×o1)T)となる。
【0090】
ステップS328では、ステップS326で求められた微小変異量dRを時間について積分し、回転行列Riを
【数14】
から求める。
【0091】
ステップS330では、ループカウンタiの値を更新する。つまり、ループカウンタiの値を1だけインクリメントする。
ステップ332では、ループカウンタiの値がnより大きいか否かを判定する。もし、この判定の結果がYes、すなわち、ループカウンタiの値がnより大きければ、処理はステップS334に進む。もし、この判定の結果がNo、すなわち、ループカウンタiの値がnより大きくなければ、処理はステップS324に戻る。
【0092】
もし、ステップ332での判定の結果がYesであれば、時刻t=Tにおける回転行列Rnが求められている。このRnは運動終了の座標系を絶対座標系に変換する回転行列である。一方、先に求めたQ2は絶対座標系を運動終了時の座標系に変換するものである。そのためQ2とRnの積RRは理想的には単位行列Idになるはずである。
【0093】
ステップS334では、Q2とRnの積RRを計算する。実際にはセンサのドリフト等によりRRは単位行列にはならず、積分値の誤差、つまり重力の変化から得られた運動前後の姿勢の変化Q2とセンサを積分して得られた姿勢の変化の間にずれが現れる。
【0094】
射的法ではRRが単位行列になるような角速度センサのオフセットo1を求めたい。RRは姿勢のずれ、誤差を示しているため、姿勢変化RRから回転ベクトルo2とその変化量θを求め、θが発生しないようなオフセット値o1を求めればよい。
【0095】
ステップS336では、回転ベクトルo2とその変化量θを求める。具体的には、
【数15】
とすると、
【数16】
から求められる。
【0096】
ステップS338では、ステップS336で求められた変化量θが十分に小さいか否かを判定する。もし、この判定の結果がYes、すなわち、変化量θが十分に小さければ、処理はステップS342に進む。もし、この判定の結果がNo、すなわち、変化量θが十分に小さくなければ、ステップS342に進む。
【0097】
ステップS342では、オフセットの値o1を更新する。具体的には、
【数17】
と更新する。そして、ステップS322に戻る。
【0098】
なお本例ではθが十分小さいかどうかを大きなループ脱出の判断基準としたが、ステップS322〜S332を繰り返す回数(ループ回数)を予め決めて処理を行っても良い。ループ回数は、たとえば3回であっても良いが、3回に限定はされず、任意の数で良い。
【0099】
次に、ステップS342〜S358で速度軌跡の算出を行う。ここでの目標は、時刻t=i×ΔT(i=0〜n)における速度の時系列データVi=(Vxi、Vyi、Vzi)(i=0〜n)を加速度センサのデータの時系列(axi、ayi、azi)から得ることである。
【0100】
ステップS344で、射的法における速度のオフセット値oも初期化する。すなわち、o=(0、0、0)とする。
ステップS346では、ループカウンタiを1とする。
【0101】
ステップS348では、時刻ΔT毎に加速度センサの値にオフセット量を足し、Riをかけることで、その時点での絶対座標系上での加速度o1に変形する。すなわち、i=1〜nに対して、
【数18】
である。i=0に対しては、o1はセンサの読みの値である。
【0102】
ステップS350では、ステップS348で求められた微小変異量o1を時間について積分し、速度Viを
【数19】
から求める。
【0103】
ステップS352では、ループカウンタiの値を更新する。つまり、ループカウンタiの値を1だけインクリメントする。
ステップ354では、ループカウンタiの値がnより大きいか否かを判定する。もし、この判定の結果がYes、すなわち、ループカウンタiの値がnより大きければ、処理はステップS356に進む。もし、この判定の結果がNo、すなわち、ループカウンタiの値がnより大きくなければ、処理はステップS346に戻る。
【0104】
もし、ステップ354での判定の結果がYesであれば、時刻t=Tにおける速度Vnが求められている。速度Vnは、運動完了時の速度を示している。
ここで、運動は静止状態から開始し静止状態で終了したと想定しているため、速度Vnは理想的には零ベクトルでなければならない。
【0105】
ステップS356にて速度Vnが零ベクトルとみなせるかどうかを判定する。もし、この判定の結果がYes、すなわち、速度Vnが零ベクトルとみなせるならば、処理はステップS360に進む。もし、この判定の結果がNo、すなわち、速度Vnが零ベクトルとみなせなければ、処理はステップS358に進む。
【0106】
ステップS358では、オフセット値oの値を更新する。具体的には、
【数20】
と更新する。そして、ステップS348に戻る。
【0107】
なお本例では速度Vnが十分小さいかどうかを大きなループ脱出の判断基準としたが、ステップS346〜S352を繰り返す回数(ループ回数)を予め決めて処理を行っても良い。ループ回数は、たとえば3回であっても良いが、3回に限定はされず、任意の数で良い。
【0108】
次のステップS360〜S366では、位置の時系列データXi=(Xxi、Xyi、Xzi)(i=0〜n)を求める。それには、微小変異量o1として、
【数21】
とし、微小変異量o1を時間に関して積分する。すなわち、
【数22】
を計算する。
【0109】
次のステップS362では、XX=Xn−Xzを計算し、次のステップ364ではXXが十分に小さいか否かを判定する。もし、この判定の結果がYes、すなわち、XXが十分に小さいとみなせるならば、処理は終了する。もし、この判定の結果がNo、すなわち、XXが十分に小さいとみなせないならば、処理はステップS366に進む。
【0110】
ステップS366では、オフセット値oの値を更新する。具体的には、
【数23】
と更新する。そして、ステップS360に戻る。
【0111】
このように、所定の運動(体操)を行う間の軌跡を計測する人体密着型の軌跡演算装置において、加速度センサを用いて運動前後の重力方向を求めて回転角の2次元表現を得て、その値を、角速度センサより得られた体操の主回転軸に直交する軸を無視することによって3軸への配分を決定することで、射的法に用いる終端角度を得てセンサのドリフトをキャンセルして積分値を補正することができる。
【0112】
<軌跡演算装置の構成図>
図16は、本発明の第一の実施形態による軌跡演算装置10を含む健康診断装置の構成図である。
【0113】
軌跡演算装置10は、加速度センサ100、角速度センサ102、マイクロコンピュータA200を含む。軌跡演算装置10は、マイクロコンピュータB300、表示装置400、入力装置500、通信装置600、記憶装置700に接続され、これら全体で健康診断装置を形成する。マイクロコンピュータA200とマイクロコンピュータB300は、同一の構成を有していても良い。
【0114】
軌跡演算装置10とマイクロコンピュータB300は有線または無線によって電気的に接続されていても良いし、マイクロコンピュータA200とマイクロコンピュータB300の間のデータの通信は、USBメモリなどを介した手動によるものであっても良い。
【0115】
加速度センサ100および角速度センサ102は、重力方向の時系列データ(axi、ayi、azi)および角速度の時系列データ(rxi、ryi、rzi)を測定する。加速度センサ100および角速度センサ102は、上記処理のステップS300を行う。
【0116】
マイクロコンピュータA200は、入出力インタフェース(I/0)2002、演算装置2004、入出力インタフェース(I/0)2004、メモリ2008、プログラム2010を含んでいる。マイクとコンピュータA200は、運動の期間中の加速度センサ100によって得られる加速度の変化から運動の前後の被測定物の所定の位置の傾斜の角度の2次元表現を得て、角速度センサ102によって得られる運動期間中の角速度から、運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、傾斜の角度の2次元表現に前記回転行列を作用させることによって運動の前後での前記姿勢の変化を回転角の3次元表現として得るプロセッサとして機能する。つまり、マイクロコンピュータA200は、上記ステップS100〜104、およびS302〜366の処理を行うように構成されている。
【0117】
図16には示されていないが、マイクロコンピュータB300もマイクロコンピュータA200と同様に、入出力インタフェース(I/0)、演算装置、入出力インタフェース(I/0)、メモリ、プログラムを含んでいる。
【0118】
本構成ではマイクロコンピュータA200とマイクロコンピュータB300は分離されているが一つのマイクロコンピュータであっても良い。またこれらは一つの携帯端末ではなく、センサからマイクロコンピュータA200、マイクロコンピュータA200からマイクロコンピュータB300などを無線通信などにしてセンサ部分を携帯し演算は別の部分で行うという形態でも良い。
【0119】
入力装置500から入力された指令はマイクロコンピュータB300を経てマイクロコンピュータA200に伝達され、マイクロコンピュータA200は加速度センサ100および角速度センサ102を用いて、運動に関するデータを計測する。加速度センサ100および角速度センサ102にて取り込まれたデータは、マイクロコンピュータA200のメモリ2008内 に格納される。また、マイクロコンピュータA200は運動が開始、完了したかを計測する。
【0120】
マイクロコンピュータA200によって、運動が完了したと判断されると運動区間を取り出し、上述の処理によって運動軌跡を求める。この処理はマイクロコンピュータA200によって行われる。なお、この処理を演算装置2004に行わせる命令を含むプログラム2010がメモリ2008に収容されている。演算の結果は、マイクロコンピュータB300に送られ、マイクロコンピュータB300内で健康診断を行う。診断結果は表示装置400を介して、ユーザに伝えられる。
【0121】
通信装置600は、ネットワーク800に接続されている。ネットワーク800には、図示されていないホストコンピュータ等が接続され、ログとして診断結果を記憶しても良い。診断結果は記憶装置700に記憶されても良い。
【0122】
(第二の実施形態)
図17を用いて、第二の実施形態について説明する。本実施形態では、第一の実施形態の加速度センサおよび角速度センサに加え、地磁気センサを用いる。
【0123】
地磁気センサは常に磁北を指すため、運動前後で向きが変化する。極点でない限り磁北と重力方向は異なるため、重力方向および磁北方向それぞれから2次元の情報を得ることができる。このようにして得られた4次元の情報から3次元の情報に圧縮する考え方を図17a〜dに示す。実際には各センサは誤差(ノイズ)があるため、図17のように矛盾なく圧縮させることは難しいが、ある程度の誤差を許容するなどの処理をすることで対応できる。また、鉄筋の建屋内などでは地磁気センサは必ずしも磁北を指すとは限らないが、本アルゴリズムでは重力ベクトルと異なるベクトルが得られれば良いだけなので利用することができる。
【0124】
図17aは、運動の前後での重力方向および磁北方向の変化を示す図である。図17bは、上述の第一の実施形態における処理と同様、重力の変化からx軸回りの回転角ψxとz軸回りの回転角ψzを求める図である。次に、図17cのように、運動前の磁北方向を回転角ψxとψzだけ回転する。すると、図17cの結果と、運動後の磁北方向は必ずしも一致しない。そこで、図17dのように、y軸回りに回転角ψyだけ回転させることで、両者を一致させる。
【0125】
このようにして、x軸回りの回転角ψx、y軸回りに回転角ψy、z軸回りの回転角ψzを求
めることができる。
【0126】
(第三の実施形態)
図18〜20を参照して、第三の実施形態について説明する。
本実施形態にしたがう携帯装置10には、カメラが搭載されている。カメラはΔT秒ごとに撮像する。
【0127】
図18に示されているように、カメラで撮影された画像の中に、その点の動きを追跡する特徴点を2点以上定める。特徴点としては、輝度の変化が大きい場所を選ぶことが好ましい。
【0128】
ある時刻t=i×ΔTにおいて、特徴点を含む領域の画素上の座標(x0、y0)の初期位置からの移動距離xとカメラに固有の焦点距離fからカメラの焦点周りの回転角度φ1を求める。より詳細には、回転角度φ1は、
【数24】
から求められる。
【0129】
次に時刻t=i×ΔTにおける画像と時刻t=(i+1)×ΔTにおける画像の特徴点付近の画像データの相関演算をする。相関値が最も高かった位置の座標を(x1、y1)として、時刻t=i×ΔTにおける処理と同様に、回転角度φ2を求める(図20を参照)。
【0130】
回転角度φ1と回転角度φ2の差は、ΔT秒間に特徴点が回転した角度を表す。
このような処理を繰り返すことによって、運動の前後における携帯装置の回転角(φx、φy、φz)を求めることができる。
【0131】
図19A〜Cは、本実施形態による軌跡演算装置で採用される方法において、画像内から2点以上の特徴点を特定し、運動前後の特徴点の変位から3つの軸に関する回転角を算出する例を説明する図である。
【0132】
2つ以上の特徴点の動きを追跡することによって、3つの軸に関する回転角を求める。
なお、動きが大きい場合、運動前後で同一の特徴点をカメラ画像でとらえることはできないが、その場合は運動中数回にわたって特徴点を選択、移動量を検出という操作を繰り返しても良い。
【0133】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得る測定手段と、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得て、前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得るプロセッサと、
を含む軌道演算装置。
(付記2)
前記プロセッサは、前記回転角の3次元表現を用いて前記運動の終点の座標を得て、前記終点の座標を境界条件の一つとして射的法を用いて前記前記被測定物の所定の位置の軌跡を求める、付記1の軌跡演算装置。
(付記3)
前記測定手段が加速度センサおよび角速度センサである、付記1または2の軌跡演算装置。
(付記4)
前記測定手段が、加速度センサおよび地磁気センサである、付記1または2の軌跡演算装置。
(付記5)
前記測定手段は、撮像手段によって得られた画像を解析することによって加速度および角速度を得る、付記1または2の軌跡演算装置。
(付記6)
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算方法であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得ることと、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得ることと、
前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求めることと、
前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得ること、
を含む軌跡演算方法。
(付記7)
さらに、前記回転角の3次元表現を用いて前記運動の終点の座標を得て、前記終点の座標を境界条件の一つとして射的法を用いて前記前記被測定物の所定の位置の軌跡を求めること、を含む付記6の方法。
【符号の説明】
【0134】
100 加速度センサ
102 角速度センサ
200 マイクロコンピュータA
200 マイクロコンピュータB
400 表示装置
500 入力装置
600 通信装置
700 記憶装置
【特許請求の範囲】
【請求項1】
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得る測定手段と、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得て、前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得るプロセッサと、
を含む軌道演算装置。
【請求項2】
前記プロセッサは、前記回転角の3次元表現を用いて前記運動の終点の座標を得て、前記終点の座標を境界条件の一つとして射的法を用いて前記前記被測定物の所定の位置の軌跡を求める、請求項1の軌跡演算装置。
【請求項3】
前記測定手段が加速度センサおよび角速度センサである、請求項1または2の軌跡演算装置。
【請求項4】
前記測定手段が、加速度センサおよび地磁気センサである、請求項1または2の軌跡演算装置。
【請求項5】
前記測定手段は、撮像手段によって得られた画像を解析することによって加速度および角速度を得る、請求項1または2の軌跡演算装置。
【請求項6】
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算方法であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得ることと、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得ることと、
前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求めることと、
前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得ること、
を含む軌跡演算方法。
【請求項1】
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得る測定手段と、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得て、前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得るプロセッサと、
を含む軌道演算装置。
【請求項2】
前記プロセッサは、前記回転角の3次元表現を用いて前記運動の終点の座標を得て、前記終点の座標を境界条件の一つとして射的法を用いて前記前記被測定物の所定の位置の軌跡を求める、請求項1の軌跡演算装置。
【請求項3】
前記測定手段が加速度センサおよび角速度センサである、請求項1または2の軌跡演算装置。
【請求項4】
前記測定手段が、加速度センサおよび地磁気センサである、請求項1または2の軌跡演算装置。
【請求項5】
前記測定手段は、撮像手段によって得られた画像を解析することによって加速度および角速度を得る、請求項1または2の軌跡演算装置。
【請求項6】
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算方法であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得ることと、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の2次元表現を得ることと、
前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求めることと、
前記傾斜の角度の2次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の3次元表現として得ること、
を含む軌跡演算方法。
【図1】
【図2A】
【図2B】
【図2C】
【図3】
【図4】
【図5】
【図7A】
【図7B】
【図7C】
【図8A】
【図8B】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図14A】
【図14B】
【図14C】
【図15】
【図16】
【図17A】
【図17B】
【図17C】
【図17D】
【図20】
【図6A】
【図6B】
【図18】
【図19A】
【図19B】
【図19C】
【図2A】
【図2B】
【図2C】
【図3】
【図4】
【図5】
【図7A】
【図7B】
【図7C】
【図8A】
【図8B】
【図9】
【図10】
【図11】
【図12】
【図13A】
【図13B】
【図14A】
【図14B】
【図14C】
【図15】
【図16】
【図17A】
【図17B】
【図17C】
【図17D】
【図20】
【図6A】
【図6B】
【図18】
【図19A】
【図19B】
【図19C】
【公開番号】特開2013−111407(P2013−111407A)
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願番号】特願2011−263039(P2011−263039)
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成25年6月10日(2013.6.10)
【国際特許分類】
【出願日】平成23年11月30日(2011.11.30)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]