(57)【特許請求の範囲】
【請求項１】
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得る測定手段と、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の２次元表現を得て、前記測定手段によって得られる前記運動の期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、前記傾斜の角度の２次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の３次元表現として得るプロセッサと、
を含む軌道演算装置。
【請求項２】
前記プロセッサは、前記回転角の３次元表現を用いて前記運動の終点の座標を得て、前記終点の座標を境界条件の一つとして射的法を用いて前記前記被測定物の所定の位置の軌跡を求める、請求項１の軌跡演算装置。
【請求項３】
前記測定手段が加速度センサおよび角速度センサである、請求項１または２の軌跡演算装置。
【請求項４】
前記測定手段が、加速度センサおよび地磁気センサである、請求項１または２の軌跡演算装置。
【請求項５】
前記測定手段は、撮像手段によって得られた画像を解析することによって角速度を得る、請求項１または２の軌跡演算装置。
【請求項６】
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算方法であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得ることと、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の２次元表現を得ることと、
前記測定手段によって得られる前記運動の期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求めることと、
前記傾斜の角度の２次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の３次元表現として得ること、
を含む軌跡演算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、軌跡演算装置および軌跡演算方法に関する。
【背景技術】
【０００２】
近年の健康ブームに伴い人の体の健康の度合いを計測することが流行している。その方法の一つとして、側屈やひねり運動における左右の運動方向での非対称性や、運動の軌跡の歪みなどを計測しようとするものがある。この方法では、人体上の任意の点の軌跡を演算するものである。そして、このような計測を携帯電話等の携帯装置を用いて実現しようとする際には、携帯装置に内蔵されているセンサ、すなわち慣性センサ、すなわち角速度計と加速度計を用いることで実現する場合がある。原理的には、角速度に関しては一回、加速度に関しては二回積分すれば角度や位置の時系列情報である軌跡を得ることができる。
【０００３】
センサを用いて軌跡を求める方法は慣性航法と呼ばれ、一般には、船や飛行機、宇宙船などで使われている。慣性航法が採用される状況では、一般に、非常に高性能でセンサとしては高価なものを採用することが許される。そのような高性能なセンサは、ドリフトが小さく、分解能の高いものである。
【０００４】
しかし、前述のように人体上の任意の点の軌跡を計測しようとする場合、携帯装置に搭載するセンサはコストの観点から、ドリフトが大きく分解能が高くない安価なセンサが使用されることが多い。このようなセンサの分解能を考えてみると、たとえば±４Ｇが計測できる１０ビットの加速度センサでは、１ビットは７７ｍｍ／ｓ２となる。
【０００５】
船や飛行機や宇宙船に搭載される高性能なセンサは高い分解能を有するとはいえ、ドリフトやノイズ、計測できる最小単位はゼロではない。つまり、長時間にわたり測定を続けると、ドリフトやノイズ、分解能の影響による誤差が現れる。そのため、高性能なセンサを搭載する乗物でも、ＧＰＳ、ビーコン、天体観測など慣性センサ以外のセンサを用いて定期的に補正を行うのが一般的である。
【０００６】
また、携帯装置でも慣性センサ以外のセンサを用いて軌跡を補正することも考えられる。すなわち、携帯装置の外にある適当な目印を観察してセンサの位置および／または姿勢を知ることである。しかし上述したように、人体上の任意の点の軌跡を携帯装置に搭載されるセンサを用いて計測しようとしても、センサの分解能は高くないため、かなりの頻度で補正をしなければ実用的にならないこと、適当な目印を所定の目的のためだけに携帯装置の外に設置することが困難なことなど、実現を妨げる要因がある。
【０００７】
また、３軸加速度センサと３軸角速度センサを組み合わせて、人体等の被測定物の動作解析を行うためのモーションキャプチャであって、測定精度を改良するアルゴリズムを用いて被測定物の位置の測定等を行うモーションキャプチャが知られている。その一例では、３軸角速度センサによって得られる角速度を積分した微小角に基づいて、３軸一括変換を行うことによって、被測定物の加速度を測定するデータ処理工程を含むアルゴリズムが提案されている。
【０００８】
たとえば、３軸加速度センサと３軸角速度センサを組み合わせて、ある離散時間ｎにおいて、被測定物の３軸加速度（Ｇｘｎ、Ｇｙｎ、Ｇｚｎ）と３軸角速度（ωｘｎ、ωｙｎ、ωｚｎ）が測定されるとする。これらのデータから、被測定物がその座標系内で運動する大地に固定された基準座標系の加速度（ＡＸｎ、ＡＹｎ、ＡＺｎ）を、
【数１】
0005870656.tif 000002
によって算出する。（Ｇｘ０、Ｇｙ０、Ｇｚ０）は、測定開始時における基準座標上での重力加速度である。ここで、Δｔを測定の間隔であるサンプリング時間として、
【数２】
0005870656.tif 000003
または、
【数３】
0005870656.tif 000004
である。この基準座標系の加速度に基づいて、被測定物の位置データを算出する。
【０００９】
健康を目的とする運動における人体上の任意の点の軌跡を携帯装置に搭載するセンサを用いて計測する際には、船や飛行機などに適用される慣性航法とは異なる、二つの特徴が存在する。
【００１０】
一つはリアルタイム性を必要としないことである。船や飛行機などに適用される慣性航法では時々刻々変化するその時点での位置姿勢を求めなくてはいけない。しかし、人体上の任意の点の軌跡を求めるには、一連の体操を行った後、今の動きがどのような軌跡を描いたのか知ることができれば良い。
【００１１】
もう一つは、ある程度誤差が許容されることである。健康の度合いの計測で重要なのは、左右対称な運動なら左右のバランスや移動中の本来の軌跡からのずれの量であり、ずれの具体的な角度や距離、何度であるとか何ｍｍ移動したか、という数値自体はあまり重要視されない。
【００１２】
このような点を考慮すると、上のような３軸一括変換をする工程を含む方法では、計算量が多くなる可能性がある。
リアルタイム性を必要とせず、ある程度の誤差が許容されるような軌跡演算に適用可能なアルゴリズムとして、射的法またはシューティングメソッドと呼ばれる方法が知られている。この方法は、あらかじめ始点と終点が分かっている運動に対して途中経路がどのようなものであったかを算出するために好適である。あらかじめ始点と終点が分かっている運動には、例えば往復運動なら始点と終点の位置姿勢が等しい運動が含まれ、健康のための運動にはこのカテゴリに含まれるものが多い。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開平７−２３９２３６号公報
【特許文献２】特開２００１−２４２１９２号公報
【特許文献３】国際公開ＷＯ２００８／０２６３５７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
健康のための体操は、体を前後に動かす前屈や側面に倒す側屈など往復運動であり、素朴には、射的法が適用可能であるように見える。しかし現実的には健康のための体操を往復運動として扱うと、運動時間が長すぎるために、正確な計測ができないという問題があった。
【００１５】
老若男女を問わない様々なユーザを対象としたサービスを考えると、あまり激しい体操をさせることができない。そのため運動は往と復を合わせて６秒くらいである。実際に人体上の任意の点の軌跡を計測に使用され得る、±４Ｇが計測できる１０ビットの一般的な加速度センサの分解能が７７ｍｍ／ｓ２であることを考慮すると、６秒間に１．４ｍ以下で動くような運動は検出することができない。体操での人体上の点の移動距離は、せいぜい数十ｃｍ程度である。このような運動の軌跡を射的法を用いて求めようとしても、困難である。片道の３秒であれば、距離の分解能、すなわちそれ以下であると検出不能となる距離は３５ｃｍ程度となり、距離の分解能に関しては、たとえば±４Ｇが計測できる１０ビットの加速度センサを用いて軌跡を求めることが可能な距離となる。
【００１６】
しかしながら、片道運動では終点を画定できず、射的法のアルゴリズムの適用が難しくなるという問題があった。
また、たとえば、±４Ｇが計測できる１０ビット程度の一般的な加速度センサの分解能では、体操などの運動に伴う人体上の点の軌跡を射的法を用いて求めようとしても、困難であるという問題があった。
【００１７】
本発明の目的は、分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法により求めることである。
【課題を解決するための手段】
【００１８】
本発明の実施形態にしたがう軌跡演算装置は、被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得る測定手段と、前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の２次元表現を得て、前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、前記傾斜の角度の２次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の３次元表現として得るプロセッサと、を含むことを特徴とする。
【発明の効果】
【００１９】
分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法により求めることができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施形態による軌跡演算装置が適用される状況を示す図である。
【図２Ａ】本発明の実施形態による軌跡演算装置が搭載される人体上の点の実際の軌道を示す図である。
【図２Ｂ】実際の軌道に対して縮尺された軌道を示す図である。
【図２Ｃ】実際の軌道に対して歪みのある軌道を示す図である。
【図３】加速度センサによって得られた加速度を積分して位置を求めようとする際、積分誤差が発散する様子を示す図である。
【図４】本発明の実施形態による軌跡演算装置で採用される射的法の概略を示す図である。
【図５】本発明の第一の実施形態による軌跡演算装置が搭載される人体に固定されたｘｙｚ座標系を示す図である。
【図６Ａ】本発明の第一の実施形態による軌跡演算装置が搭載される人体のモデルとしての人体リンクモデルを示す図である。
【図６Ｂ】本発明の第一の実施形態による軌跡演算装置が搭載される人体のモデルとしての人体リンクモデルを示す図である。
【図７Ａ】本発明の第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としての前屈運動を示す図である。
【図７Ｂ】本発明の第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としての側屈運動を示す図である。
【図７Ｃ】本発明の第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としてのひねり運動を示す図である。
【図８Ａ】本発明の第一の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をグローバル座標において示す図である。
【図８Ｂ】本発明の第一の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をローカル座標において示す図である。
【図９】本発明の第一の実施形態による軌跡演算装置で採用される方法において、２次元情報を３次元情報に展開する必要性を説明する図である。
【図１０】本発明の第一の実施形態による軌跡演算装置で採用される方法において、回転角の３次元表示を得る処理のフローチャートである。
【図１１】本発明の第一の実施形態による軌跡演算装置で採用される方法において、図１０に示されている処理の回転角算出処理を示すフローチャートである。
【図１２】本発明の第一の実施形態による軌跡演算装置で採用される方法において、人体の座標系と携帯装置の座標系を一致させる初期補正法について説明する図である。
【図１３Ａ】本発明の第一の実施形態による軌跡演算装置で採用される方法において、運動の主軸に直交するベクトルＫを示す図である。
【図１３Ｂ】本発明の第一の実施形態による軌跡演算装置で採用される方法において、Ｌ１とＬ２を示す図である。
【図１４Ａ】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャートである。
【図１４Ｂ】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャートである。
【図１４Ｃ】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャートである。
【図１５】本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理における終端位置の算出処理を説明する図である。
【図１６】本発明の第一の実施形態による軌跡演算装置の構成図である。
【図１７Ａ】本発明の第二の実施形態による軌跡演算装置で採用される方法において、運動による重力と地磁気の変化を示す図である。
【図１７Ｂ】本発明の第二の実施形態による軌跡演算装置で採用される方法において、重力の変化からｘ軸回りの回転角ψｘとｚ軸回りの回転角ψｚを算出する処理を説明する図である。
【図１７Ｃ】本発明の第二の実施形態による軌跡演算装置で採用される方法において、地磁気に対して、ｘ軸回りの回転とｚ軸回りの回転を施す処理を説明する図である。
【図１７Ｄ】本発明の第二の実施形態による軌跡演算装置で採用される方法において、運動後の地磁気の方向に一致するような重力方向に関する回転角ψｙを算出する処理を説明する図である。
【図１８】本発明の第三の実施形態による軌跡演算装置で採用される方法において、人体が置かれる空間の特徴点を説明する図である。
【図１９Ａ】本発明の第三の実施形態による軌跡演算装置で採用される方法において、画像内から２点以上の特徴点を特定し、運動前後の特徴点の変位から３つの軸に関する回転角を算出する例を説明する図である。
【図１９Ｂ】本発明の第三の実施形態による軌跡演算装置で採用される方法において、画像内から２点以上の特徴点を特定し、運動前後の特徴点の変位から３つの軸に関する回転角を算出する例を説明する図である。
【図１９Ｃ】本発明の第三の実施形態による軌跡演算装置で採用される方法において、画像内から２点以上の特徴点を特定し、運動前後の特徴点の変位から３つの軸に関する回転角を算出する例を説明する図である。
【図２０】画像から計測した角度φから実際に運動した角度ψを算出する処理を説明する図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施形態について、図面を参照しながら説明をする。尚、図中で類似の部分または類似の機能を果たす部分については、同一または類似の参照符号を付与して重複した説明を省略する。
【００２２】
＜射的法の概略＞
図１は、本発明の実施形態による軌跡演算装置が適用される状況を示す図である。本発明では、所定の運動（体操）を行う間の軌跡を計測する人体密着型の軌跡演算装置において、加速度センサを用いて運動前後の重力方向を求めて回転角の２次元表現を得て、その値を、角速度センサより得られた体操の主回転軸に直交する軸を無視することによって３軸への配分を決定することで、射的法に用いる終端角度を得てセンサのドリフトをキャンセルして積分値を補正する方法およびそれを用いる装置が提供される。
【００２３】
図１に示されているように、本発明の実施形態による軌跡演算装置（以下では、携帯装置とも呼ぶことがある）１０は、たとえば人体などの軟体である被測定物に搭載され、被測定物の運動の軌道を求めることを目的とする装置である。以下では、運動とは、主に健康のための運動を例に本発明の実施形態による軌跡演算方法および装置を説明するが、実施形態による方法および装置の適用範囲は健康のための運動には限定されない。
【００２４】
図１中の点Ｐ１は、往復運動を含む体操の往路の終点である。一般に、この点では人体の動きは一旦停止する。つまり、もし軌跡演算装置１０が角速度センサを含む場合、その角速度センサによって測定される角速度は、点Ｐ１では０となる。これは、図１に示されているような人体の体操に伴う軌跡演算装置１０の動きを、何らかの数値積分法を用いて求める際の境界条件の一つを与え得る。
【００２５】
図２ａ〜２ｃはそれぞれ、本発明の実施形態による軌跡演算装置が搭載される人体上の点の実際の軌道、実際の軌道に対して縮尺された軌道、および実際の軌道に対して歪みのある軌道を示す図である。
【００２６】
携帯装置に搭載されるセンサを用いて、健康のための運動における人体上の任意の点の軌跡の計測では、
（１）リアルタイム性を必要としない、
（２）ある程度誤差が許容される、
という特徴がある。軌跡演算装置に搭載するセンサとしては、たとえば±４Ｇが計測できる１０ビットの加速度センサを用いることができる。±４Ｇが計測できる１０ビットの加速度センサでの１ビットは７７ｍｍ／ｓ２となる。
【００２７】
人体の健康の度合いを判定するためには、側屈やひねり運動における左右の運動方向での非対称性や、運動の軌跡の歪みなどが求まればよく、慣性航法が適用される状況のように、リアルタイム性が要求されない。つまり、一連の運動を行った後、その運動において人体上の任意の点がどのような軌跡を描いたのか知ることができれば良い。
【００２８】
また、健康の度合いの計測で重要なのは、左右対称な運動なら左右のバランスや移動中の本来の軌跡からのずれの量であり、ずれの具体的な角度や距離、何度であるとか何ｍｍ移動したか、という数値自体はあまり重要視されない。すなわち算出される軌跡は、図２に示されているように、実際の軌道に対して拡大や縮小、歪みがあってもかまわない。
【００２９】
原理的に慣性センサの情報から軌跡を得るためには、角速度センサによって得られる結果を含むセンサ情報であれば１回、加速度センサからのセンサ情報であれば２回積分すればよい。しかし、これらのセンサ情報は、
（１）ドリフトによってゼロ点に対しオフセットがある
（２）分解能以下の角速度や加速度を検出できない
（３）加速度センサは重力加速度を検出する
といった事情から、実際はそのまま積分すると値が発散してしまうことがある。
【００３０】
図３は、加速度センサによって得られた加速度を積分して位置を求めようとする際、積分誤差が発散する様子を示す図である。
図３に示されているように、加速度センサによって得られる加速度の時間変化から位置の変化を求めようとすると、時間に関して２回ほど積分する必要がある。そのため、センサの出力に含まれている電気的なノイズ、重力軸のずれ、温度など環境の変化に伴う静止出力の変動などに起因するわずかな誤差が時間に関する積分をするたびに蓄積し、位置の値が発散する場合がある。また、静止している場合にも、センサのドリフト現象が発生し、ドリフト現象によるオフセットは、位置の値が発散する原因の一つとなる。
【００３１】
よって、適当な補正処理を行い、積分値が発散しなくなるようにしなければならない。補正方法には大きく二通りの方法がある。
一つ目はあらかじめ分かっている動き（通常は静止状態）のセンサ値を用いてオフセットや重力加速度の大きさや向きを求め、積分時にその分を考慮して計算する方法である。この手法は積分する時点で補正をかけるため、リアルタイムに積分結果を利用することができる。このため航空機やロボットなどの分野ではよく利用されている。しかし、計測前や計測中に一定時間、既知の動き、たとえば静止状態にとどまることを必要とする。これは航空機やロボットなど特定の分野では許容されるが、健康の度合いの計測しようとする際には、許容されにくい。
【００３２】
もう一つは射的法またはシューティングメソッドと呼ばれる方法である。これはあらかじめ始点と終点が分かっている運動に対して途中経路がどのようなものであったかを算出するものである。あらかじめ始点と終点が分かっている運動には、例えば往復運動なら始点と終点の位置姿勢が等しい運動が含まれる。
【００３３】
射的法は始点と終点が決定している必要がある（実際は選択が適切であれば必ずしも始点と終点でなくてもかまわない)。このため適用対象として最適なものは往復運動である。往復運動では始点と終点が等しいため、始点および終点を原点にするなど適切に定めることができるためである。
【００３４】
図４は、本発明の実施形態による軌跡演算装置で採用される射的法の概略を示す図である。射的法（または、シューティングメソッド、シューティング法）は、微分方程式の境界値問題を解く方法の一つである。この方法では、条件が明示的に与えられた境界を始点として、与えられた境界条件以外の初期値を適当に仮定して微分方程式を積分して行き、別の境界の条件を満たすまで、仮定した初期値を修正する方法である。
【００３５】
図４を参照しながら、射的法の概要を説明する。
図４ａは、運動区間の抽出を行う様子を示している。時刻ｔ＝０から時刻ｔ＝Ｔ＝ｎΔｔ（ｎは正整数、Δｔは時間間隔）の間のセンサ信号（センサ出力）の時系列情報を速度情報として抽出する様子を示している。また時刻ｔ＝Ｔにおける境界条件として、このときの位置の値はＹであることが分かっているとする。
【００３６】
次に、図４ｂに示されているように、時刻ｔ＝０における位置の値はｘ０と決められている。この値を初期値として、センサ出力を時間積分して、位置の値の時系列データを得る。多くの場合、この積分の結果としての時刻ｔ＝Ｔの値は、上述のような様々な原因によって、本来の値であるＹとは異なる値であるＺとなる。ＹとＺの差が誤差である。
【００３７】
次に、図４ｃに示されているように、ＹとＺの誤差を補償するために、速度情報、すなわちセンサ信号の時系列情報に一定値Ｖ０を加えて修正された速度情報を得る。Ｖ０の符号は値Ｙと値Ｚの大小関係から決められても良い。
【００３８】
そして、図４ｄに示されているように、修正された速度情報を時間積分して、新たな位置の値の時系列データを得る。図４ｂおよび図４ｃに示されている処理を一度行っただけでは、時刻ｔ＝Ｔでの境界条件が所定の誤差の範囲内で満たさない場合、図４ｂおよび図４ｃに示されている処理を繰り返す。この処理の結果、時刻ｔ＝０における位置の値をｘ０、時刻ｔ＝Ｔにおける位置の値がＹとなる位置の時系列情報ｘｔ（ｔ＝０〜Ｔ）を得る。この位置の時系列情報ｘｔが軌跡に他ならない。
【００３９】
図４ａ〜４ｄでは、センサとして速度センサを用い、一回の積分で軌跡を得ている。速度センサでなく加速度センサを使う場合、時間に関する積分を二回行う。すなわちまずｔ＝０とＴにおける速度を定め、加速度センサから得た加速度の時系列情報に対し図４ｂ〜４ｄの処理を行い速度の時系列情報を得る。次にその速度の時系列情報に対して図４ａ〜４ｄの処理を行う。
【００４０】
体操は体を前後に動かす前屈や側面に倒す側屈など往復運動であり、一見簡単に射的法を適用できそうに見える。一般的な±４Ｇが計測できる１０ビットの加速度センサの分解能が７７ｍｍ／ｓ２であることを考慮すると、６秒間に１．４ｍ以下で動くような運動は検出することができない。体操での人体上の点の移動距離は、せいぜい数十ｃｍ程度である。このような運動の軌跡を射的法を用いて求めようとしても、困難である。
【００４１】
以下では、上記のようなセンサを用いても、射的法による軌跡の算出に利用可能な、所定の往復運動を含む体操の往路区間における終点の座標の値を得る方法およびそれを用いる装置について述べる。そのような方法および装置では、安価なセンサを用いつつも、射的法を用いて前屈、側屈、ひねりなどの体操のような往復運動を含む体操の軌跡を射的法により求めることである。
【００４２】
（第一の実施形態）
図５〜１５を参照して、本発明の第一の実施形態について説明する。本実施形態では、上の射的法を、携帯装置に搭載するセンサを用いて人体上の任意の点の軌跡を求めることができる。
【００４３】
図５は、本発明の実施形態による軌跡演算装置が搭載される人体に固定されたｘｙｚ座標系を示す図である。
本実施形態では、人体に左手系直交座標系を固定する。原点を人体の股関節あたりに取り、ｘ軸と左手方向に、ｙ軸を頭頂方向に、ｚ軸を前方方向に取る。
【００４４】
図６ａ〜６ｂは、本発明の第一の実施形態による軌跡演算装置が搭載される人体のモデルとしての人体リンクモデルを示す図である。
センサを含む携帯装置１０は、図６ａのように携帯装置が搭載される人体に固定された直交座標系の原点付近に装着される。より詳細には、図６ｂのように、携帯装置は、座標（０、ｈ、ｄ）に配置している。携帯装置１０には大きさがある。「携帯装置が位置（０、ｈ、ｄ）にある」と言った時、点（０、ｈ、ｄ）には、携帯装置の任意の点が配置され、たとえば、携帯装置の重心位置が配置されても良いし、携帯装置の表面上の一点が配置されても良い。
【００４５】
また、図６ｂに示されているように、ｘ軸回りの回転をφｘ、ｙ軸回りの回転をφｙ、ｚ軸回りの回転をφｚで表す。
以下では、座標または回転角の表記に（ｘ、ｙ、ｚ）と（φｘ、φｙ、φｚ）、または（ｘ、ｙ、ｚ）Ｔと（φｘ、φｙ、φｚ）Ｔ（記号“Ｔ”は行列またはベクトルの転置を表す。）を用い、ときとしてこれらの区別をせずに記載する。すなわち、たとえば（ｘ、ｙ、ｚ）と記載されていても、数学的演算の際には、（ｘ、ｙ、ｚ）Ｔと理解しないと演算が成立しない場合がある。そのような場合には、数学的演算が可能である表記であると理解する。
【００４６】
第一の実施形態では、携帯装置１０が装着された人体の運動の軌跡を、常微分方程式の数値積分法の一つである射的法を用いて得る。特に、第一の実施形態では、分解能が必ずしも高くない安価なセンサを用いつつも、射的法に用いる終端角度を得てセンサのドリフトをキャンセルし、積分値を補正する方法およびそれを用いる装置が提供される。携帯装置１０の構成は、後に図１６を参照しながら説明する。
【００４７】
図７ａ〜ｃはそれぞれ、第一の実施形態による軌跡演算装置が搭載される人体が行う運動の例としての体を前方向に倒す前屈運動、横方向に倒す側屈運動、人体を貫く軸に関してひねるひねり運動を示す図である。健康診断はそれぞれ主要な運動方向にどれだけ動いたかとともに、主要回転軸に直交する一つの軸の動きを使って行う。直交軸は前屈の場合よじれ、側屈の場合前後のブレ、ひねりの場合左右のブレである。
【００４８】
図７ａに示されているように、前屈運動では、ｘ軸回りの回転が主な動きであり、その次にｙ軸回りの運動があっても良い。つまり、ｘ軸回りの回転は、体をどれだけ体を前方に傾けたかを表す。したがって、前屈運動におけるｘ軸回りの回転角の大きさは、人の体の健康の度合いの一つを与える。一方、ｙ軸回りの回転は前屈運動の際にどれだけ体をよじったかを表す。一般には、体を直立させた状態から、前方に体を傾けるだけならば、体をよじる必要はない。よって、前屈運動でｙ軸回りの回転が測定されるということは、体の左右の対称性が破れている可能性があり、人の体の健康の度合いの一つを与える。
【００４９】
図７ｂに示されているように、側屈運動では、ｚ軸回りの回転が主な動きであり、その次にｘ軸回りの運動を注目する動きとしも良い。ｚ軸回りの回転は、直立した姿勢から真横に体を倒す運動を表す。したがって、側屈運動におけるｚ軸回りの回転角の大きさは、人の体の健康の度合いの一つを与える。体が左右対称であれば、ｚ軸回りの回転角の正の方向（体を直立させたときの回転角を０としたとき、回転角が正の値となる方向）と負の方向（回転角が負の値となる方向）の最大値がほぼ一致する。すなわち、側屈運動でのｚ軸回りの回転角の正負の最大値の絶対値の差は、人の体の健康の度合いの一つを与える。
【００５０】
また、図７ｂに示されているように、側屈運動では、ｚ軸回りの回転が主な動きであり、ｚ軸回りの回転の次にｘ軸回りの回転を注目する動きとしも良い。側屈運動は、体を真横に傾ける運動であるので、本来的には、体の前後の運動はない。つまり、側屈運動でのｘ軸回りの回転角の有無およびある場合の回転角の大きさは、人の体の健康の度合いの一つを与える。
【００５１】
また、図７ｃに示されているように、ひねり運動では、ｙ軸回りの回転が主な動きであり、ｙ軸回りの回転の次にｚ軸回りの回転を注目する動きとしも良い。つまり、ひねり運動におけるｙ軸回りの回転角の大きさは、人の体の健康の度合いの一つを与える。また、側屈運動でのｚ軸回りの回転角の正負の最大値の絶対値の差は、人の体の健康の度合いの一つを与える。
【００５２】
以上のことをまとめると表１のようになる。
【表１】
0005870656.tif 000005
【００５３】
次に、図８〜９を参照して、本発明の実施形態にしたがって、射的法を用いて軌跡演算装置が搭載される人体が運動を行ったとき、軌道演算装置の軌跡を求める際に、二次元情報を三次元情報に展開する必要性があることを説明する。
【００５４】
図８ａは、本発明の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をグローバル座標において示す図、図８ｂは、本発明の実施形態による軌跡演算装置を加速度センサとして用いたときの運動の前後の傾斜の様子をローカル座標において示す図である。ここで、グローバル座標とは、軌跡演算装置が搭載される人体が置かれている空間に固定された座標であり、グローバル座標系では、軌跡演算装置１０自体も移動する。グローバル座標は絶対座標と呼ぶこともある。ローカル座標とは、軌跡演算装置１０に固定された座標である。
【００５５】
図９は、本発明の第一の実施形態による軌跡演算装置で採用される方法において、２次元情報を３次元情報に展開する必要性を説明する図である。
センサを装備した携帯装置１０の一面を図６ａのように胸骨を押さえつけて運動した場合、前屈運動や側屈運動など重力に対して傾く運動を行うと、人体に装着された携帯装置の加速度センサは運動によって移動し、運動に伴って生じる加速度（遠心力も含む）と重力方向の変化を検出する。往復運動の往路終了時点で体の動きが止まっていると考えると、加速度センサは重力方向のみをとらえた傾斜計として機能する。しかし、図８ｂに示されているように、姿勢の終点がピッチ、ロール、ヨーなどと表現できる３種類の角度が必要なのに対し、傾斜計として加速度センサを使った時に得られる角度は２種類だけである。図８ｂでは、ｘ軸、ｚ軸、ｙ軸の順に回転させる規則を採用しているので、２つの角度としてｘ軸回りの回転角ψｘとｚ軸回りの回転角ψｚによって重力方向の変化を表現している。
【００５６】
このため、図９に示されているように、２次元の情報を３次元、すなわち３つの回転角に配分しなければならない。図６ｂに示されているように、加速度センサ、または加速度センサを含む携帯装置１０が装着された人体の運動は、ｘ軸回りの回転をφｘ、ｙ軸回りの回転をφｙ、ｚ軸回りの回転をφｚで表される。一方、図８ｂに示されているように、人体に装着された携帯装置の加速度センサ（または加速度センサ）における重力方向の変化は、ｘ軸回りの回転角ψｘとｚ軸回りの回転角ψｚによって表される。すなわち、（ψｘ、ψｚ）を（φｘ、φｙ、φｚ）に分配する必要がある。この分配方法は無数にあるが、３軸のうち一つの軸は回転しないと考え、残りの２軸に重力方向の変化から得た二次元情報を射影させる方法が一番シンプルである。ただし、この方法では、３つの軸のうちどの２軸に投影するか、つまり、どの軸には射影しないのか、を決定する必要がある。ここで、射影しない１つの軸は、その軸の回りの回転を無視するということを意味する。
【００５７】
その射影しない１つの軸として、運動の種類に関わらず、携帯装置１０が搭載される人体の体幹を貫くグローバル座標でのｙ軸を採用することも考えられる。しかしながら、上の表１に示したように、運動によって主たる運動の動きの軸が異なるため、運動の種類に関わらずグローバル座標でのｙ軸を射影しない１つの軸として採用することは難しい。そこで、運動ごとに、その運動における回転を射影しない軸を決定する必要がある。
【００５８】
そのために、携帯装置１０を含む健康診断装置（図１６）から、携帯装置１０の利用者、つまり体操をする人に、前屈運動、側屈運動、またはひねり運動など運動の種類を指示し、その指示に基づいて無視する軸を決定しても良い。たとえば、前屈運動、側屈運動、ひねり運動に対してはそれぞれ、ｚ軸、ｙ軸、ｘ軸を無視するようにしても良い。
【００５９】
＜回転角の算出＞
以下では、図１１〜１２を参照して、運動の前後における携帯装置の回転角（φｘ、φｙ、φｚ）の算出について説明する。以下では、加速度センサで重力方向の時系列データ（ａｘｉ、ａｙｉ、ａｚｉ）および角速度の時系列データ（ｒｘｉ、ｒｙｉ、ｒｚｉ）を測定する。ここでｉは整数であり、離散的な時刻を示すインデックスである。また、運動期間はｉ＝０〜ｎで表される期間であるとする。微小時間をΔＴ秒とすれば、運動期間はｔ＝０〜Ｔ＝ｎΔＴ秒となる。ここではｉを整数として離散的な時刻を示すインデックスとしたが、連続的な時刻ｔ＝０〜Ｔを示しても良い。
【００６０】
図１０は、本発明の第一の実施形態による軌跡演算装置で採用される方法において、回転角の３次元表示を得る処理のフローチャートである。
図１０に示されている処理では、まず運動の主軸を求める。次に、主軸の方向を示すベクトルに行列、
【数４】
0005870656.tif 000006
を掛けた軸Ｋに関する回転を無視することによって、（ψｘ、ψｚ）を（φｘ、φｙ、φｚ）に分配する。このような処理は、主軸と直交する方向に関する回転を無視することを意味する。このようにして運動期間中の回転角（φｘ、φｙ、φｚ）を求めることができれば、携帯装置１０の運動前の座標（０、ｈ、ｄ）に、回転行列Ｒを作用させるにことによって、運動後の位置（図１のＰ１）の座標を得ることができる。
【００６１】
また、運動期間の角速度の大きさの時系列データから主軸を検出し、運動が前屈運動、側屈運動、ひねり運動のいずれの運動なのかを判定し、表１の関係から直交軸を決定しても良い。
回転角を測定する前に、図６ｂに示されているように、人体の座標系と携帯端末１０の持つ座標系を一致させる必要があることである。
【００６２】
図１２は、人体の座標系と携帯装置の座標系を一致させる初期補正法について説明する図である。図１２において、Ｘ軸、Ｙ軸、Ｚ軸で張られる座標系は人体に固定された座標系、ｘ軸、ｙ軸、ｚ軸で張られる座標系は携帯装置１０に固定された座標系である。
【００６３】
もし、携帯端末１０が加速度センサを含んでおり、加速度センサを傾斜計と扱えば、携帯端末１０がどのような傾きで体に装着しているか知ることができる。一般に、重力方向からは（ψｘ、ψｚ）の２つの角度（図１２の角度１および角度２）に関する情報しか得られないため、人体の座標系と携帯端末１０の持つ座標系の２つの座標系を一致させるのに必要な回転量を一意に決めることができない。しかし図６ｂのように端末の一面を胸骨に当てているため、胸骨に当てた端末面の法線（仮にｚ軸とする）は人の矢上面（ＹＺ平面）上にあると考えられる。そのため回転の際には、Ｘ軸回り、Ｚ軸回り、Ｙ軸回りの順で回転させるという約束を採用すれば、Ｙ軸回りの回転のズレは無視して、２つの座標系を一致させるような回転量を計算することができる。
【００６４】
図１０のフローチャートで示されている処理において、求めるべき終点は全部で３つある。姿勢の終点Ｒｎ、速度の終点Ｖｎ、および位置の終点Ｐｎである。ここで、サブスクリプトは離散時間のインデックスである。このうち一番重要視されるのは姿勢の終点Ｒｎである。なぜならば、求める軌跡は、位置の軌跡データＰｉと姿勢の軌跡データＲｎ（ｉ＝０、１、２、…、ｎ）で構成される。
【００６５】
ステップＳ１００では、加速度センサで重力方向の時系列データ（ａｘｉ、ａｙｉ、ａｚｉ）および角速度の時系列データ（ｒｘｉ、ｒｙｉ、ｒｚｉ）を測定する。ここでｉは整数であり、離散的な時刻を示すインデックスである。また、運動期間はｉ＝０〜ｎで表される期間であるとする。
【００６６】
ステップＳ１０２では、運動前と運動後の重力方向（ａｘ０、ａｙ０、ａｚ０）および（ａｘｎ、ａｙｎ、ａｚｎ）からｘ軸回りの回転角ψｘとｚ軸回りの回転角ψｚを求める。
【００６７】
次のステップＳ１０４では、回転角算出処理を行う。この処理は図１１のフローチャートに示されている。
回転角算出処理が始まると、まず、ステップＳ２００で測定された角速度（ｒｘｉ、ｒｙｉ、ｒｚｉ）を時間に関して積分して、運動期間中の角度変化ρ＝（ρｘ、ρｙ、ρｚ）を求める：
【数５】
0005870656.tif 000007
【００６８】
次に、ステップＳ２０２で運動の主軸と直行する軸Ｋを求める。運動の主軸は、ステップＳ２００で求めた角度変化ρ＝（ρｘ、ρｙ、ρｚ）で表される軸である。軸Ｋの方向を示すベクトル（Ｋｘ、Ｋｙ、Ｋｚ）は次式から求められる：
【数６】
0005870656.tif 000008
この軸Ｋは、図１３Ａに示されているように、角度変化ρ＝（ρｘ、ρｙ、ρｚ）と直交する。
【００６９】
次に、ステップＳ２０４では、ステップＳ２０２で求められた軸Ｋの回りの回転を無視したときの回転行列Ｒを、次式を用いて求める。
【数７】
0005870656.tif 000009
ここで、角度ｒｘ、ｒｚは、（Ｋｘ、Ｋｙ、Ｋｚ）を用いて、
【数８】
0005870656.tif 000010
と表される角度である。図１３Ｂに、角度ｒｘ、ｒｚと、ベクトルＫ、長さＬ１、Ｌ２の関係が示されている。
【００７０】
次のステップＳ２０６では、ステップ２０４で求められた回転行列Ｒを（ψｘ、ψｚ）に施すことによって、回転角（φｘ、φｙ、φｚ）が得られる。すなわち、
【数９】
0005870656.tif 000011
である。
【００７１】
このようにして、運動の主軸に直交する方向に関する回転を無視することによって、２つの回転角（ψｘ、ψｚ）を３つの回転角（φｘ、φｙ、φｚ）に分配することができる。
【００７２】
また、±４Ｇが計測できる１０ビット程度のセンサなど分解能が高くないセンサを用いて、健康のための体操のように所定の往復運動を含む体操の軌跡を射的法によって求めるために用いられる往路区間における終点を得ることができる。
【００７３】
＜射的法を用いた軌跡演算＞
以下では、図１４〜１５を参照して、射的法を用いた軌跡演算処理について説明する。図１４は、本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理のフローチャート、図１５は本発明の第一の実施形態による軌跡演算装置で採用される射的法を用いた軌跡演算方法の処理における終端位置の算出処理を説明する図である。
【００７４】
まず、Ｓ３００〜Ｓ３１６で、運動の往路の終点（図１の点Ｐ１）の座標を求める。
Ｓ３００では、加速度センサおよび角速度センサの読みの時系列データを取得する。各測定タイミングにおいて、加速度センサの読みは（ａｘ、ａｙ、ａｚ）、角速度センサの読みは（ｒｘ、ｒｙ、ｒｚ）と表される。ａｘ、ａｙ、ａｚはそれぞれ、ｘ軸まわり、ｙ軸回り、ｚ軸回りの信号から得られる値である。
【００７５】
Ｓ３０２では、Ｓ３００で得られた加速度センサおよび角速度センサの読みから、運動区間を取り出す。その値を計算機システムで読み取るとなると読み取る間隔（サンプリング間隔）で離散化される。その間隔をΔＴとする。計算機システムは加速度センサおよび角速度センサを監視し運動が行われたか否かを判別し、運動が行われたと判断されると、その間の加速度や角速度をそれぞれ、配列（ａｘｉ、ａｙｉ、ａｚｉ）、（ｒｘｉ、ｒｙｉ、ｒｚｉ）に保存する。ここは運動開始時の加速度、角速度をａ０、ｒ０、運動開始後ｔ＝ｉ×ΔＴ秒後の加速度や角速度をとａｉ、ｒｉ、運動終了時（ｎΔＴ秒後）の加速度、角速度をａｎ、ｒｎとする。
【００７６】
次の目標は、時刻ｔにおけるローカル座標から見たセンサ値ａｔ、ｒｔが、絶対座標系で見るとどのような値になっているかを求めるための回転行列Ｒｔの列を得ることである。Ｒｉの列を得る方法はＲ０＝Ｉｄ（恒等行列）として、順次角速度センサの値を積分していけばよい。しかし、単なる積分値は不正確なため、時刻ｔ＝Ｔ（＝ｎΔＴ）時の回転行列Ｒｎを、運動前後の重力方向の変化を用いて計算し、Ｒｎがその値にあうように射的法を適用させる必要がある。
【００７７】
そのため、まずは運動前後の重力方向の変化から、姿勢の変化を示す回転行列Ｑ２を求める処理を行う（図１５を参照）。ここで計算を簡便化するためＱ２は運動開始前の座標系から運動終了後の座標系への回転行列とする。一方Ｒｉは時刻ｔ＝ｉ×ΔＴ時点での座標系から絶対座標系への変換行列とする。運動開始前の座標系は任意に取ることができるため、それを絶対座標系と一致させておけば、Ｒｉは運動開始前のローカル座標系から時刻ｔ＝ｉ×ΔＴのローカル座標系への変換行列と考えることができる。すなわちＱ２・Ｒｎ＝Ｉｄという関係が成り立つ。
【００７８】
運動開始時の携帯装置１０のローカル座標系は絶対座標系と一致しない。そのずれはａ０の成分となって現れる。そこでステップＳ３０４でａ０をピッチとロールの２つの角度に変換する。すなわち、図１５に示されているように、ａ０を携帯装置１０に固定された座標系（Σ座標系）でのピッチ角ｐ０、ロール角ｒ０の２つの角度で表示する。
【００７９】
次のステップＳ３０６では、ピッチ角ｐ０、ロール角ｒ０の２つの角度から回転行列Ｑ０を得る。このＱ０は運動開始前のローカル座標系のセンサ値を絶対座標系に変換するものである。この絶対座標系は、ｙ軸と重力方向が重なり、かつ ｙｚ平面が運動開始前のローカル座標系のｙｚ平面と一致する座標系である。
【００８０】
ステップＳ３０８では、得られたＱ０に運動終了時点での加速度ａｎをかけると、絶対座標系から見た運動後の重力方向ｑ０が得られる。
【数１０】
0005870656.tif 000012
【００８１】
次のステップＳ３１０では、ｑ０から、絶対座標（すなわち、ｙ軸と重力方向（加速度センサの運動前の読みをａ０とすると−ａ０方向）が重なり、かつ ｙｚ平面が運動開始前のローカル座標系のｙｚ平面と一致する座標系）での、ピッチ角ｐ０、ロール角ｒ０のそれぞれの表現ｐ１、ｒ１を求める。運動開始前はｙ軸と一致していた重力方向が運動終了後にｑ０に変化する回転は、ピッチ、ロール、ヨーの３つの軸を組み合わせると無限個の組み合わせがある。しかし仮にヨー軸が変化しないと考えると一意に決まるため、それらの値ｐ１、ｒ１を得る。なお、ここではヨー軸が変化しないと考えたが、これは別に他の軸でもかまわない。
【００８２】
次のステップＳ３１２では、ステップＳ３１０で求めたｐ１、ｒ１に回転行列Ｑ０−１をかけることで, 運動開始前から後へのローカル座標を基準とした角度の変化（ｐ２、ｙ２、ｒ２）を求める。
【００８３】
ステップＳ３１４で、（ｐ２、ｙ２、ｒ２）を回転行列Ｑ２の形に変形する（図１５を参照）。
ステップＳ３１６では、ステップＳ３１４で求められた回転行列Ｑ２を携帯装置１０の運動前の座標（０、ｈ、ｄ）に、回転行列Ｑ２を作用させるにことによって、運動後の位置（図１の点Ｐ１）の座標Ｘｚを
【数１１】
0005870656.tif 000013
から得ることができる。
【００８４】
次に、ステップＳ３１８〜Ｓ３４０で姿勢軌道の算出を行う。ここでの目標は、時刻ｔ＝ｉ×ΔＴ（ｉ＝０〜ｎ）におけるローカル座標から絶対座標への変換行列Ｒｉ（ｉ＝０〜ｎ）を得ることである。
【００８５】
まずステップＳ３１８で、計算機のメモリ空間上に回転行列Ｒｉ（ｉ＝０〜ｎ）の領域を用意し (一般的には構造体の配列にするであろう)、単位行列Ｉｄを代入し、回転行列Ｒｉを初期化する。
【００８６】
次に、ステップＳ３２０で、射的法における角速度センサのオフセット値も初期化する。すなわち、ｏ＝（０、０、０）とする。
ステップＳ３２２〜Ｓ３３２では、回転行列Ｒｉを積分する処理である。
ステップＳ３２２では、ループカウンタｉを１とする。
【００８７】
ステップＳ３２４では、時刻ΔＴ毎に角速度センサの値にオフセット値を足すことで、補正されたローカル座標から見た角速度値に変形し、それに回転行列Ｒｉをかけることで絶対座標系から見た角速度値ｏ１に変形する。すなわち、ｉ＝１〜ｎに対して、
【数１２】
0005870656.tif 000014
である。ｉ＝０に対しては、ｏ１はセンサの読みの値である。
【００８８】
ところで、回転行列Ｒｉはローカル座標から絶対座標への変換行列であるが、見方を変えると絶対座標系から見たローカル座標のｘ、ｙ、ｚ軸の向きを示す単位ベクトルを並べた行列と見ることもできる。すなわちｘ軸を示すベクトルをＷｘ＝（ｗｘｘ、ｗｘｙ、ｗｘｚ）とし、同様に ｙ軸、ｚ軸を示すベクトルもそれぞれ、Ｗｙ、Ｗｚとすると、Ｒｉ＝（ＷｘＴ、ＷｙＴ、ＷｚＴ）と書ける。たとえば、軸Ｌ（軸Ｌを示すベクトルもＬと書く）の回りに角速度ｌで回転したときの微小変異量は、Ｌ×ｌ（ここで×は外積を表すとする）と書くことができる。
【００８９】
ステップＳ３２６では、この考え方を用いて回転行列の微小変異量ｄＲを、
【数１３】
0005870656.tif 000015
から求める。ｄＲを詳細に書けば、ｄＲ＝（（Ｗｘ×ｏ１）Ｔ、（Ｗｙ×ｏ１）Ｔ、（Ｗｚ×ｏ１）Ｔ）となる。
【００９０】
ステップＳ３２８では、ステップＳ３２６で求められた微小変異量ｄＲを時間について積分し、回転行列Ｒｉを
【数１４】
0005870656.tif 000016
から求める。
【００９１】
ステップＳ３３０では、ループカウンタｉの値を更新する。つまり、ループカウンタｉの値を１だけインクリメントする。
ステップ３３２では、ループカウンタｉの値がｎより大きいか否かを判定する。もし、この判定の結果がＹｅｓ、すなわち、ループカウンタｉの値がｎより大きければ、処理はステップＳ３３４に進む。もし、この判定の結果がＮｏ、すなわち、ループカウンタｉの値がｎより大きくなければ、処理はステップＳ３２４に戻る。
【００９２】
もし、ステップ３３２での判定の結果がＹｅｓであれば、時刻ｔ＝Ｔにおける回転行列Ｒｎが求められている。このＲｎは運動終了の座標系を絶対座標系に変換する回転行列である。一方、先に求めたＱ２は絶対座標系を運動終了時の座標系に変換するものである。そのためＱ２とＲｎの積ＲＲは理想的には単位行列Ｉｄになるはずである。
【００９３】
ステップＳ３３４では、Ｑ２とＲｎの積ＲＲを計算する。実際にはセンサのドリフト等によりＲＲは単位行列にはならず、積分値の誤差、つまり重力の変化から得られた運動前後の姿勢の変化Ｑ２とセンサを積分して得られた姿勢の変化の間にずれが現れる。
【００９４】
射的法ではＲＲが単位行列になるような角速度センサのオフセットｏ１を求めたい。ＲＲは姿勢のずれ、誤差を示しているため、姿勢変化ＲＲから回転ベクトルｏ２とその変化量θを求め、θが発生しないようなオフセット値ｏ１を求めればよい。
【００９５】
ステップＳ３３６では、回転ベクトルｏ２とその変化量θを求める。具体的には、
【数１５】
0005870656.tif 000017
とすると、
【数１６】
0005870656.tif 000018
から求められる。
【００９６】
ステップＳ３３８では、ステップＳ３３６で求められた変化量θが十分に小さいか否かを判定する。もし、この判定の結果がＹｅｓ、すなわち、変化量θが十分に小さければ、処理はステップＳ３４２に進む。もし、この判定の結果がＮｏ、すなわち、変化量θが十分に小さくなければ、ステップＳ３４２に進む。
【００９７】
ステップＳ３４２では、オフセットの値ｏ１を更新する。具体的には、
【数１７】
0005870656.tif 000019
と更新する。そして、ステップＳ３２２に戻る。
【００９８】
なお本例ではθが十分小さいかどうかを大きなループ脱出の判断基準としたが、ステップＳ３２２〜Ｓ３３２を繰り返す回数（ループ回数）を予め決めて処理を行っても良い。ループ回数は、たとえば３回であっても良いが、３回に限定はされず、任意の数で良い。
【００９９】
次に、ステップＳ３４２〜Ｓ３５８で速度軌跡の算出を行う。ここでの目標は、時刻ｔ＝ｉ×ΔＴ（ｉ＝０〜ｎ）における速度の時系列データＶｉ＝（Ｖｘｉ、Ｖｙｉ、Ｖｚｉ）（ｉ＝０〜ｎ）を加速度センサのデータの時系列（ａｘｉ、ａｙｉ、ａｚｉ）から得ることである。
【０１００】
ステップＳ３４４で、射的法における速度のオフセット値ｏも初期化する。すなわち、ｏ＝（０、０、０）とする。
ステップＳ３４６では、ループカウンタｉを１とする。
【０１０１】
ステップＳ３４８では、時刻ΔＴ毎に加速度センサの値にオフセット量を足し、Ｒｉをかけることで、その時点での絶対座標系上での加速度ｏ１に変形する。すなわち、ｉ＝１〜ｎに対して、
【数１８】
0005870656.tif 000020
である。ｉ＝０に対しては、ｏ１はセンサの読みの値である。
【０１０２】
ステップＳ３５０では、ステップＳ３４８で求められた微小変異量ｏ１を時間について積分し、速度Ｖｉを
【数１９】
0005870656.tif 000021
から求める。
【０１０３】
ステップＳ３５２では、ループカウンタｉの値を更新する。つまり、ループカウンタｉの値を１だけインクリメントする。
ステップ３５４では、ループカウンタｉの値がｎより大きいか否かを判定する。もし、この判定の結果がＹｅｓ、すなわち、ループカウンタｉの値がｎより大きければ、処理はステップＳ３５６に進む。もし、この判定の結果がＮｏ、すなわち、ループカウンタｉの値がｎより大きくなければ、処理はステップＳ３４６に戻る。
【０１０４】
もし、ステップ３５４での判定の結果がＹｅｓであれば、時刻ｔ＝Ｔにおける速度Ｖｎが求められている。速度Ｖｎは、運動完了時の速度を示している。
ここで、運動は静止状態から開始し静止状態で終了したと想定しているため、速度Ｖｎは理想的には零ベクトルでなければならない。
【０１０５】
ステップＳ３５６にて速度Ｖｎが零ベクトルとみなせるかどうかを判定する。もし、この判定の結果がＹｅｓ、すなわち、速度Ｖｎが零ベクトルとみなせるならば、処理はステップＳ３６０に進む。もし、この判定の結果がＮｏ、すなわち、速度Ｖｎが零ベクトルとみなせなければ、処理はステップＳ３５８に進む。
【０１０６】
ステップＳ３５８では、オフセット値ｏの値を更新する。具体的には、
【数２０】
0005870656.tif 000022
と更新する。そして、ステップＳ３４８に戻る。
【０１０７】
なお本例では速度Ｖｎが十分小さいかどうかを大きなループ脱出の判断基準としたが、ステップＳ３４６〜Ｓ３５２を繰り返す回数（ループ回数）を予め決めて処理を行っても良い。ループ回数は、たとえば３回であっても良いが、３回に限定はされず、任意の数で良い。
【０１０８】
次のステップＳ３６０〜Ｓ３６６では、位置の時系列データＸｉ＝（Ｘｘｉ、Ｘｙｉ、Ｘｚｉ）（ｉ＝０〜ｎ）を求める。それには、微小変異量ｏ１として、
【数２１】
0005870656.tif 000023
とし、微小変異量ｏ１を時間に関して積分する。すなわち、
【数２２】
0005870656.tif 000024
を計算する。
【０１０９】
次のステップＳ３６２では、ＸＸ＝Ｘｎ−Ｘｚを計算し、次のステップ３６４ではＸＸが十分に小さいか否かを判定する。もし、この判定の結果がＹｅｓ、すなわち、ＸＸが十分に小さいとみなせるならば、処理は終了する。もし、この判定の結果がＮｏ、すなわち、ＸＸが十分に小さいとみなせないならば、処理はステップＳ３６６に進む。
【０１１０】
ステップＳ３６６では、オフセット値ｏの値を更新する。具体的には、
【数２３】
0005870656.tif 000025
と更新する。そして、ステップＳ３６０に戻る。
【０１１１】
このように、所定の運動（体操）を行う間の軌跡を計測する人体密着型の軌跡演算装置において、加速度センサを用いて運動前後の重力方向を求めて回転角の２次元表現を得て、その値を、角速度センサより得られた体操の主回転軸に直交する軸を無視することによって３軸への配分を決定することで、射的法に用いる終端角度を得てセンサのドリフトをキャンセルして積分値を補正することができる。
【０１１２】
＜軌跡演算装置の構成図＞
図１６は、本発明の第一の実施形態による軌跡演算装置１０を含む健康診断装置の構成図である。
【０１１３】
軌跡演算装置１０は、加速度センサ１００、角速度センサ１０２、マイクロコンピュータＡ２００を含む。軌跡演算装置１０は、マイクロコンピュータＢ３００、表示装置４００、入力装置５００、通信装置６００、記憶装置７００に接続され、これら全体で健康診断装置を形成する。マイクロコンピュータＡ２００とマイクロコンピュータＢ３００は、同一の構成を有していても良い。
【０１１４】
軌跡演算装置１０とマイクロコンピュータＢ３００は有線または無線によって電気的に接続されていても良いし、マイクロコンピュータＡ２００とマイクロコンピュータＢ３００の間のデータの通信は、ＵＳＢメモリなどを介した手動によるものであっても良い。
【０１１５】
加速度センサ１００および角速度センサ１０２は、重力方向の時系列データ（ａｘｉ、ａｙｉ、ａｚｉ）および角速度の時系列データ（ｒｘｉ、ｒｙｉ、ｒｚｉ）を測定する。加速度センサ１００および角速度センサ１０２は、上記処理のステップＳ３００を行う。
【０１１６】
マイクロコンピュータＡ２００は、入出力インタフェース（Ｉ／０）２００２、演算装置２００４、入出力インタフェース（Ｉ／０）２００４、メモリ２００８、プログラム２０１０を含んでいる。マイクとコンピュータＡ２００は、運動の期間中の加速度センサ１００によって得られる加速度の変化から運動の前後の被測定物の所定の位置の傾斜の角度の２次元表現を得て、角速度センサ１０２によって得られる運動期間中の角速度から、運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、傾斜の角度の２次元表現に前記回転行列を作用させることによって運動の前後での前記姿勢の変化を回転角の３次元表現として得るプロセッサとして機能する。つまり、マイクロコンピュータＡ２００は、上記ステップＳ１００〜１０４、およびＳ３０２〜３６６の処理を行うように構成されている。
【０１１７】
図１６には示されていないが、マイクロコンピュータＢ３００もマイクロコンピュータＡ２００と同様に、入出力インタフェース（Ｉ／０）、演算装置、入出力インタフェース（Ｉ／０）、メモリ、プログラムを含んでいる。
【０１１８】
本構成ではマイクロコンピュータＡ２００とマイクロコンピュータＢ３００は分離されているが一つのマイクロコンピュータであっても良い。またこれらは一つの携帯端末ではなく、センサからマイクロコンピュータＡ２００、マイクロコンピュータＡ２００からマイクロコンピュータＢ３００などを無線通信などにしてセンサ部分を携帯し演算は別の部分で行うという形態でも良い。
【０１１９】
入力装置５００から入力された指令はマイクロコンピュータＢ３００を経てマイクロコンピュータＡ２００に伝達され、マイクロコンピュータＡ２００は加速度センサ１００および角速度センサ１０２を用いて、運動に関するデータを計測する。加速度センサ１００および角速度センサ１０２にて取り込まれたデータは、マイクロコンピュータＡ２００のメモリ２００８内 に格納される。また、マイクロコンピュータＡ２００は運動が開始、完了したかを計測する。
【０１２０】
マイクロコンピュータＡ２００によって、運動が完了したと判断されると運動区間を取り出し、上述の処理によって運動軌跡を求める。この処理はマイクロコンピュータＡ２００によって行われる。なお、この処理を演算装置２００４に行わせる命令を含むプログラム２０１０がメモリ２００８に収容されている。演算の結果は、マイクロコンピュータＢ３００に送られ、マイクロコンピュータＢ３００内で健康診断を行う。診断結果は表示装置４００を介して、ユーザに伝えられる。
【０１２１】
通信装置６００は、ネットワーク８００に接続されている。ネットワーク８００には、図示されていないホストコンピュータ等が接続され、ログとして診断結果を記憶しても良い。診断結果は記憶装置７００に記憶されても良い。
【０１２２】
（第二の実施形態）
図１７を用いて、第二の実施形態について説明する。本実施形態では、第一の実施形態の加速度センサおよび角速度センサに加え、地磁気センサを用いる。
【０１２３】
地磁気センサは常に磁北を指すため、運動前後で向きが変化する。極点でない限り磁北と重力方向は異なるため、重力方向および磁北方向それぞれから２次元の情報を得ることができる。このようにして得られた４次元の情報から３次元の情報に圧縮する考え方を図１７ａ〜ｄに示す。実際には各センサは誤差（ノイズ）があるため、図１７のように矛盾なく圧縮させることは難しいが、ある程度の誤差を許容するなどの処理をすることで対応できる。また、鉄筋の建屋内などでは地磁気センサは必ずしも磁北を指すとは限らないが、本アルゴリズムでは重力ベクトルと異なるベクトルが得られれば良いだけなので利用することができる。
【０１２４】
図１７ａは、運動の前後での重力方向および磁北方向の変化を示す図である。図１７ｂは、上述の第一の実施形態における処理と同様、重力の変化からｘ軸回りの回転角ψｘとｚ軸回りの回転角ψｚを求める図である。次に、図１７ｃのように、運動前の磁北方向を回転角ψｘとψｚだけ回転する。すると、図１７ｃの結果と、運動後の磁北方向は必ずしも一致しない。そこで、図１７ｄのように、ｙ軸回りに回転角ψｙだけ回転させることで、両者を一致させる。
【０１２５】
このようにして、ｘ軸回りの回転角ψｘ、ｙ軸回りに回転角ψｙ、ｚ軸回りの回転角ψｚを求
めることができる。
【０１２６】
（第三の実施形態）
図１８〜２０を参照して、第三の実施形態について説明する。
本実施形態にしたがう携帯装置１０には、カメラが搭載されている。カメラはΔＴ秒ごとに撮像する。
【０１２７】
図１８に示されているように、カメラで撮影された画像の中に、その点の動きを追跡する特徴点を２点以上定める。特徴点としては、輝度の変化が大きい場所を選ぶことが好ましい。
【０１２８】
ある時刻ｔ＝ｉ×ΔＴにおいて、特徴点を含む領域の画素上の座標（ｘ０、ｙ０）の初期位置からの移動距離ｘとカメラに固有の焦点距離ｆからカメラの焦点周りの回転角度φ１を求める。より詳細には、回転角度φ１は、
【数２４】
0005870656.tif 000026
から求められる。
【０１２９】
次に時刻ｔ＝ｉ×ΔＴにおける画像と時刻ｔ＝（ｉ＋１）×ΔＴにおける画像の特徴点付近の画像データの相関演算をする。相関値が最も高かった位置の座標を（ｘ１、ｙ１）として、時刻ｔ＝ｉ×ΔＴにおける処理と同様に、回転角度φ２を求める（図２０を参照）。
【０１３０】
回転角度φ１と回転角度φ２の差は、ΔＴ秒間に特徴点が回転した角度を表す。
このような処理を繰り返すことによって、運動の前後における携帯装置の回転角（φｘ、φｙ、φｚ）を求めることができる。
【０１３１】
図１９Ａ〜Ｃは、本実施形態による軌跡演算装置で採用される方法において、画像内から２点以上の特徴点を特定し、運動前後の特徴点の変位から３つの軸に関する回転角を算出する例を説明する図である。
【０１３２】
２つ以上の特徴点の動きを追跡することによって、３つの軸に関する回転角を求める。
なお、動きが大きい場合、運動前後で同一の特徴点をカメラ画像でとらえることはできないが、その場合は運動中数回にわたって特徴点を選択、移動量を検出という操作を繰り返しても良い。
【０１３３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
（付記１）
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算装置であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得る測定手段と、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の２次元表現を得て、前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求め、前記傾斜の角度の２次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の３次元表現として得るプロセッサと、
を含む軌道演算装置。
（付記２）
前記プロセッサは、前記回転角の３次元表現を用いて前記運動の終点の座標を得て、前記終点の座標を境界条件の一つとして射的法を用いて前記前記被測定物の所定の位置の軌跡を求める、付記１の軌跡演算装置。
（付記３）
前記測定手段が加速度センサおよび角速度センサである、付記１または２の軌跡演算装置。
（付記４）
前記測定手段が、加速度センサおよび地磁気センサである、付記１または２の軌跡演算装置。
（付記５）
前記測定手段は、撮像手段によって得られた画像を解析することによって加速度および角速度を得る、付記１または２の軌跡演算装置。
（付記６）
被測定物の回転によって表される運動の前後での姿勢の変化を求める軌道演算方法であって、
前記運動の期間中の前記被測定物の所定の位置の加速度および角速度を得ることと、
前記運動の期間中の前記測定手段によって得られる加速度の変化から前記運動の前後の前記被測定物の所定の位置の傾斜の角度の２次元表現を得ることと、
前記測定手段によって得られる前記運動期間中の角速度から、前記運動で最も回転角の大きい主軸に直交する軸に関する回転を無視したときの回転行列を求めることと、
前記傾斜の角度の２次元表現に前記回転行列を作用させることによって前記運動の前後での前記姿勢の変化を回転角の３次元表現として得ること、
を含む軌跡演算方法。
（付記７）
さらに、前記回転角の３次元表現を用いて前記運動の終点の座標を得て、前記終点の座標を境界条件の一つとして射的法を用いて前記前記被測定物の所定の位置の軌跡を求めること、を含む付記６の方法。
【符号の説明】
【０１３４】
１００  加速度センサ
１０２  角速度センサ
２００  マイクロコンピュータＡ
２００  マイクロコンピュータＢ
４００  表示装置
５００  入力装置
６００  通信装置
７００  記憶装置
【図１】
0005870656.tif 000027
【図２Ａ】
0005870656.tif 000028
【図２Ｂ】
0005870656.tif 000029
【図２Ｃ】
0005870656.tif 000030
【図３】
0005870656.tif 000031
【図４】
0005870656.tif 000032
【図５】
0005870656.tif 000033
【図７Ａ】
0005870656.tif 000034
【図７Ｂ】
0005870656.tif 000035
【図７Ｃ】
0005870656.tif 000036
【図８Ａ】
0005870656.tif 000037
【図８Ｂ】
0005870656.tif 000038
【図９】
0005870656.tif 000039
【図１０】
0005870656.tif 000040
【図１１】
0005870656.tif 000041
【図１２】
0005870656.tif 000042
【図１３Ａ】
0005870656.tif 000043
【図１３Ｂ】
0005870656.tif 000044
【図１４Ａ】
0005870656.tif 000045
【図１４Ｂ】
0005870656.tif 000046
【図１４Ｃ】
0005870656.tif 000047
【図１５】
0005870656.tif 000048
【図１６】
0005870656.tif 000049
【図１７Ａ】
0005870656.tif 000050
【図１７Ｂ】
0005870656.tif 000051
【図１７Ｃ】
0005870656.tif 000052
【図１７Ｄ】
0005870656.tif 000053
【図２０】
0005870656.tif 000054
【図６Ａ】
0005870656.tif 000055
【図６Ｂ】
0005870656.tif 000056
【図１８】
0005870656.tif 000057
【図１９Ａ】
0005870656.tif 000058
【図１９Ｂ】
0005870656.tif 000059
【図１９Ｃ】
0005870656.tif 000060