(57)【要約】【課題】測定対象のリンク機構に装着するセンサの個数を減らしても当該リンク機構の動作状態を推測することができるようにする。【解決手段】動作推測装置は、センサ１１と、センサ位置座標算出部２１と座標推測値記憶部２２とを備えた装着部移動先算出部１３と、センサ１１ならびに各シャフト等の位置等に基づいて各関節からセンサ装着部までのアームベクトルを算出するアームベクトル算出部１４と、アームベクトルと各シャフト等の位置等に基づいて各関節の角度を算出する関節角度算出部１５と、各関節の角度等に基づいてセンサ位置座標を算出して、センサ位置座標算出部２１で算出されたセンサ位置座標と比較して、算出された角度の適否を判定する推測結果判定部１６と、各シャフト等の初期状態におけるセンサの出力を記憶するキャリブレーション部１２と、を有する。【選択図】図１
2016206081.tif 000002
【特許請求の範囲】
【請求項１】
第１のシャフトと、前記第１のシャフトを回転支持する第１の関節と、前記第１のシャフトで前記第１の関節から所定の距離離れた位置に配置された第２の関節と、前記第２の関節によって前記第１のシャフトに対して回転支持された第２のシャフトと、を備えたリンク機構の動作状態を推測する動作推測装置であって、
前記第２のシャフト上で前記第２の関節から所定の距離離れた位置のセンサ装着部に固定されて当該センサ装着部の３次元的な位置および向きを計測するセンサと、
前記センサの出力に基づいてセンサ位置座標を算出するセンサ位置座標算出部と、前記センサ位置座標算出部で算出されたセンサ位置座標およびそのセンサ位置座標に基づいて推定された前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度を記憶する座標推測値記憶部と、を備えた装着部移動先算出部と、
前記座標推測値記憶部に記憶された前記センサ位置座標と、前記第１および第２のシャフトの位置および姿勢と、前記第１および第２の関節の位置および角度とに基づいて、前記第１の関節から前記センサ装着部までの第１のアームベクトルおよび前記第２の関節から前記センサ装着部までの第２のアームベクトルを算出するアームベクトル算出部と、
前記アームベクトル算出部で算出された前記第１および第２のアームベクトルと、前記座標推測値記憶部に記憶された前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度とに基づいて、前記第１および第２の関節の角度を算出する関節角度算出部と、
前記座標推測値記憶部に記憶された前記第１および第２のシャフトの位置および姿勢と、前記関節角度算出部で算出された前記第１および第２の関節の角度とに基づいて前記センサ位置座標を算出して、前記センサ位置座標算出部で算出されたセンサ位置座標とを比較して、前記関節角度算出部で算出された前記第１および第２の関節の角度の適否を判定する推測結果判定部と、
前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度を所定の初期状態にしたときの前記センサの出力を記憶する初期姿勢情報記憶部を備えたキャリブレーション部と、
を有し、
前記座標推測値記憶部に記憶される前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度の初期値として、前記初期姿勢情報記憶部に記憶された前記センサの出力が用いられ、
前記推測結果判定部で前記第１および第２の関節の角度が適当でないと判定された場合には、前記アームベクトル算出部による第１および第２のアームベクトルの算出と、前記関節角度算出部による前記第１および第２の関節の角度の算出とを繰り返すように構成されていること、
を特徴とする動作推測装置。
【請求項２】
前記関節角度算出部は、
前記座標推測値記憶部に記憶された前記第１の関節の位置から前記センサ装着部位置までの第１の目標ベクトルと、前記座標推測値記憶部に記憶された前記第２の関節の位置から前記センサ装着部位置までの第２の目標ベクトルと、を算出する目標ベクトル算出部と、
前記第１の関節を中心として前記第１のアームベクトルを仮想的に回転させて前記第１の目標ベクトルの向きに重ね合わせるように回転する屈曲角度推測部と、
を備えていること、を特徴とする請求項１に記載の動作推測装置。
【請求項３】
前記第２の関節を静止して前記センサ装着部の移動軌跡が前記第２の関節を中心とする円弧状になるように前記センサ装着部を移動したときの前記センサの出力に基づいて前記第２のシャフト上の前記センサ装着部の位置を推測するセンサ装着位置推測部をさらに有すること、を特徴とする請求項１または請求項２に記載の動作推測装置。
【請求項４】
前記センサ装着位置推測部は、前記第２の関節をまっすぐに伸ばした状態で前記第１の関節を中心として第１および第２のシャフトを回転させて前記センサ装着部の移動軌跡が前記第１の関節を中心とする円弧状になるように前記センサ装着部を移動したときの前記センサの出力に基づいて前記第２のシャフト上の前記センサ装着部の位置を推測すること、を特徴とする請求項３に記載の動作推測装置。
【請求項５】
前記キャリブレーション部は、
前記センサ装着位置推測部で算出した前記第１または第２の関節と前記センサとの距離に基づいて前記リンク機構の寸法を算出する寸法算出部と、
前記所定の初期状態における前記センサの位置および姿勢を記憶する初期姿勢情報記憶部と、
前記リンク機構が前記所定の初期状態における前記センサの相対位置および姿勢を初期位置として設定する姿勢初期化部と、
を具備することを特徴とする請求項３または請求項４に記載の動作推測装置。
【請求項６】
前記センサは、
直交三軸方向の加速度を計測する加速度計測部と、
直交三軸の周りの角速度を計測する角速度計測部と、
前記加速度計測部で計測された加速度および前記角速度計測部で計測された角速度に基づいて、前記センサの移動量と移動方向とを算出する加速度・角速度計測部移動ベクトル算出部と、
を備えていること、を特徴とする請求項１ないし請求項５のいずれか一項に記載の動作推測装置。
【請求項７】
周囲に磁場を発生させる磁場発生部をさらに有し、
前記センサは、
前記磁場発生部によって発生する磁場の強度を計測し前記磁場発生部に対する相対座標およびオイラー角を算出するレシーバ部と、
前記レシーバ部で算出した相対座標およびオイラー角に基づいて、前記レシーバ部の移動量と移動方向とを算出するレシーバ部移動ベクトル算出部と、
を備えていること、を特徴とする請求項１ないし請求項６のいずれか一項に記載の動作推測装置。
【請求項８】
前記第１および第２の関節の少なくとも一方はその回転角度に制約があり、前記アームベクトル算出部および前記関節角度算出部は、前記回転角度の制約を条件として演算を行うこと、を特徴とする請求項１ないし請求項６のいずれか一項に記載の動作推測装置。
【請求項９】
第１のシャフトと、前記第１のシャフトを回転支持する第１の関節と、前記第１のシャフトで前記第１の関節から所定の距離離れた位置に配置された第２の関節と、前記第２の関節によって前記第１のシャフトに対して回転支持された第２のシャフトと、を備えたリンク機構の動作状態を推測する動作推測方法であって、
前記第２のシャフト上で前記第２の関節から所定の距離離れた位置のセンサ装着部に当該センサ装着部の３次元的な位置および向きを計測するセンサが固定された状態で、キャリブレーション部が、前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度を所定の初期状態にしたときの前記センサの出力を初期姿勢情報記憶部に記憶するキャリブレーションステップと、
前記キャリブレーションステップの後に、前記センサが、前記リンク機構を動作させる前の前記センサ装着部の位置から前記リンク機構を動作させた後の前記センサ装着部の位置までの移動ベクトルを計測する移動ベクトル計測ステップと、
前記キャリブレーションステップで前記初期姿勢情報記憶部に記憶された前記センサの出力と前記移動ベクトル計測ステップで計測された前記移動ベクトルとに基づいて、装着部移動先算出部が、前記センサ装着部の移動先座標を算出する移動先座標算出ステップと、
前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標に基づいて、アームベクトル算出部が、前記第２の関節から前記センサ装着部の位置までの第２のアームベクトルを算出する第２のアームベクトル算出ステップと、
前記第２のアームベクトル算出ステップで算出された前記第２のアームベクトルと前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標とに基づいて前記第２の関節の角度を推測する第２の関節角度推測ステップと、
前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標と前記第２の関節角度推測ステップで推測された前記第２の関節の角度とに基づいて、前記アームベクトル算出部が、前記第１の関節から前記センサ装着部の位置までの第１のアームベクトルを算出する第１のアームベクトル算出ステップと、
前記第１のアームベクトル算出ステップで算出された前記第１のアームベクトルと前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標とに基づいて前記第１の関節の角度を推測する第１の関節角度推測ステップと、
前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標と前記第１の関節角度推測ステップで推測された前記第１の関節の角度とに基づいて、推測結果判定部が、前記第１および第２の関節の角度の適否を判定する推測結果判定ステップと、
を有し、
前記推測結果判定ステップの結果が第１および第２の関節の角度の不適を表した場合に、前記第２のアームベクトル算出ステップと、前記第２の関節角度推測ステップと、前記第１のアームベクトル算出ステップと、前記第１の関節角度推測ステップと、前記推測結果判定ステップと、を順次繰り返すこと、
を特徴とする動作推測方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明の実施形態は、リンク機構の動作状態を推測する動作推測装置および動作推測方法に関する。
【背景技術】
【０００２】
プラントの建設や保守の現場では、熟練ノウハウを持つ作業員の退職により世代交代が進み、技能の継承や訓練が急務となっている。また、多数の経験の浅い作業員が現場に配備されることで、作業品質の低下やヒューマンエラーの増加が懸念される。このような状況でも、作業品質と安全性を維持するために、個々の作業員の技能レベルに応じて適切な訓練カリキュラムを提供する必要がある。また、実際に現場で働く作業員が、禁止された作業や不安全な行動をとった場合、これを検知して作業員本人に忠告を促すことが効果的である。
【０００３】
また高温や高放射線量、有毒ガスの発生などにより作業員が接近して直接作業することが困難な環境では、マスター・スレーブ・マニピュレータや自走式ロボットの活用が有効である。これらの設備を遠隔で操作するためには、周囲の環境に加え装置自身の姿勢を把握することが必須である。
【０００４】
このような、作業員やマニピュレータ等の測定対象の動作計測に有効な技術として、モーションキャプチャ技術が利用されている。現在モーションキャプチャ技術は、赤外線カメラ等を用いて外部から観察するものと、加速度や角速度センサを身体に装着して装着箇所の動作を直接計測するものが広く利用されている。
【０００５】
前者の方式は、測定対象に反射マーカを装着し、２台ないし３台のカメラでステレオ撮影することで、当該装着部位の移動を三次元的に追跡するものである。測定対象をカメラで取り囲むことで、対象物が動作することにより生じる死角の範囲を削減している。
【０００６】
後者の方式は、人体であれば掌、前腕、上腕、肩関節のように計測部位にセンサを装着し、動作によって生じる位置変化を計測するものである。センサの動きを装着された部位の動きと見做して動作を計測するため、対象部位のすべてにセンサを装着する必要があり、全身計測の場合は十数個必要である。
【０００７】
これらの方式を採用した技術はすでに製品化されており、医療やスポーツの分野における被験者の身体の動きデータの収集や、映画やゲームなどにおけるキャラクターの人間らしい動きの再現に利用されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特許第３６６８６６３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、前述のように、外部から観察する方式では、測定対象を撮影機材で取り囲む必要があるため、移動できる範囲が制限される。そのため、工場内のような広範囲にわたって移動する作業員（被験者）を追跡する場合は、非常に多数のカメラを設置する必要があり、また人が立ち入ることができない空間に適用する場合、カメラの設置と調整が不可能である。装着したセンサで計測する方式は、計測したい部位のすべてにセンサを装着する必要があるため、着脱が非常に手間であるとともに作業の妨げにもなる。また、マニピュレータ等の常設設備に装着する場合、装置の保守管理に係る手間が増大する。以上の理由から、従来のモーションキャプチャ技術を作業現場に適用することは困難である。
【００１０】
特許文献１には、少ないセンサで人体の上半身の動作を計測する技術が開示されている。ここに開示された技術は、三次元磁気センサを背中の中心と頭部、両手首に装着し、各センサの相対位置の変化に基づき頭部や腕部の動作を推測するものである。肘関節や両肩関節にセンサを装着しなくても上半身の動作を計測できるため、装着しなければならないセンサ数を削減し作業現場でも利用しやすい。
【００１１】
この特許文献１に開示された技術では、まず各関節の角度を変動させセンサ装着部位を移動させた後に、根元側から各関節の座標を算出し、当該センサ装着部位と実測された座標との距離を測定している。次に、その測定結果に基づき実測位置に接近したか否かによって最終的な関節屈曲角度を決定する演算を行っている。しかしながら、関節の屈曲の自由度や可動範囲の制限が考慮された構成となっていないため、演算の結果、現実的には起こりえない姿勢に至る可能性がある。また、試行錯誤しながら姿勢を推測するため、マニピュレータなどの多関節体に適用した場合、中間に位置する関節の推測結果が実際とは大きく異なってしまうことが考えられる。
【００１２】
本発明に係る実施形態は、上記課題を解決するためになされたものであり、測定対象のリンク機構に装着するセンサの個数を減らしても当該リンク機構の動作状態を推測することができるようにすることを目的とする。
【課題を解決するための手段】
【００１３】
上記目的を達成するために、本発明の実施形態に係る動作推測装置は、第１のシャフトと、前記第１のシャフトを回転支持する第１の関節と、前記第１のシャフトで前記第１の関節から所定の距離離れた位置に配置された第２の関節と、前記第２の関節によって前記第１のシャフトに対して回転支持された第２のシャフトと、を備えたリンク機構の動作状態を推測する動作推測装置であって、前記第２のシャフト上で前記第２の関節から所定の距離離れた位置のセンサ装着部に固定されて当該センサ装着部の３次元的な位置および向きを計測するセンサと、前記センサの出力に基づいてセンサ位置座標を算出するセンサ位置座標算出部と、前記センサ位置座標算出部で算出されたセンサ位置座標およびそのセンサ位置座標に基づいて推定された前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度を記憶する座標推測値記憶部と、を備えた装着部移動先算出部と、前記座標推測値記憶部に記憶された前記センサ位置座標と、前記第１および第２のシャフトの位置および姿勢と、前記第１および第２の関節の位置および角度とに基づいて、前記第１の関節から前記センサ装着部までの第１のアームベクトルおよび前記第２の関節から前記センサ装着部までの第２のアームベクトルを算出するアームベクトル算出部と、前記アームベクトル算出部で算出された前記第１および第２のアームベクトルと、前記座標推測値記憶部に記憶された前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度とに基づいて、前記第１および第２の関節の角度を算出する関節角度算出部と、前記座標推測値記憶部に記憶された前記第１および第２のシャフトの位置および姿勢と、前記関節角度算出部で算出された前記第１および第２の関節の角度とに基づいて前記センサ位置座標を算出して、前記センサ位置座標算出部で算出されたセンサ位置座標とを比較して、前記関節角度算出部で算出された前記第１および第２の関節の角度の適否を判定する推測結果判定部と、前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度を所定の初期状態にしたときの前記センサの出力を記憶する初期姿勢情報記憶部を備えたキャリブレーション部と、を有し、前記座標推測値記憶部に記憶される前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度の初期値として、前記初期姿勢情報記憶部に記憶された前記センサの出力が用いられ、前記推測結果判定部で前記第１および第２の関節の角度が適当でないと判定された場合には、前記アームベクトル算出部による第１および第２のアームベクトルの算出と、前記関節角度算出部による前記第１および第２の関節の角度を算出とを繰り返すように構成されていること、を特徴とする。
【００１４】
また、本発明の実施形態に係る動作推測方法は、第１のシャフトと、前記第１のシャフトを回転支持する第１の関節と、前記第１のシャフトで前記第１の関節から所定の距離離れた位置に配置された第２の関節と、前記第２の関節によって前記第１のシャフトに対して回転支持された第２のシャフトと、を備えたリンク機構の動作状態を推測する動作推測方法であって、前記第２のシャフト上で前記第２の関節から所定の距離離れた位置のセンサ装着部に当該センサ装着部の３次元的な位置および向きを計測するセンサが固定された状態で、キャリブレーション部が、前記第１および第２のシャフトの位置および姿勢ならびに前記第１および第２の関節の位置および角度を所定の初期状態にしたときの前記センサの出力を初期姿勢情報記憶部に記憶するキャリブレーションステップと、前記キャリブレーションステップの後に、前記センサが、前記リンク機構を動作させる前の前記センサ装着部の位置から前記リンク機構を動作させた後の前記センサ装着部の位置までの移動ベクトルを計測する移動ベクトル計測ステップと、前記キャリブレーションステップで前記初期姿勢情報記憶部に記憶された前記センサの出力と前記移動ベクトル計測ステップで計測された前記移動ベクトルとに基づいて、装着部移動先算出部が、前記センサ装着部の移動先座標を算出する移動先座標算出ステップと、前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標に基づいて、アームベクトル算出部が、前記第２の関節から前記センサ装着部の位置までの第２のアームベクトルを算出する第２のアームベクトル算出ステップと、前記第２のアームベクトル算出ステップで算出された前記第２のアームベクトルと前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標とに基づいて前記第２の関節の角度を推測する第２の関節角度推測ステップと、前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標と前記第２の関節角度推測ステップで推測された前記第２の関節の角度とに基づいて、前記アームベクトル算出部が、前記第１の関節から前記センサ装着部の位置までの第１のアームベクトルを算出する第１のアームベクトル算出ステップと、前記第１のアームベクトル算出ステップで算出された前記第１のアームベクトルと前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標とに基づいて前記第１の関節の角度を推測する第１の関節角度推測ステップと、前記移動先座標算出ステップで算出された前記センサ装着部の移動先座標と前記第１の関節角度推測ステップで推測された前記第１の関節の角度とに基づいて、推測結果判定部が、前記第１および第２の関節の角度の適否を判定する推測結果判定ステップと、を有し、前記推測結果判定ステップの結果が第１および第２の関節の角度の不適を表した場合に、前記第２のアームベクトル算出ステップと、前記第２の関節角度推測ステップと、前記第１のアームベクトル算出ステップと、前記第１の関節角度推測ステップと、前記推測結果判定ステップと、を順次繰り返すこと、を特徴とする。
【発明の効果】
【００１５】
本発明の実施形態によれば、測定対象のリンク機構に装着するセンサの個数を減らしても、当該リンク機構の動作状態を推測することができる。これにより、作業現場での作業を妨げることなく動作を追跡することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施形態に係る動作推測装置の構成を示すブロック図である。
【図２】第１の実施形態に係る動作推測装置のセンサを被験者に取り付けた状態を示す斜視図である。
【図３】第１の実施形態に係る動作推測装置のセンサの具体的構成を示すブロック図である。
【図４】第１の実施形態に係る動作推測装置の動作手順を示す流れ図である。
【図５】第１の実施形態に係る動作推測装置の動作手順を示す流れ図であって、図４に続く部分を示す。
【図６】第１の実施形態に係る動作推測装置のアームベクトル算出部と関節角度算出部とによる繰り返し演算の手順における前腕アームベクトル、前腕目標ベクトルおよび移動ベクトルの関係を模式的に示す図である。
【図７】第１の実施形態に係る動作推測装置のアームベクトル算出部と関節角度算出部とによる繰り返し演算の手順において図６の次の状態を示す図である。
【図８】第１の実施形態に係る動作推測装置のアームベクトル算出部と関節角度算出部とによる繰り返し演算の手順において図７の次の状態を示す図であって、上腕アームベクトルおよび上腕目標ベクトルの関係を模式的に示す図である。
【図９】第１の実施形態に係る動作推測装置のアームベクトル算出部と関節角度算出部とによる繰り返し演算の手順において図８の次の状態を示す図である。
【図１０】第１の実施形態に係る動作推測装置のアームベクトル算出部と関節角度算出部とによる繰り返し演算の手順において図９の次の状態における前腕アームベクトル、前腕目標ベクトルおよび移動ベクトルの関係を模式的に示す図である。
【図１１】第１の実施形態に係る動作推測装置のアームベクトル算出部と関節角度算出部とによる繰り返し演算の手順において図１０の次の最終状態を示す図である。
【図１２】本発明の第２の実施形態に係る動作推測装置の構成を示すブロック図である。
【図１３】第２の実施形態に係る動作推測装置のセンサ装着位置推測部を用いてキャリブレーションを行う場合におけるセンサ取付け部を移動する状況を示す説明図である。
【図１４】本発明の第３の実施形態に係る動作推測装置のセンサおよび磁場発生部を示すブロック図である。
【発明を実施するための形態】
【００１７】
以下に、図面を参照しながら本発明に係る動作推測装置および動作推測方法の実施形態について説明する。ここで、互いに同一または類似の部分には共通の符号を付して、重複説明は省略する。
【００１８】
［第１の実施形態］
（構成）
以下、本発明の第１の実施形態の構成を添付図面に基づいて説明する。図１は、本発明の第１の実施形態に係る動作推測装置の構成を示すブロック図である。図２は、第１の実施形態に係る動作推測装置のセンサを被験者（作業員）に取り付けた状態を示す斜視図である。図３は、第１の実施形態に係る動作推測装置のセンサの具体的構成を示すブロック図である。
【００１９】
この実施形態の動作推測装置では、図２に示すように、被験者（作業員）の腕部をリンク機構の例として、その動作を推定するものとする。すなわち、被験者の手首にセンサ取付け部を設定し、この位置にセンサ１１を固定する。上腕（第１のシャフト）８３は肩関節（第１の関節）８１を中心として回転可能であり、上腕８３の先端に肘関節（第２の関節）８２がある。そして肘関節８２から前腕（第２のシャフト）８４が延び、前腕８４は肘関節８２を中心として回転可能である。ここでは、センサ１１が前腕８４の先端近くの手首に固定されているものとし、手首や指の関節の動作については考慮しない。
【００２０】
アームベクトルは、これらの関節を起点に算出され、肩関節８１を起点とする場合は、センサ１１までの上腕アームベクトル（第１アームベクトル）８５、肘関節８２を起点とする場合はセンサ１１までの前腕アームベクトル（第２アームベクトル）８６である。これらの関節の座標は初期姿勢からの移動を追跡することで取得される。
【００２１】
センサ１１は、後述するようにそのセンサ１１の取り付け部のたとえば加速度や角速度を測定することによってそのセンサ１１の取り付け部の位置や向きを測定するものである。一方、上腕８３、肩関節８１、肘関節８２にはセンサが取り付けられておらず、上腕８３の位置・姿勢や、肩関節８１および肘関節８２の屈曲状況については直接的な測定データはない。
【００２２】
この実施形態の動作推測装置では、このような状況において、被験者の手首のセンサ取付け部に取り付けられたセンサ１１の出力などに基づいて、上腕８３の位置・姿勢や、肩関節８１および肘関節８２の屈曲状況などについて推測するものである。
【００２３】
図１に示すように、この実施形態の動作推測装置は、センサ１１と、キャリブレーション部１２と、装着部移動先算出部１３と、アームベクトル算出部１４と、関節角度算出部１５と、推測結果判定部１６と、サイズ情報入力部１７とを備えている。これらのうち、キャリブレーション部１２と、装着部移動先算出部１３と、アームベクトル算出部１４と、関節角度算出部１５と、推測結果判定部１６とは、演算処理装置および記憶装置を備えたコンピュータによって実現できるものである。また、サイズ情報入力部１７はコンピュータへの入力装置（たとえば、キーボード、タッチスクリーン、ポインタなど）によって実現できる。
【００２４】
キャリブレーション部１２は、姿勢初期化部２３と初期姿勢情報記憶部２４とを具備する。姿勢初期化部２３は、サイズ情報入力部１７からの入力と初期姿勢情報記憶部２４に記憶された初期姿勢情報とを受け入れるモデル抽出部２６と、センサ１１からの出力およびモデル抽出部２６の出力を受け入れるモデル同定部２５と、を含んでいる。
【００２５】
キャリブレーション部１２では、リンク機構である被験者の初期姿勢として、直立して両腕をまっすぐ水平に広げて掌を下に向けた「Ｔポーズ」や、直立して両腕をまっすぐ下方に下ろして掌を体側に向けた「気を付け」等の所定の姿勢を予め初期姿勢として定義しておき、その際の各々の関節の相対位置を記憶しておく。キャリブレーションが実行された際には、被験者が前記所定の姿勢をとったものと認識し、センサ１１や関節の初期位置を設定する。その後、センサ１１に何らかの信号変化が生じ移動が計測されたら、当該初期姿勢からの変化として動作を計測する。
【００２６】
装着部移動先算出部１３は、センサ１１からの出力を受け入れてセンサ位置座標を算出するセンサ位置座標算出部２１と、センサ位置座標算出部２１で算出されたセンサ位置座標を記憶する座標推測値記憶部２２とを含む。
【００２７】
装着部移動先算出部１３は、センサ１１で検出された信号変化から当該センサの移動方向、移動距離、角度変化を算出し、移動前の位置および姿勢に加算することで現在の位置および姿勢を推測する。例として６軸センサを用いる場合は、一般的に加速度と角速度を時間積分することで算出される。
【００２８】
アームベクトル算出部１４は、座標推測値記憶部２２に記憶された座標推測値から座標データを抽出する座標データ抽出部３０と、座標データ抽出部３０で抽出された座標データに基づいてベクトル演算を行うベクトル演算部３１とを含む。アームベクトル算出部１４は、センサ装着部位より根元側の関節からセンサ１１までのベクトルであるアームベクトルを算出する。
【００２９】
関節角度算出部１５は、装着部移動先算出部１３で算出されたセンサ位置座標に基づいて目標ベクトルを算出する目標ベクトル算出部３２と、目標ベクトル算出部３２で算出された目標ベクトルおよびベクトル演算部３１で算出されたアームベクトルに基づいて関節の屈曲角度を推測する屈曲角度推測部３３とを含む。なお、ここで、目標ベクトルとは、肩関節８１あるいは肘関節８２から、センサ１１の計測結果を用いて算出した当該センサ１１の位置までのベクトルである。ここで、肩関節８１からセンサ１１の位置までの目標ベクトルを上腕目標ベクトル（第１の目標ベクトル）と呼び、肘関節８２センサ１１の位置までの目標ベクトルを前腕目標ベクトル（第２の目標ベクトル）と呼ぶ。
【００３０】
屈曲角度推測部３３は、目標ベクトル算出部３２で算出された目標ベクトルおよびベクトル演算部３１で算出されたアームベクトルに基づいて回転行列を算出する回転行列算出部３４と、回転行列算出部３４で算出された回転行列に基づいてアームベクトルを仮想的に回転するアームベクトル回転部３５と、を含む。
【００３１】
関節角度算出部１５は、装着部移動先算出部１３で算出した、センサ装着部の位置および姿勢情報と、アームベクトル算出部１４で算出したアームベクトルを用いて、肩関節８１と肘関節８２の屈曲角度を算出する。
【００３２】
目標ベクトル算出部３２は、肩関節８１あるいは肘関節８２から、センサ１１の計測結果を用いて算出した当該センサ１１の位置までのベクトルを算出する。
【００３３】
屈曲角度推測部３３は、アームベクトルと目標ベクトルのなす角度を算出する。ここで算出した角度を関節の屈曲角度としてみなす。
【００３４】
推測結果判定部１６は、アームベクトル回転部３５で得られたアームベクトルとセンサ１１によって得られたセンサ取付け部の位置との誤差を算出する誤差算出部３６と、誤差算出部３６で得られた誤差と所定の閾値とを比較する閾値判定部３７とを含む。
【００３５】
推測結果判定部１６は、関節角度算出部１５で算出した肩関節８１と肘関節８２の角度に基づき、センサ１１が装着されている箇所の位置および姿勢を算出し、装着部移動先算出部１３で計測結果から算出した当該部位の位置および姿勢との差異を算出する。また、予め判定閾値を設定し、算出された差異が閾値より小さくなるまで関節角度算出演算を繰り返す。
【００３６】
センサ１１は、図３に示すように、たとえば、加速度計測部４０と角速度計測部４１と、加速度・角速度計測部移動ベクトル算出部４２とを備えている。
【００３７】
加速度計測部４０は、直交三軸方向の加速度を計測する。加速度を検知する手段としては、たとえば、センサ素子の可動部と固定部の間の静電容量変化を用いる静電容量検出方式や、センサ素子可動部と固定部をつなぐばね部分に配置したピエゾ抵抗素子により、加速度によってばね部分に発生した歪みを検出するピエゾ抵抗方式などがある。
【００３８】
角速度計測部４１は、直交三軸の周りに生じる角速度を計測する。角速度を検知する手段としては、たとえば、コリオリ力を利用したものが一般的である。ここで、加速度計測部４０と角速度計測部４１は、すべての軸が一致するように固定されている。
【００３９】
加速度・角速度計測部移動ベクトル算出部４２は、計測された加速度と角速度から、センサの移動方向、移動距離、姿勢変化を算出する。
【００４０】
サイズ情報入力部１７は、関節間の距離や各関節とセンサ１１の距離をモデル抽出部２６に入力するためのものである。この動作推測装置のユーザが、被験者の性別や年齢、身長などを入力することができるものとする。かかる入力をすることにより、モデル抽出部２６が、入力された性別と年齢、身長毎に基づいて、あらかじめ準備されていた平均的な骨格寸法情報により、骨格寸法を推定できる。
【００４１】
（作用）
次に、本発明の実施形態の作用を説明する。
【００４２】
初めに、センサ１１の動作について説明する。手首にセンサ１１を装着した被験者が行動すると手首とともにセンサ１１が移動し、それに応じた加速度および角速度が生じる。加速度計測部４０と角速度計測部４１は、それぞれ当該加速度と角速度を計測する。加速度・角速度計測部移動ベクトル算出部４２は、計測された加速度の方向を移動方向とし、さらに加速度を時間に関して二重積分した結果を移動距離として取得する。さらに、角速度を時間に関して積分した結果を姿勢変化として取得する。さらに、センサ１１の姿勢が変化しながら移動した場合、加速度計測部４０の軸方向が変化するため、実際には発生していない見かけの動きが検出される。そのため、取得された姿勢変化を用いてこれを補正する必要がある。この補正処理は、一般的にはカルマンフィルタなどの信号処理技術が用いられる。
【００４３】
つぎに、図４および図５を参照しながら第１の実施形態の動作推測装置全体の作用を説明する。図４および図５は、第１の実施形態に係る動作推測装置の動作手順を示す流れ図であって、図５は図４に続く部分を示している。
【００４４】
リンク機構の動作推測装置は、測定開始時にキャリブレーションを行い被験者の初期姿勢を設定する（Ｓ１０）。この処理により、前述したように被験者が所定の姿勢をとっているものと判断し、各関節とセンサの初期位置を設定する。
【００４５】
このステップＳ１０は、つぎのステップＳ１１、Ｓ１２、Ｓ１３からなる。すなわち、まず、サイズ情報入力部１７が、この装置のユーザによる手入力にて、被験者の身長、性別からなるサイズ情報の入力を受け入れる（Ｓ１１）。つぎに、モデル抽出部２６が、手入力されたサイズ情報に基づき被験者が属するグループを判別し、それに対応した姿勢情報を初期姿勢情報記憶部２４から抽出する（Ｓ１２）。姿勢情報は、たとえば被験者の臍を原点としたときの各関節およびセンサ装着位置の初期座標から構成される。つぎに、モデル同定部２５が、抽出した初期座標を時刻０における各関節およびセンサの座標として、座標推測値記憶部２２に保存する（Ｓ１３）。
【００４６】
キャリブレーションが完了した後に、センサ装着部の移動方向と距離を計測する（Ｓ２０）。このステップで実施される演算処理は、使用するセンサ１１の種類によって異なる。一例として、６軸センサを用いる場合、移動方向は加速度の軸方向、移動距離は加速度の時間に関する二重積分、角度変化は角速度の時間に関する積分で算出される。
【００４７】
このステップＳ２０は、つぎのステップＳ２１、Ｓ２２からなる。すなわち、まず、センサ１１が、時刻ｔでの並進、回転運動を計測する（Ｓ２１）。つぎに、センサ１１が、計測値からセンサ１１自身の変位量（移動ベクトル）を算出する（Ｓ２２）。
【００４８】
ステップＳ１０とステップＳ２０で、センサ１１の初期位置と移動ベクトルが取得されたら、移動後のセンサ１１の位置を算出する（Ｓ３０）。移動ベクトルの計測を周期的に繰り返した場合は、初期位置から移動距離と方向を累積することで各周期での移動後のセンサ位置を算出する。
【００４９】
このステップＳ３０は、つぎのステップＳ３１、Ｓ３２からなる。すなわち、まず、センサ位置座標算出部２１が、座標推測値記憶部２２から時刻ｔ−１でのセンサ１１の座標を抽出する（Ｓ３１）。つぎに、センサ位置座標算出部２１が、センサ自身の変位量と時刻ｔ−１でのセンサ１１の座標から時刻ｔでのセンサ１１の座標を算出し、座標推測値記憶部２２に保存する（Ｓ３２）。
【００５０】
ここで、「時刻ｔ」や「時刻ｔ−１」という表現における「ｔ」は時刻の単位ではなく、計算器の中の処理における時間ステップであって、それぞれ、「ｔ番目」、「（ｔ−１）番目」を意味している。
【００５１】
さらに、前述した装着部移動先算出部１３では、移動後のセンサ位置を算出した後に、関節の自由度を考慮して屈曲方向を算出する（Ｓ４０）。たとえば肘関節は、上腕骨に存在する上腕骨滑車と平行な軸を中心に回転するため、１自由度である。したがって、屈曲方向は上腕骨滑車を軸とする方向のみとし、上腕骨の動きに対応して向きを変える。また、肘関節の関節角度を算出する際は、移動ベクトルのうち回転軸に垂直な成分のみを用いることで異常な方向への屈曲を制限する。
【００５２】
屈曲方向が決まった後に前腕アームベクトルを算出する（Ｓ５０）。これは、肘関節からセンサ取り付け位置までのベクトルであり、ステップＳ１０で実施したキャリブレーション結果あるいは、それを基にして実施した推測結果を用いて算出する。
【００５３】
このステップＳ５０は、つぎのステップＳ５１、Ｓ５２からなる。すなわち、まず、座標データ抽出部３０が、座標推測値記憶部２２から時刻ｔ−１での肘関節８２とセンサ１１の座標を抽出する（Ｓ５１）。つぎに、ベクトル演算部３１が、時刻ｔ−１での肘関節８２とセンサ１１の座標から、時刻ｔ−１での前腕アームベクトル（肘関節８２→センサ１１）を算出する（Ｓ５２）。
【００５４】
次に、ステップＳ３０で算出した移動後のセンサ位置、および前腕アームベクトルを用いて肘関節の角度を推測する（Ｓ６０）。この処理では、肘関節８２から移動後のセンサ１１の位置までのベクトルと、ステップＳ５０で算出したアームベクトルのなす角度を、肘関節８２を屈曲させる角度として算出する。
【００５５】
このステップＳ６０は、つぎのステップＳ６１〜Ｓ６４からなる。すなわち、まず、目標ベクトル算出部３２が、座標推測値記憶部２２から時刻ｔ−１での肘関節座標を抽出し、センサ位置座標算出部２１で算出した時刻ｔでのセンサ１１の座標を用いて時刻ｔでの前腕目標ベクトル（第２の目標ベクトル、肘関節８２→センサ１１）を算出する（Ｓ６１）。つぎに、回転行列算出部３４が、時刻ｔでの前腕目標ベクトルと時刻ｔ−１での前腕アームベクトルのなす角度と外積を用いて回転行列を算出する（Ｓ６２）。つぎに、アームベクトル回転部３５が、回転行列を用いて時刻ｔ−１での前腕アームベクトルを仮想的に回転し、時刻ｔ（仮）でのセンサ１１の座標を算出する。時刻ｔ（仮）でのセンサ１１の座標を座標推測値記憶部２２に保存する（Ｓ６３）。
【００５６】
なお、動作推定対象となる関節（ここでは肘関節８２）の自由度に制限があり、その自由度の範囲内で到達しうる先端部分の座標を算出したときの先端部分へのベクトルを仮の目標ベクトルとする。この仮の目標ベクトルを本来の目標ベクトルと区別するために時刻の添え字に「（仮）」を付記して表記する。以下の説明でも同様である。
【００５７】
つぎに、目標ベクトル算出部３２が、座標推測値記憶部２２から時刻ｔ−１での肩関節８１の座標と時刻ｔでのセンサ１１の座標を抽出し、時刻ｔでの上腕目標ベクトル（第１の目標ベクトル、肩関節８１→センサ１１）を算出する（Ｓ６４）。
【００５８】
実際に求めた角度だけ肘関節を仮想的に屈曲させたら、今度は肩関節８１からセンサ１１までのベクトルを上腕アームベクトル８５として算出する（Ｓ７０）。
【００５９】
このステップＳ７０は、つぎのステップＳ７１、Ｓ７２からなる。すなわち、まず、座標データ抽出部３０が、座標推測値記憶部２２から、時刻ｔ−１での肩関節８１と肘関節８２の座標、および時刻ｔ（仮）でのセンサ１１の座標を抽出する（Ｓ７１）。つぎに、ベクトル演算部３１が、時刻ｔ−１での肩関節８１の座標と時刻ｔ（仮）でのセンサ１１の座標を用いて、時刻ｔ−１での上腕アームベクトル８５（肩関節８１→センサ１１）および、時刻ｔ−１での肩関節８１と肘関節８２の座標を用いて、時刻ｔ−１でのアームベクトル（肩関節８１→肘関節８２）を算出する（Ｓ７２）。
【００６０】
つぎに、肩関節８１でも、肘関節８２と同様に屈曲させる角度を算出する（Ｓ８０）。
【００６１】
このステップＳ８０は、つぎのステップＳ８１、Ｓ８２からなる。すなわち、まず、回転行列算出部３４が、時刻ｔでの上腕目標ベクトルと時刻ｔ−１での上腕アームベクトル８５のなす角度と外積を用いて、回転行列を算出する（Ｓ８１）。つぎに、アームベクトル回転部３５が、回転行列を用いて、時刻ｔ−１での上腕アームベクトル８５およびアームベクトル（肩関節８１→肘関節８２）を仮想的に回転し、時刻ｔ（仮）での肘関節８２とセンサ１１の座標を算出する。時刻ｔ（仮）での肘関節８２とセンサ１１の座標を座標推測値記憶部２２に上書き保存する（Ｓ８２）。
【００６２】
つぎに、屈曲可能なすべての関節について角度を推測した後にセンサ１１の位置を算出し、実際に計測した値から求めたセンサ１１の位置との距離を算出する。その結果が、予め定めた条件を満たす場合は、推測処理が終了したものとして、次の周期の計測を開始する。そうではない場合は、再度ステップＳ４０に戻り、条件を満たすまで繰り返し計算を実施する（Ｓ９０）。
【００６３】
このステップＳ９０は、つぎのステップＳ９１、Ｓ９２からなる。すなわち、まず、誤差算出部３６が、時刻ｔと時刻ｔ（仮）でのセンサ１１の座標の距離を算出する（Ｓ９１）。つぎに、閾値判定部３７が、センサ１１の座標間の距離が閾値以上である場合は、ステップＳ４０に戻り演算を繰り返す（Ｓ９２）。２回目以降の繰り返し演算では、「時刻ｔ−１」の部分を時刻ｔ（仮）に読み替える。
【００６４】
ステップＳ９２で、センサ１１の座標間の距離が閾値未満に収束した場合は、つぎに、時刻ｔが終了時刻に到達したかどうかを判定し、終了時刻に到達していなければ、時刻ｔをｔ＋１に進めて、をステップＳ２１へ戻って演算を繰り返す（Ｓ１００）。
【００６５】
ステップＳ１００で、時刻ｔが終了時刻に到達したら演算を終了する。
【００６６】
つぎに、リンク機構の動作推測アルゴリズムの原理について、図６ないし図１１を参照しながら説明する。図６ないし図１１は、第１の実施形態に係る動作推測装置のアームベクトル算出部１４と関節角度算出部１５とによる繰り返し演算（図４、図５のステップＳ４０〜Ｓ９２）の手順における前腕アームベクトル、前腕目標ベクトルおよび移動ベクトルなどの関係を模式的に順次示す図である。
【００６７】
本アルゴリズムでは、図６ないし図１０の処理を繰り返すことで、最終的に図１１で示すような各関節の座標を求めることを目的とする。計算の制約条件として、推測処理の開始時、すなわち繰り返し回数１回目の図６の状態において、初期位置（時刻ｔ）での肩関節８１、肘関節８２および先端部分（センサ１１の取り付け位置）の座標が分かっていることとする。また先端部分の座標は周期的に計測しており、図中では時刻ｔ＋１での座標を白抜き三角形５１で示している。これは、光学式モーションキャプチャや磁気センサを使用する場合は、座標を直接求めることができるが、６軸の慣性センサを用いる場合は、時刻ｔの座標からの移動ベクトル（白抜き矢印）５０として計測される。
【００６８】
このアルゴリズムでは、先端側の関節、すなわち図中の肘関節８２から角度を推測する。まず時刻ｔでの肘関節８２の座標から、時刻ｔおよびｔ＋１での先端部分の座標までの肘を起点とする前腕アームベクトル８６および肘を起点とする前腕目標ベクトル５２を算出する。
【００６９】
次に、図７に示すように、前腕アームベクトル８６と前腕目標ベクトル５２のなす角度がゼロ度となるよう、前腕アームベクトル８６を仮想的に回転させる。時刻ｔでの肘関節８２の座標を始点としたときに、回転後の前腕アームベクトル８６の終点となる位置を時刻ｔ＋１での先端部分の座標として仮決めする（時刻ｔ＋１（１））。
【００７０】
ここで、「時刻ｔ＋１（１）」の表記は、時刻ｔ＋１での動作を推測するための繰り返し演算において、１回目の演算結果であることを示しており、一般的には、ｎ回目の繰り返し演算結果については「時刻ｔ＋１（ｎ）」と表記する。
【００７１】
なお、ここに示すアルゴリズムでは、先端側の関節から推測していく。したがって、根元側の関節角度を推測した場合、それよりも先端側の関節座標も更新される。そのため、先端側ほどくりかえし回数ｎが大きくなる。
【００７２】
次に、肩関節８１の関節角度を推測する。図８に示すように、時刻ｔ＋１（１）および時刻ｔ＋１での先端部分の座標までの肩を起点とする上腕アームベクトル８５および肩を起点とする上腕目標ベクトル５３を算出する。これらのベクトルについても、図９に示すように上腕アームベクトル８５と上腕目標ベクトル５３のなす角度がゼロ度となるよう、上腕アームベクトル８５を仮想的に回転させる。この際、肘関節８２の関節角度は変化させないこととする。時刻ｔでの肩関節８１の座標を始点として、回転後の上腕アームベクトル８５の終点を時刻ｔ＋１での先端部分の座標（時刻ｔ＋１（２））、また前腕アームベクトル８６の始点を時刻ｔ＋１での肘関節８２の座標（時刻ｔ＋１（１））として再度仮決めする。
【００７３】
根元側の肩関節８１まで角度推測を完了したら、図１０に示すように再度、先端側の肘関節８２から同様の処理を行い、時刻ｔ＋１で測定した先端部分の座標と一致するまで繰り返す。
【００７４】
図１１に示すように、推測した先端部分の座標と測定値の距離が十分小さくなったときの肩関節８１、肘関節８２および先端部分の座標を、時刻ｔ＋１での姿勢とする。
【００７５】
（効果）
本実施形態により、腕のようなリンク機構のすべてのパーツにセンサを装着しなくても、動作を計測することができる。また、肘関節のように屈曲方向の自由度に制限がある関節では、上腕骨の姿勢に応じて回転軸を定義することで、実際にはあり得ない方向に関節が曲がることを避けることができる。この実施形態を用いることで、動作推測する際に必要なセンサ数を削減することができるため、現場に配置される被験者やロボットアームに容易に取り付けて作業動作を計測し、活用することが可能になる。
【００７６】
なお、上記説明ではリンク機構の例として被験者（作業者）の腕部を例に説明したが、被験者の脚部や、人以外の動物やロボットのアームや脚でも同様に適用可能である。また、２個の関節と２個のシャフトが直列に並ぶ構造であれば適用可能であり、その連結数を制限するものではない。
【００７７】
［第２の実施形態］
図１２は、本発明の第２の実施形態に係る動作推測装置の構成を示すブロック図である。図１３は第２の実施形態に係る動作推測装置のセンサ装着位置推測部を用いた動作におけるセンサ取付け部の移動状況を示す説明図である。
【００７８】
（構成）
図１２に示すように、この実施形態に係る動作推測装置では、キャリブレーション部１２が寸法算出部６０を備えている。また、センサ１１の出力を受けて寸法算出部６０への入力情報を出力するセンサ装着位置推測部６１が設けられている。第１の実施形態におけるサイズ情報入力部１７（図１）はない。
【００７９】
センサ装着位置推測部６１は、被験者に所定の動作を実行させた際のセンサ１１の移動軌跡から、センサが装着された位置、すなわち肘関節や肩関節とセンサの距離を推測する。
【００８０】
寸法算出部６０は、センサ装着位置推測部６１で算出した肩関節肘関節等の各関節とセンサの距離に基づいて、測定対象の寸法を算出する。初期姿勢情報記憶部２４は、被験者が所定の姿勢をとった際のセンサの相対位置および姿勢情報を記憶しておく。初期姿勢情報記憶部２４は、たとえばＨＤＤ等の記憶装置で実現される。姿勢初期化部２３は、被験者が所定の姿勢をとった際に、当該姿勢に対応するセンサの相対位置および姿勢を、初期姿勢情報記憶部２４から取得して、初期姿勢として設定する。
【００８１】
その他の構成は第１の実施形態と同様である。
【００８２】
（作用）
この実施形態における動作推測装置の動作手順は、第１の実施形態におけるに示す流れ図（図４および図５）のうちのサイズ情報入力ステップＳ１１の内容のみが相違し、他の部分は第１の実施形態と同様である。
【００８３】
前述のように、関節角度算出部１５を機能させるためには、関節間の距離や各関節とセンサの距離の初期値の情報が事前に必要である。第１の実施形態では、性別と年齢、身長毎に平均的な骨格寸法情報を予め準備しておき、サイズ情報入力部１７（図１）から、性別や年齢、身長などを入力するものとした。この場合、わずかな寸法の差異に起因した誤差が蓄積するため、動作推測精度は低下する。精度向上のため、使用するたびに身体寸法を計測するのは、使い勝手を著しく低下させる。
【００８４】
そこで、本実施形態では、被験者にセンサ１１を装着した後に装着位置を計測することにより、被験者の体格の違いによる初期値データを実測により入力する。
【００８５】
すなわち、図１３に示すように、被験者にセンサ１１を装着した状態で、たとえば、肘関節８２の位置を固定して、肘関節８２を屈曲させる。このとき、手首の移動軌跡は円を描く。この円軌道の中心は肘関節８２の回転中心Ｃとなるため、回転半径Ｒを算出することで肘関節８２の回転中心Ｃからセンサ１１までの距離を求めることができる。
【００８６】
さらに、肘関節８２をまっすぐ伸ばした状態で、肩関節８１を中心として上腕８３および前腕８４を回転させることにより、上腕８３と前腕８４の合計の回転半径を算出することもできる。
【００８７】
したがって、初期姿勢の設定（キャリブレーション）ステップＳ１０のうちのサイズ情報入力ステップＳ１１において、各関節に対するセンサ１１の装着位置を推測することができる。
【００８８】
前述したとおり、センサ装着位置推測部６１では、各関節とセンサの距離が算出される。たとえば、人体の腕の動作推測をする際では、肩関節８１および肘関節８２と手首に装着したセンサ１１との距離を取得できる。これらの情報を用いて、上腕８３や前腕８４の長さを推測する。
【００８９】
次に、姿勢の初期化部について説明する。姿勢の初期化では、被験者に所定の姿勢（気を付けの姿勢やＴポーズなど）をとらせた際にあるべきセンサの相対位置および姿勢情報を用いる。これらの姿勢をとった際に、装着した各々のセンサ同士の相対位置と姿勢情報をあらかじめ作成し、被験者の姿勢に紐付けて記憶しておく。キーボードやマウス、タッチパネル等の入力部（図示せず）により、被験者が所定の姿勢をとったことが入力されると、その姿勢に対応したセンサの位置姿勢情報を初期状態として設定する。なお、寸法算出部６０で取得した腕の寸法情報に基づいて、予め作成したセンサ１１の姿勢情報を補正してもよい。
【００９０】
（効果）
本実施形態によれば、センサ１１の装着後に、定規などを用いることなく簡便に装着位置を計測することが可能になる。これにより、体格差やセンサ装着位置のずれによる影響を緩和し、動作推測精度を向上させることができる。
【００９１】
センサ装着位置のずれや推測演算処理の誤差の累積などにより動作推測精度の低下が懸念される。その際、被験者の動作推測結果を一旦リセットして既知の姿勢から動作推測を始めることで、高い推測精度を維持することが可能となる。
【００９２】
［第３の実施形態］
（構成）
以下、本発明の第３の実施形態の構成を添付図面に基づいて説明する。なお、第１または第２の実施形態に係る動作推測装置と同一または類似の構成については共通の符号付して、重複説明は省略する。
【００９３】
図１４は、本発明の第３の実施形態に係る動作推測装置のセンサおよび磁場発生部を示すブロック図である。
【００９４】
本実施形態では、センサとして三次元磁気センサを用いる。
【００９５】
図１４に示すように、磁場発生部７０が配置されている。磁場発生部７０は、周囲に磁場を発生させるものであり、センサ１１独自の座標系の原点となる。磁場発生部７０は、被験者の身体に装着され、背中や腰のようにより中心に近い位置に装着される。センサ１１は、レシーバ部７１とレシーバ部移動ベクトル算出部７２とを備えている。
【００９６】
レシーバ部７１は、磁場発生部７０から発生した磁場の強度を計測し、センサ独自の座標系における位置を計測する。レシーバ部７１は、被験者の身体に装着され、手首などのより先端部分に近い場所に装着される。レシーバ部移動ベクトル算出部７２は、レシーバ部７１の移動前後の座標値に基づき移動ベクトルを算出する。
【００９７】
（作用）
レシーバ部７１を内蔵するセンサ１１を手首に装着した被験者が行動した際、当該センサ１１は磁場発生部７０に対する相対位置を周期的に計測する。各計測タイミングで取得されたセンサ１１の座標に基づき、手首の移動方向と移動距離を算出する。また、レシーバ部７１は、磁場発生部７０に対するオイラー角を計測することができる。これを用いて、各計測タイミングでのオイラー角の変化を、センサ１１すなわち手首の姿勢変化として算出する。
【００９８】
（効果）
初期位置を基準として、周期的に計測した移動量を累積することで現在の位置を算出する手法では、各計測周期で発生した誤差が蓄積されるため時間経過とともに動作の推測精度が低下する。しかし、本実施形態に示される発明ではセンサ１１の位置を直接計測するため誤差の蓄積が無く、時間経過による精度の低下を防止することができる。
【００９９】
［他の実施形態］
以上、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【符号の説明】
【０１００】
１１・・・センサ
１２・・・キャリブレーション部
１３・・・装着部移動先算出部
１４・・・アームベクトル算出部
１５・・・関節角度算出部
１６・・・推測結果判定部
１７・・・サイズ情報入力部
２１・・・センサ位置座標算出部
２２・・・座標推測値記憶部
２３・・・姿勢初期化部
２４・・・初期姿勢情報記憶部
２５・・・モデル同定部
２６・・・モデル抽出部
３０・・・座標データ抽出部
３１・・・ベクトル演算部
３２・・・目標ベクトル算出部
３３・・・屈曲角度推測部
３４・・・回転行列算出部
３５・・・アームベクトル回転部
３６・・・誤差算出部
３７・・・閾値判定部
４０・・・加速度計測部
４１・・・角速度計測部
４２・・・加速度・角速度計測部移動ベクトル算出部
５０・・・移動ベクトル
５２・・・前腕目標ベクトル（第２の目標ベクトル）
５３・・・上腕目標ベクトル（第１の目標ベクトル）
６０・・・寸法算出部
６１・・・センサ装着位置推測部
７０・・・磁場発生部
７１・・・レシーバ部
７２・・・レシーバ部移動ベクトル算出部
８１・・・肩関節（第１の関節）
８２・・・肘関節（第２の関節）
８３・・・上腕（第１のシャフト）
８４・・・前腕（第２のシャフト）
８５・・・上腕アームベクトル（第１のアームベクトル）
８６・・・前腕アームベクトル（第２のアームベクトル）
【図１】
2016206081.tif 000003
【図２】
2016206081.tif 000004
【図３】
2016206081.tif 000005
【図４】
2016206081.tif 000006
【図５】
2016206081.tif 000007
【図６】
2016206081.tif 000008
【図７】
2016206081.tif 000009
【図８】
2016206081.tif 000010
【図９】
2016206081.tif 000011
【図１０】
2016206081.tif 000012
【図１１】
2016206081.tif 000013
【図１２】
2016206081.tif 000014
【図１３】
2016206081.tif 000015
【図１４】
2016206081.tif 000016