(57)【要約】【課題】モーションキャプチャシステムにおけるセンサの誤差を補正する。【解決手段】加速度センサにより、静止した初期状態で重力方向Ｇ１を検出しておく。このＧ１が示す方向は、前記のようなドリフト現象が生じなければ、常に不変であるはずだが、実際は、座標軸上で加速度センサを取り付けた移動体が移動すると、経時的にドリフト現象により徐々にその方向が変わってきてしまう。そこで、任意の時間が経過した時点で、前記加速度センサを静止させて重力方向を検出し、このときの検出データから判定される真性な重力方向と、ドリフト現象により影響を受けた重力方向Ｇ１とを比較して、両者のずれをドリフト現象による誤差とみなし、その誤差を検出値から減算することで、測定値の誤差を補正する。重力方向と同様に、座標における全ての方向についても同じ誤差があったものとして同様に補正すれば、より正確な動作計測が可能となる。【選択図】図９
2004264060.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも加速度センサを備え、所定座標系における姿勢および／または位置を検出する検出装置において、
前記加速度センサにより、静止した初期状態で重力方向を検出し、検出装置の座標系における移動に伴って初期重力方向も移動させて移動後の重力方向を計算する一方、任意の時間が経過した時点で、前記加速度センサを静止させて重力方向を計測し、このとき計測された静止状態重力方向と、座標系における移動後の重力方向とを比較して、両者のずれを誤差とみなし、その誤差に基づいて座標系での計測値を補正することを特徴とする、姿勢の検出装置における誤差補正方法。
【請求項２】
加速度センサと角速度センサとを有し、これらセンサからの出力値に従って、特定座標系の姿勢および／または位置を計測し、当該各センサを取り付けた移動体の動作を検出する移動体の動作検出装置において、
前記加速度センサにより、静止した初期状態で重力方向を検出し、検出装置の座標系における移動に伴って初期重力方向も移動させて移動後の重力方向を計測する移動後重力方向計測手段と、
任意の時間が経過した時点で、前記加速度センサが静止した状態で重力方向を計測する静止時重力方向計測手段と、
静止時重力方向計測手段で計測された静止状態重力方向とこれまでの移動により移動後重力方向計測手段によって計測された移動後重力方向とを比較して、両者の差分を検出する誤差検出手段と、
この誤差検出手段で得た差分に応じて、移動体の動作や位置を特定すべき計測データを補正する補正手段と、
を備えたことを特徴とする移動体の動作検出装置。
【請求項３】
前記加速度センサは、３軸加速度センサであり、前記角速度センサは、３軸角速度センサであることを特徴とする請求項２記載の動作検出装置。
【請求項４】
加速度センサと角速度センサとを有し、これらセンサからの出力値に従って、特定座標系の姿勢および／または位置を計測し、当該各センサを取り付けた移動体の動作を検出する移動体の動作検出装置を人体に取り付けるにあたって、
人体の肢体へのセンサの取り付け角、人体動作計測の基準となる外部座標系とセンサとの相対的な位置関係を、前記加速度センサから得られる重力方向と基準となる人体の特定姿勢との相対関係から求めることを特徴とする、人体への動作検出装置の取り付け方法。
【請求項５】
３軸加速度センサと３軸角速度センサとを備えた３軸方向の動作計測装置による動作計測方法であり、
移動体を構成するフレームもしくはフレーム相当部位とセンサ座標系の相対的な位置関係を特定して移動体にセンサを装着し、
世界座標系との位置関係のわかっている初期姿勢を取り、装置を初期化し、また、初期姿勢情報に基づくセンサ座標系に対する初期重力方向を加速度センサで求めておき、
回転されたセンサ座標系の方向と角速度センサとフレームとの相対的な位置関係を使って、フレームの方向を求め、原点を始点にして、各フレームの方向と長さから、隣接するフレーム接合部である関節の位置を決め、既に決まった関節位置と、フレームの方向と長さから隣接する関節の位置を決めることで、フレームがどのように動いたかを計測し、同時に、移動体の動作とともに、角速度センサが回転すると、初期重力方向も相対的に回転するので、センサ座標系において初期重力の方向もセンサの回転に伴って回転させることで、重力方向Ｇ１を計算しておき、
移動体が静止したとき、３軸加速度センサで重力方向Ｇ２を計測し、移動後の所定時間経過後の重力方向Ｇ１と、静止時の重力方向Ｇ２とを比較し、その差分から誤差を求め、この誤差情報から、角速度センサのドリフト誤差の時間変化特性に応じて、誤差変化パラメータを求め、誤差変化パラメータに従って、以後の移動体の動作計測データを補正することを特徴とする移動体の動作計測方法。
【請求項６】
磁気方位センサを備え、磁気方位センサで初期の磁気方向を検出し、移動体の移動に伴って、初期の磁気方向も移動させ、その後の任意の時間が経過した時点で磁気方位センサにより磁気方向を計測し、前記した移動後の磁気方向と任意時間経過後の磁気方向との差異から、誤差を測定し、前記加速度センサにより重力方向での誤差計測に併せて、誤差を修正することとを特徴とする請求項１または５記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、いわゆるモーションキャプチャシステムに関し、人やその他の動く物体に付属させたセンサからのデータに基づいて、当該対象の動作を計測するシステムであり、さらには、当該システムに利用する動作検出装置に係り、特に、その検出データの補正方法に特徴を有するものである。
【０００２】
【従来の技術】
人体などの動作を計測する従来技術は、計測対象から離れたところにセンサを設置し計測する方法（遠隔計測による方法）と、計測対象そのものにセンサなどを取り付け、外部からの信号などに頼らずに動作を計測する方法（自律的計測による方法）に分けられる。
【０００３】
遠隔計測による方法はさらに光学画像センサを利用する方法（例えば、特許文献１、特許文献２、特許文献３参照）や、磁気センサを利用する方法などがある。
【０００４】
遠隔計測による方法は、外部に設置されたセンサが有効な空間内でしか計測できないため計測範囲が限定される。また、センサの種類によってはセンサを設置できない空間がある。例えばＬＥＤなどを目印に光学画像センサでトラッキングをする方法は明るい屋外では利用できない。また赤外光などを当て計測対象者に付けられたマーカをトラッキングする方法（例えば、ＶＩＣＯＮ    Ｖｉｃｏｎ  Ｍｏｔｉｏｎ  Ｓｙｓｔｅｍｓ社）でも同様に屋外では利用できない。磁気センサ（例えば、Ｍｏｔｉｏｎ  Ｓｔａｒ    ＡＳＣＥＮＳＩＯＮ社）を利用するケースでは磁気の変動する環境では計測できない。一方、自律的な計測による方法は計測できる範囲には制約がないという長所を有する。計測方法としては、ワイヤの伸び縮みやバーのなす角度の変化、あるいは四肢などに取り付けられたセンサ間の相対距離を測るものなど機械式と呼ばれるものであり（例えば、Ｇｙｐｓｙ    Ｓｐｉｃｅ社）、いずれも関節の角度を計測するという点で共通している。
【０００５】
いずれも関節毎に上記のセンサを取り付ける必要があり、関節の動き自体を制約することが多い。またセンサそのものが大型になるため、外見上の違和感も大きく、屋外での利用には適さない。また角度計測の精度が低く、高精度の動作計測には十分ではない。
【０００６】
ところで、近年、半導体の微細加工技術の進歩によりＭＥＭＳ慣性センサと呼ばれる加速度センサや角速度センサがリーズナブルな価格で入手可能になった。ＭＥＭＳ慣性センサで構成される小型慣性計測装置は、航空機などの姿勢制御などに用いられる従来の慣性航法装置やジャイロと比較して精度的には劣るが、小型、軽量であるという特徴を有している。
【０００７】
したがって、身体に装着して人の姿勢を計測することも不可能でなくなった。しかし、慣性センサの出力から移動距離や方向を算出するには、加速度センサの場合で２回、角速度センサの場合で１回の積分を行う必要がある。そのため、センサの出力にのる電気的なノイズ、重力軸のずれ、温度など周囲の環境の変化に伴う静止出力の変動などに起因するわずかな誤差が時間的に蓄積し、静止している場合においても計測位置のドリフト現象が発生する。このドリフトを補正する方法としては、超音波や磁気、光などの外部の信号を利用するやり方が一般的である。例えば、モーショントラッキング（特許文献４、特許文献５参照）では、身体の向きや位置を検出する装置や人の姿勢をコンピュータ内の仮想空間に再現するヘッドマウントディスプレイ装置を、慣性計測装置の誤差を超音波で補正するシステムで実現している。しかしこのような方法は、結果的に先に述べた遠隔計測による方法同様に空間的な制約が生じる。慣性センサのみで人体の関節角を計測する試みもある（特許文献６参照）が、関節の両端にできるだけ接近させてセンサを装着しなければならないという制約があり、手や足など使用できる箇所が限られたものである。
【０００８】
【特許文献１】
特開２０００−１８２０５８号公報
【特許文献２】
特開２００２−８０４３号公報
【特許文献３】
特開平１０−７４２４９号公報
【特許文献４】
米国特許第６，１７６，８３７号明細書
【特許文献５】
米国特許第６，４７４，１５９号明細書
【特許文献６】
特開平１１−３２５８８１号公報
【０００９】
【発明が解決しようとする課題】
人体の動作を計測することが多くの分野で必要とされている。経営工学では作業員の作業動作を詳細に計測分析することで、作業効率向上を図ろうという例がある。またコンピュータグラフィックスでは、人間の動きをよりリアルに表現するために、人間動作を精度よく計測することが必要となる。医療分野ではリハビリテーションなどの過程で患者の動作がどのように改善されるのかを定量的に把握するために動作の計測を正確に行うことが必要になる。このように人体動作の計測システムは様々の利用が期待されており、すでにいくつかの計測システムが開発されてきている。しかし、計測にあたっては計測対象となる人間の行動を制約せざるをえないシステムが大半である。また計測コストも非常に高いものが少なくない。
【００１０】
本発明は、このようなことを踏まえて、前記ような計測位置のドリフト現象を補正することができ、計測対象となる人間に関して、動作の内容や動作の場所（例えば、屋内に限らず屋外の自由空間）などの制約ができるだけ小さく、かつ効率的な計測ができるシステムを提案する。
【００１１】
【課題を解決するための手段】
加速度センサや角速度センサは、入力加速度や入力角速度がゼロのときの出力電圧を、一般に零点電圧というが、先に述べたように、この零点電圧はセンサの環境温度等の外乱の影響によって変動するため、累積的に誤差が蓄積し、所定の時間が経過すると、本来の実データとは全く異なる状態を示す値のデータを示す結果となってしまう。このようなドリフト現象を補正するため、本発明は、加速度センサがどんな状態でも重力方向を検出できることに着眼した。
【００１２】
すなわち、加速度センサにより、静止した初期状態で重力方向Ｇ１を検出しておく。このＧ１が示す方向は、前記のようなドリフト現象が生じなければ、常に不変であるはずだが、実際は、座標軸上で加速度センサを取り付けた移動体が移動すると、経時的にドリフト現象により徐々にその方向が変わってきてしまう。
【００１３】
そこで、任意の時間が経過した時点で、前記加速度センサを静止させて重力方向を検出し、このときの検出データから判定される真性な重力方向と、ドリフト現象により影響を受けた重力方向Ｇ１とを比較して、両者のずれをドリフト現象による誤差とみなし、その誤差を検出値から減算することで、測定値の誤差を補正する。
【００１４】
このとき、補正の対象となるのは、重力方向だけでなく、座標における全ての方向である。例えば、３軸の角速度センサをさらに備えた場合、その角速度センサにより計測される値も、前記誤差に応じて修正する。すなわち、ＸＹＺの方向において、重力方向がＹであるならば、Ｙ方向の修正に伴い、Ｘ、Ｚ方向も修正する。これは、２次元の座標でも同様である。
【００１５】
本発明の方法は、少なくとも重力方法を検出できる加速度センサを備えた位置検出装置や姿勢検出装置に利用でき、さらに、モーションキャプチャシステム（動作測定装置）に適用可能である。本発明では、加速度センサや角速度センサなどからの出力により、例えば、ベクトル方向を算出し、計測対象の姿勢ひいては座標上の位置を計測し、その動きを最終的に計測することができる。
【００１６】
このような装置では、加速度センサと角速度センサからの出力値に従って、特定座標系の位置や姿勢を計測し、当該各センサを取り付けた移動体の動作を検出するにあたり、コンピュータ上に、前記加速度センサにより、静止した初期状態で重力方向を検出し、装置の座標系における移動に伴って初期重力方向も移動させて移動後の重力方向を計測する移動後重力方向計測手段、任意の時間が経過した時点で、前記加速度センサが静止した状態で重力方向を計測する静止時重力方向計測手段、静止時重力方向計測手段で計測された静止状態重力方向とこれまでの移動により移動後重力方向計測手段によって計測された移動後重力方向とを比較して、両者の差分を検出する誤差検出手段、この誤差検出手段で得た差分に応じて、移動体の動作や位置を特定すべき計測データを補正する補正手段、などが機能実現手段として、プログラムにより実現される。
【００１７】
モーションキャプチャシステムでは、加速度センサ、角速度センサを備えた検出ユニットを備え、この検出ユニットを、計測対象の主要ポイントに取付ける。計測対象が、人体やロボットアームなどのように、関節を中心に回動するアームを有する場合、アームの中間点に取付けておく。
【００１８】
システムは、データを処理するコンピュータを有し、このコンピュータにおいて、予め特定の座標系を設定しておく、座標系は２次元でも３次元でもよいが、人体の動作など現実世界の物体動作を計測するにはやはり３次元座標系であることが好ましい。
【００１９】
予め、座標系上での測定対象の基本姿勢を定義しておき、その定義上にさらに、センサ取付け位置を特定しておく。その位置を基本となる原点として、測定対象の動作に従って得られる位置データの変位を加えていけば、測定対象が基本姿勢からどのように移動したのかがわかる。すなわち動作測定が可能となる。センサからの値に誤差がなければ、動作は正確に測定される。しかし、前記のように温度変化等による出力変動に伴って、ドリフト現象が生じる。例えば、ｘ軸方向を示す出力として、出力０ｖが定義されていたとする。ところが、その後の温度変化により、本来の０であるべき出力が＋２ｖとなってしまったとしよう。すると、本来は＋２ｖの値がｘ軸を示すべきところ、０ｖがｘ軸方向であると定義されているわけであるから、計測データから判断されるｘ軸方向は、本来のｘ軸方向より−２ｖ分ずれてしまうことになる。このようなドリフト現象の積み重ねにより、経時的にみると、測定される動作は、本来の姿から大きく離れてしまう。
【００２０】
そこで、本発明の方法を適用し、そのずれを補正する。
【００２１】
地球上において重力方向は常に一定であるとすれば、静止状態の加速度センサで検出される重力方向は、常に計測したときの値が重力方向を正確に示していることを意味する。すなわち、ある時点で計測した重力方向の加速度センサ出力値がＹ１であり、これを始点として累積演算される所定時間経過後の重力方向Ｙ１’とし、また、所定時間経過した後の静止状態の加速度センサの出力がＹ２であるとした場合、Ｙ１’もＹ２もその時点で本来同一の重力方向を示しているはずである。
【００２２】
してみると、仮に、Ｙ２−Ｙ１’＝ｋ（ｋ≠０）とするならば、センサ出力値にドリフト現象による誤差が生じたことが理解できる。そこで、すべての方向に、このような誤差ｋが生じたものとして、この誤差ｋを考慮して、３軸の全ての方向で誤差ｋを差し引いて、本来の姿に戻す。
【００２３】
なお、本発明で、センサからの出力は、有線でコンピュータに取り込む方式であってもよいが、好ましくは、センサユニットに発信器を設けるとともに、コンピュータ側に受信器を設け、センサ出力を無線にてコンピュータに取り込むようにすることが、測定対象の動作を束縛することなく、好的である。
【００２４】
本発明では、３軸加速度センサと３軸角速度センサとを備えた３軸方向の動作計測装置による移動体の動作計測方法により好適に適用できる。
【００２５】
ここでは、移動体を構成するフレームもしくはフレーム相当部位とセンサ座標系の相対的な位置関係を特定して移動体にセンサを装着し、世界座標系との位置関係のわかっている初期姿勢を取り、装置を初期化し、また、初期姿勢情報に基づくセンサ座標系に対する初期重力方向を加速度センサで求めておき、回転されたセンサ座標系の方向と角速度センサとフレームとの相対的な位置関係を使って、フレームの方向を求め、原点を始点にして、各フレームの方向と長さから、隣接するフレーム接合部である関節の位置を決め、既に決まった関節位置と、フレームの方向と長さから隣接する関節の位置を決めることで、フレームがどのように動いたかを計測し、同時に、移動体の動作とともに、角速度センサが回転すると、初期重力方向も相対的に回転するので、センサ座標系において初期重力の方向もセンサの回転に伴って回転させることで、重力方向Ｇ１を計算しておき、移動体が静止したとき、３軸加速度センサで重力方向Ｇ２を計測し、移動後の所定時間経過後の重力方向Ｇ１と、静止時の重力方向Ｇ２とを比較し、その差分から誤差を求め、この誤差情報から、角速度センサのドリフト誤差の時間変化特性に応じて、誤差変化パラメータを求め、誤差変化パラメータに従って、以後の移動体の動作計測データを補正する。
【００２６】
なお、以上の各方法や装置においてさらに、磁気方位センサを備え、磁気方位センサで初期の磁気方向を検出し、移動体の移動に伴って、初期の磁気方向も移動させ、その後の任意の時間が経過した時点で磁気方位センサにより磁気方向を計測し、前記した移動後の磁気方向と任意時間経過後の磁気方向との差異から、誤差を測定し、前記加速度センサにより重力方向での誤差計測に併せて、誤差を修正するようにすると、より精度が上がる。
【００２７】
ここで、移動体を人体とし、フレームを骨格とすると人体の動作計測を行うことができる。
【００２８】
人体の動作を計測対象とする場合、本発明では、頭部、四肢（左右上腕、左右前腕、左右手背、左右大腿、左右下腿、左右足背）や胴体（背中、腰）などに小型の３軸加速度センサと３軸ヨーレートセンサからなる小型６自由度慣性計測装置を体に装着することで、頭部や四肢、胴体など人体の各部位のなす相対角度を計測し、人体動作を正確に計測・再現する。本方式は自律的な計測の範疇に入り、センサさえ付けておけばどのような環境下でも利用でき、計測空間に制限はない。すなわち屋外、屋内などすべての空間で自由に行動する人間の動作を計測できる。
【００２９】
また、関節毎に取付けるのではなく、頭部や四肢、胴体のそれぞれの部位に一つづつセンサをサポータ等の固定器具で固定するだけで計測できることから、装着するセンサの個数も、関節角計測による方法に比べておさえることができ、また関節動作の自由を制約しない。センサそのものは小型化可能であるため、装着も容易である。
【００３０】
したがって、次のような用途に応用可能である。
１）工場や建設現場で働く作業者の動作解析
作業員の動作を解析して無理や無駄のない動き作業手順や作業環境を構築することにより、生産効率の向上や作業者の身体に無理のかからない安全衛生的標準動作の構築ができる。
２）危険作業に伴う異常検知
原子力発電所、製鉄所の溶鉱炉、ガスタンク内清掃、食品センターの冷蔵庫内作業、炭鉱、トンネル、地下鉄、洞窟探検調査などに関する作業は人命に関わる危険が伴う。よって、異常をできるだけ早く察知し迅速に対応する必要がある。しかし、これらの作業場所は密閉空間であったり、特殊な装備がなければ近づくことができない特殊環境であったり、異常を検知するカメラやセンサなどのインフラが構築不可能或いは使用できない場合が多い。装着型人体動作計測システムにより、人体の動きを計測することで状況把握や異常検知を行うことができる。
３）コンピュータグラフィックス用３次元情報の取得
さまざまな人間の動作をいろいろな環境下で３次元的に計測することができ、関節の動きに対する制約が少ないため、よりリアルな動作をＣＧにより再現できる。また、人体動作入力型のゲーム用にも応用可能である。
４）医療用及びスポーツ用向け３次元データ取得
介護・リハビリテーション・作業（姿勢）の状態を計測し数値化する。患者の動作を計測することにより、治療効果の確認や進展状況を定量的に把握し最適医療を支援するシステム。スポーツ選手やダンサーの３次元的動作解析、テクニック等の向上を支援するシステム。
【００３１】
なお、上記のような加速度センサと角速度センサとを有する動作検出装置を人体に取り付けるにあたっては、人体の肢体へのセンサの取り付け角、人体動作計測の基準となる外部座標系とセンサとの相対的な位置関係を、前記加速度センサから得られる重力方向と基準となる人体の特定姿勢との相対関係から求めるようにすることが人体への動作検出装置の取り付けを容易にする。
【００３２】
【発明の実施の形態】
以下、本発明の実施の形態を添付した図面に基いて説明する。
【００３３】
まず、本実施形態で用いるセンサユニットは、３軸加速度及び３軸角速度の出力を持つ小型６自由度慣性計測装置（以下、６自由度センサボックスという）である。
【００３４】
この６自由度センサボックスは、加速度センサと角速度センサとを組合せたコンバインセンサを３つ用いて構成したものであり、コンバインセンサは、図１に示したように、プリント基板に対し平行方向の加速度Ｇｘを検出する加速度センサと、プリント基板に対し垂直方向の加速度Ｇｚを検知する加速度センサ素子と、ｙ軸周りの角速度を検知する角速度センサ素子１個とをプリント基板上に配置した構成である。
【００３５】
図２に、前記加速度センサを示す。この加速度センサ素子はＶＴＩ社製の半導体容量型で、プリモールド成形でパッケージ化された容量式低加速度センサであり、半導体微細加工技術によりシリコン基板上に加速度によって変位を生じる微小な錘を作製し、移動可能な錘（可動電極）と固定電極とのギャップの変化を静電容量の変化として読み取る静電容量型である。  実施例で示したＶＴＩ社の静電容量型以外でも、シリコンセンシングシステムズ社、アナログデバイス社の静電容量型の素子、日立金属（株）製のピエゾ抵抗型素子などが利用できるが、これらに限定されるものではない。
【００３６】
角速度センサの詳細な構成は、図示しないが、ここでは、ＢＥＩ社製のダブル音叉振動子型クォーツ方式の角速度センサを用いている。角速度センサとしては、振動している物体に加速度が加わると、振動方向に垂直のコリオリ力が発生する現象を利用し圧電セラミックなどの振動子を用いる振動ジャイロなどがある。実施例で示したＢＥＩ社の振動式音叉型のほかにも、音片振動子型（三菱電機、村田製作所）、振動子リング型（シリコンセンシングシステムズ社）などがあり利用できる。
【００３７】
図３は、コンバインセンサの回路で、端子（４）に５Ｖ（４．７５〜５．２５Ｖ）の直流電圧を印加して駆動される。端子（２）は接地され、端子（３）には、１００ｋΩ以上の抵抗が接続され、端子（１）には、２０ｋΩ以上の抵抗が接続されている。そして、端子（３）から、角速度が１００ｋΩ以上の抵抗端子間の電圧値として出力され、端子（１）から、加速度が２０ｋΩ以上の抵抗端子間の電圧値として出力されるようになっている。
【００３８】
図４に、実験に使用した６自由度センサボックスの構成を示す。このセンサボックスは、前記したコンバインセンサ基板３枚を図のように立体的に配置し、互いに直行した３軸角速度および３軸加速度の出力が得られるように構成した。基板（１）からは１軸角速度（ヨー）とｘ軸加速度を、基板（２）からは１軸角速度（ロール）とｙ軸、ｚ軸加速度を、基板（３）からは１軸角速度（ピッチ）を電圧出力として取り出した。各センサからの出力は、ナショナルインスツルメンス社製のＡＤ変換カードＤＡＱＣａｒｄ−６０２４Ｅでノート型ＰＣに取り込んだ。
【００３９】
このように構成した６自由度センサボックスを複数用意し、肢体に取り付ける。図５において、■はセンサボックスの取付け位置を示しており、その位置は、基本的に肢体の関節間であり、Ｙ軸が骨格の各骨の方向に沿うように設置する。
【００４０】
６自由度センサボックスにローカル座標系を設定する。次にそれぞれの方向角を、外部の基準座標系（世界座標）に対して求める。
【００４１】
その際人体の構造は骨格モデルにより表現されるとする（図６）。骨格モデルは、予め、コンピュータ上に骨・関節クラスのオブジェクトを作成し、それらを人体クラスのオブジェクトに登録することで作成される。
【００４２】
そして、６自由度センサボックスのＹ軸方向を骨に沿うように設置する。これにより、６自由度センサボックスからは骨格を構成する各骨の方向角が与えられることになる。
【００４３】
骨の長さをあらかじめ計測しておくことで骨の方向ベクトルが求められる。なお、骨の長さは、関節間の長さで代用する。図７に示したように、さらに計算の起点を任意の節点（関節）上、或いは骨上に決めることで、起点節点から各節点の座標を骨の方向ベクトルを順次足しあわせていくことで求めることができる。図７では、一方の股関節を起点に、ベクトルを求めていく。
【００４４】
ここで以下のような問題点が生じる。
【００４５】
センサと四肢との間の初期取り付け角を正確に求めること、およびセンサと外部の基準座標系との位置関係を正確に求めることが正確な計測には必要である。しかし、センサの計測軸と四肢などの方向との相対角度を直接計測することは容易ではない。
【００４６】
ヨーレートセンサによる角度計測は計測誤差が累積し、時間経過と共に精度が劣化する。これをドリフト誤差というが、計測途中でドリフト誤差を補正する工夫をする必要がある。
【００４７】
そこで、本発明ではそれぞれ以下のような解決策を与えている。
【００４８】
センサの取り付け角などの正確な計測については、３軸加速度センサを利用することで重力方向を検知することができるので、これを利用する。基準となる座標系は重力方向が一つの軸に一致しているので、重力方向からセンサの取り付け角に関する制約条件を得ることができる。
【００４９】
これに加えて重力方向と直角する方向（方向角）を与える必要があるが、これはセンサを装着後、特定の方向に向かって直立する、椅子に座るなど、外部の基準座標系と四肢や胴体の相対的な方向角がわかるような姿勢を取ることで、方向角を決めることができる。同時に四肢や胴体とセンサとの相対的な取り付け角も求めることができる。
【００５０】
さらに、磁気方位センサを組み合わせておなじ手順を行うことでより精度よく推定することができる。
【００５１】
以上と同様に動作の途中に適当な静止姿勢を何種類か入れ、そのたびに３軸加速度センサにより重力方向を検知することで、ドリフト誤差を補正する。
【００５２】
あるいは、３軸加速度センサ・ヨーレートセンサにさらに磁気方位センサを組み合わせておなじ手順を行うことでより精度よく推定することができる。
【００５３】
次に、図８、図９に、本発明による人体の動作計測と、その補正方法について説明する。
【００５４】
図８で、まず、ステップ１で、人体を構成する骨格（骨）とセンサ座標系の相対的な位置関係がわかるように、人体にセンサを装着する。次いで、ステップ２で、世界座標系との位置関係のわかっている初期姿勢を取り、センサを初期化する。この初期姿勢情報は、メモリに格納しておく（ステップ３）。なお、前提として、人体モデルは上記したようにコンピュータ上に予め設定されている。
【００５５】
この初期化が完了した後、ステップ４で計測を開始する。
【００５６】
ここでは、まず、３軸角速度センサから得られる各速度計測値を誤差変化パラメータに基づき補正の上、センサ座標系を回転させる（ステップ５）。計測当初は誤差変化パラメータは０であるから、補正はない。
【００５７】
次いで、回転されたセンサ座標系の方向とセンサと骨との相対的な位置関係を使って、骨の方向を求める（ステップ６）。さらに、ステップ７で、原点を始点にして、各骨の方向と長さから、隣接する関節の位置を決める。そして、ステップ８で、既に決まった関節位置と、骨の方向と長さから隣接する関節の位置を決める。この操作は、全ての関節位置を求め終わるまで繰り返し実行される（ステップ９、１０）。以上により、腕や脚がどのように動いたかが計測される（ステップ１１）。すると、時間ステップが進められ（ステップ１２）、時間ステップが予め特定しておいた計測時間に達すると、計測時間終了となり（ステップ１３）、一連の動作計測が完了する。一方、ステップ１３で、計測時間が終了していないとき、ステップ５に戻り、ステップ５から１２までを繰り返し実行する。
【００５８】
図９に示したフローチャートでは、図８の計測において、経時的に蓄積されるドリフト現象による誤差を補正するための誤差変化パラメータを求める。
【００５９】
ここでは、図８のルーチンの実行中において、メモリに格納してある初期姿勢情報を取り込み、この初期姿勢からセンサ座標系に対する初期重力方向を求めておく（ステップ２１）。人体の動作とともに、センサが回転すると、初期重力方向も相対的に回転するので、センサ座標系において初期重力の方向もセンサの回転に伴って回転させることで、重力方向を計算する（ステップ２２）。この結果得られる所定時間経過後の重力方向は、前記したドリフト現象により、誤差を含む値となっている。
【００６０】
この間、計測中に人体が停止すると、プログラムは、静止状態に入ったことを示す信号を受信する（ステップ３１）。静止状態になったことを示す信号は、例えば、以下のようにして生成される。静止状態になると、センサからの出力信号は、変動のない、あるいはあったとしても、きわめて少ない変動幅となり、そこで、その出力時間が所定時間連続したとき、静止していると判断し、静止状態信号を発する。
【００６１】
静止状態となった場合、３軸加速度センサから重力方向を計測する（ステップ３２）。ここで計測される重力方向は、何らの加工もされていないわけであるから、真性の値で特定される。
【００６２】
そこで、ステップ２２で特定された所定時間経過後の重力方向と、ステップ３２で特定された真性重力方向とを比較し、その差分から誤差を求める（ステップ４１）。
【００６３】
そして、この実際の誤差情報から、角速度センサのドリフト誤差の時間変化特性（例えば、時間に対して線形に誤差が蓄積する）に応じて、誤差変化パラメータ（例えば、時間に対する誤差蓄積速度）を求める（ステップ４２）。
【００６４】
誤差変化パラメータをメモリに格納し（ステップ４３）、図８のステップ５での補正に供する。
【００６５】
図８、図９のルーチンによれば、静止の都度、誤差変化パラメータを求め、計測の都度、その誤差変化パラメータによる計測誤差の補正を行うので、常時誤差が補正されて動作が計測され、より正確な人体動作の測定が可能となる。
＜実施例＞
次に、下半身の動きを計測し、人が椅子に座る動作をコンピュータ上に再現した具体例を示す。
１）実験装置
前記したように、加速度２軸＋ヨーレート１軸からなるコンバインセンサ基板を３枚用い、加速度センサおよびヨーレートセンサが３次元的に互いに直行するように配置した加速度３軸＋ヨーレート３軸の出力が得られるセンサボックスを作製し使用した。各センサからの出力は、ナショナルインスツルメンス社製のＡＤ変換カードＤＡＱＣａｒｄ−６０２４Ｅでノート型ＰＣに取り込んだ。
２）センサボックスの取り付け
５個の小型センサボックスをサポータあるいはマジックテープ（登録商標）を用いて図１０に示す各部（腰、左右大腿、左右下腿）に取り付けた。
【００６６】
なお、図１０で、○はジョイント（関節部分）、■はセンサボックスである。センサボックスは、実際の骨には取り付けられないので、例えば、左右大腿の外側部、左右下腿の外側部など、人体の外面に取り付けた。
３）計測
３軸加速度センサの出力から重力方向を検知することにより、センサボックスの取り付け角および時間的に蓄積するドリフト誤差を補正するため、周期的に直立姿勢で静止するポーズをとった。
【００６７】
まず、（１）直立姿勢で静止初期状態を取る。次に、（２）直立姿勢からひざを曲げて椅子に座る動作を連続して３回繰り返す。再び（３）直立姿勢で約１５秒間静止する。その後（２）、（３）の動作を繰り返し終了した。
４）計算処理とアニメーション化
各センサボックスのヨーレートセンサの出力を積分し、角度に変換したデータを図示す。
【００６８】
それぞれの角度データをもとに計測動作を先のフローチャートに従って処理し、アニメーション化した様子を図１２に示す。図１２において、上段は立った状態、中段は中腰の状態、下段は椅子に座った状態を示す。
【００６９】
以上の例を、さらに詳細に説明する。
【００７０】
まず、軸加速度センサから検出される重力方向とヨーレートセンサから積算される角度との関連について説明する。
【００７１】
図１３にセンサ軸の回転変化の状態を示すが、ここでは、３軸加速度計の軸とヨーレートセンサの軸は正しくキャリブレーションされているものとする。
＜ｔ  ＝  ０      （初期状態のとき）＞
世界座標系（Ｘ，Ｙ，Ｚ）をそれぞれ（α０，β０，γ０）だけ回転させると  ｅｘ０，ｅｙ０，ｅｚ０（センサ座標系）になるとする。つまり、
2004264060.tif 000003
【００７２】
Ｒ（α０，β０，γ０）は回転行列．ここではロール角（α），ピッチ角（β），ヨー角（γ）の順に回すとする．Ｒ（．．．．）を以下の様に定義する。
2004264060.tif 000004
【００７３】
世界座標系上での重力方向は（０，０，−１）となる。これは（式Ｂ）からセンサ座標系上では
2004264060.tif 000005
【００７４】
この時，３軸加速度センサの出力ベクトルを長さ１に正規化しておく。加速度センサ出力ベクトルを
2004264060.tif 000006
【００７５】
例えば，センサ座標系の回転角がロール角しかなく、ピッチ，ヨー角ともにゼロとすると、
2004264060.tif 000007
【００７６】
となり、αを重力ベクトルから求めることが可能であることがわかる。しかし、ヨー角のみの回転とすると
2004264060.tif 000008
【００７７】
となり、γ（ヨー角）は決まらない．これは，ヨー角成分が回転マトリクス
Ｒ−１（α０，β０，γ０）のｚ軸成分にあたる列に含まれないからである。つまり、
2004264060.tif 000009
【００７８】
で表現されるロール角，ピッチ角のみの関数ということになる。
つまり、ヨー角の情報がなく初期値のヨー角は決まらないため、別途決める必要がある。この方法については初期値設定の項で述べる。
＜ｔ＝Δｔだけ時間が経過したとき＞
2004264060.tif 000010
2004264060.tif 000011
【００７９】
以上から、加速度計の出力からα０，β０，Δα，Δβ，Δγはキャリブレーションができることがわかる。ただし、γ０は別途与えなければならない。その方法に関しては初期値設定の項で述べる。
＜誤差補正方法＞
ついで、計測にあたっての初期設定と誤差補正方法について説明する。図１４にスケルトンモデルと世界座標を示すが、初期状態設定は、スケルトンモデルと世界座標との関係においてなされる。初期状態を設定する上では以下の３つのことを仮定する
□各センサは骨格モデルの各「骨」に正しく取り付けられている。
【００８０】
例えば、センサローカル座標系のひとつの軸ベクトルと骨の方向が正しく一致しているただし、一致している以外の２つの軸ベクトルはどちらを向いているかわからない。
【００８１】
□各「骨」の長さは予め計測されている。
【００８２】
□「初期状態」となるある種の姿勢を被験者にとらせることができる。との時、以下のような条件が成立していると考える。
【００８３】
１．    ＧＨ  ／／  ＫＬ  （腰の骨と両足先の骨が平行）
２．    ＧＨ  ／／  ＢＣ  （腰の骨と両足先の骨が平行）
３．    ＢＤＭ（腕），  ＣＦＮ（腕），  ＧＩＫ（足），  ＨＪＬ（足），  ＡＥＱ（背骨）が直線
４．    ＢＣ（肩）  ／／  ＧＨ（腰）  ／／  ＫＬ（足先）  ／／  床
※簡略化のため、両足、両腕、背骨は床に垂直としても良い
以上の仮定から成立する初期状態は次の２つの要件を満たさなければならない。
【００８４】
○第１の要件：  骨格モデル中の全ての「骨」の向き（その骨に取り付けられたセンサの座標系の世界座標に対する向き：図１４）を決定することができる。
【００８５】
○第２の要件：  全ての骨の角度が確定したとき各節点の３次元座標を計算することができる。
【００８６】
第１の要件に関しては、全ての骨の初期ヨー角を決められるようにしなければいけない。
【００８７】
（方法１）  上記の初期姿勢の時に、全ての骨のヨー角を別途計測する。あるいは、ヨー角が決まるような初期姿勢をとる。
（方法２）  第２の要件と組み合わせて決める方法。ただし、部分的にしか使用できない。
第２の要件について。図１５のように骨の傾きしかわからないということは、方向ベクトル（Δｘ，  Δｙ，  Δｚ）しかわからないということである。
【００８８】
しかし、ユーザは各節点、３次元座標値を必要とするため、必ず初期値（座標初期値・各骨の長さ等が必要となる。この初期値を与えるのが初期姿勢である。
ただし、初期値は別々の場所でも与えることができる。
【００８９】
例えば、図１６の積分手順簡略図のように、両足（Ｐ，Ｑ）のついた場所を予め決めておく（積分原点）。Ｐ，Ｑから上に上った腰のところ（Ｇ，Ｈ）で、幾何学的な制約を満たさなければいけない（例えばＧＨ／／ＫＬ、ＧＨ＝４０ｃｍなど）。「骨」のベクトルの向きに順次積分していき、各節点の位置を決めることができる。このときもやはりＧＨ／／ＢＣは必要な条件となる。
【００９０】
さらなる条件付加として、図１７のように手を棒（紐でも可）の上におくことで、手の座標地を足に対して相対的に決めることができる。また、その値を腕部分の初期ヨー角を決める制約条件として使用できる。
【００９１】
＜動作中の補正の方法＞
動作中の補正については、補正法１を主として適用するが、補正法２を補助的な方法として併用することができる。
【００９２】
＜補正法１＞
動作の途中に「静止状態」を入れ、重力方向を参照することで補正が可能となる。）
ｔ＝０の時の回転量（初期回転量）を  （α０，β０，γ０）とする。
【００９３】
ｔ＝０から（Δα１，Δβ１，Δγ１）  回転させた間をｔ＝Δｔとし、
そこからさらに（Δα２，Δβ２，Δγ２）  回転させた時間をｔ＝２Δｔとする。以降この繰り返しである。
【００９４】
2004264060.tif 000012
【００９５】
また、この式を一般化すると、
2004264060.tif 000013
【００９６】
式（１３）にはγ０が含まれないので（付随資料参照），  γ０は重力方向からはキャリブレートできない。
【００９７】
ドリフト項については、ドリフトが時間に比例して積み上がると仮定する。
【００９８】
つまり、ａ（ｔ）＝ａ０＋ａｔの類である。
【００９９】
これをヨーレートに直すと，
2004264060.tif 000014
【０１００】
同様に
2004264060.tif 000015
【０１０１】
式１５より、ドリフト項を含んだ回転角での，重力方向ベクトルの
変化が以下の様に一般化できる．
2004264060.tif 000016
【０１０２】
2004264060.tif 000017
【０１０３】
ただし、γ０はこの方法では決めることはできず、初期値設定により決めなければならない。
＜補正法  ２＞
「静止」している時には、全ての軸周りの（真の）ヨーレート、すなわちヨーレートセンサの出力は  ゼロになる。
【０１０４】
つまり、「静止状態」（おそらく数秒であろう）でのヨーレート出力値は上記のΔＣα，ΔＣβ，ΔＣγに等しくなるはずである。この情報を付加的に利用して補正の精度の向上や、補正結果のチェックを行うことができる。
【０１０５】
【発明の効果】
本発明は、上記のように構成したことで、ドリフト現象による誤差を適宜訂正できるので、より正確な動作測定を行うことができる。
【図面の簡単な説明】
【図１】加速度センサと角速度センサを備えたコンバインセンサを示す図
【図２】加速度センサの回路図
【図３】コンバインセンサからの出力を示す回路図
【図４】６自由度センサボックスと基板の配置を示す図
【図５】センサボックスを取り付ける身体部位を示す図
【図６】センサ座標系と世界座標系の関連付けを示す図
【図７】各節点（関節）の座標の計算方法を示す図
【図８】人体の動作計測手順を示すフローチャート図
【図９】計測データの補正方法を示すフローチャート図
【図１０】センサボックス取り付け箇所とローカル座標・世界座標を示す図
【図１１】角度変換データを示す図
【図１２】下肢の動作アニメーションを示す写真図
【図１３】センサ軸の回転変化を示す図
【図１４】スケルトンモデルと世界座標を示す図
【図１５】骨方向ベクトルを示す図
【図１６】積分手順簡略図
【図１７】付加制約条件図
【図１】
2004264060.tif 000018
【図２】
2004264060.tif 000019
【図３】
2004264060.tif 000020
【図４】
2004264060.tif 000021
【図５】
2004264060.tif 000022
【図６】
2004264060.tif 000023
【図７】
2004264060.tif 000024
【図８】
2004264060.tif 000025
【図９】
2004264060.tif 000026
【図１０】
2004264060.tif 000027
【図１１】
2004264060.tif 000028
【図１２】
2004264060.tif 000029
【図１３】
2004264060.tif 000030
【図１４】
2004264060.tif 000031
【図１５】
2004264060.tif 000032
【図１６】
2004264060.tif 000033
【図１７】
2004264060.tif 000034