(57)【要約】【課題】作業用ロボット等の制御対象、作業者等の対象について、動作を検出する際に必要なセンサ数を削減することが可能な演算装置、演算方法及び演算プログラムを提供する。【解決手段】演算装置１は、予め記録されているモデル情報として、上腕の長さ、前腕の長さに近似される肘関節から測定対象部位までの長さ等のリンク部の長さを読み取り（Ｓ３０１）、更に、測定結果から得られた先端側のリンク部の位置及び姿勢を取得する（Ｓ３０２〜Ｓ３０３）。そして、演算装置１は、読み取った先端側のリンク部の長さ並びに取得した位置及び姿勢に基づいて、演算対象部位である付け根側のリンク部の角度を演算し（Ｓ３０４）、更に位置を演算する（Ｓ３０５）。【選択図】図８
2017146115.tif 000002
【特許請求の範囲】
【請求項１】
付け根から先端までに複数のリンク部が屈曲部で接続される対象の測定対象部位を測定した結果に基づいて、前記対象の演算対象部位を演算する演算装置であって、
予め各リンク部の長さを記録している記録部から、記録されているリンク部の長さを読み取る読取部と、
測定した結果に基づく先端側のリンク部の位置及び姿勢を示す状態情報を取得する状態情報取得部と、
前記読取部が読み取ったリンク部の長さ及び前記状態情報取得部が取得した前記状態情報に基づいて、付け根側のリンク部に関する位置及び角度のうち少なくとも一つを演算する演算部と
を備えることを特徴とする演算装置。
【請求項２】
請求項１に記載の演算装置であって、
前記演算部が演算する付け根側のリンク部に関する位置及び角度は、先端側のリンク部及び付け根側のリンク部を接続する屈曲部の位置及び角度、並びに付け根側のリンク部の付け根の角度である
ことを特徴とする演算装置。
【請求項３】
請求項１に記載の演算装置であって、
前記対象は、人体であり、
前記リンク部は、前記人体の体肢の一部を構成するリンク部であり、
前記屈曲部は、前記人体の体肢の一部を構成する関節であり、
前記リンク部の前記先端側及び前記付け根側は、前記体肢の遠位側及び近位側である
ことを特徴とする演算装置。
【請求項４】
請求項３に記載の演算装置であって、
前記演算部が演算する近位側のリンク部に関する位置及び角度は、前記近位側のリンク部における遠位側の関節の位置及び角度、並びに近位側の関節の角度である
ことを特徴とする演算装置。
【請求項５】
請求項１に記載の演算装置であって、
前記対象は、複数のリンク部がジョイント部で接続され一端が自由端で他端が固定端となる制御対象であり、
前記リンク部の前記先端側及び前記付け根側は、前記制御対象の自由端側及び固定端側である
ことを特徴とする演算装置。
【請求項６】
請求項１乃至請求項５のいずれか１項に記載の演算装置であって、
前記測定対象部位を測定した結果である速度、加速度、角速度、角加速度、圧力及び磁気のうち少なくとも一つを測定情報として取得する測定情報取得部を備え、
前記状態情報取得部は、前記測定情報取得部が取得した測定情報に基づいて、前記対象の状態情報を演算することにより取得する
ことを特徴とする演算装置。
【請求項７】
請求項１乃至請求項６のいずれか１項に記載の演算装置であって、
前記演算部は、逆運動学に基づいて演算する
ことを特徴とする演算装置。
【請求項８】
付け根から先端までに複数のリンク部が屈曲部で接続される対象の測定対象部位を測定した結果に基づいて、前記対象の演算対象部位を演算する演算方法であって、
読取部が、予め各リンク部の長さを記録している記録部から、記録されているリンク部の長さを読み取るステップと、
状態情報取得部が、測定した結果に基づく先端側のリンク部の位置及び姿勢を示す状態情報を取得するステップと、
演算部が、前記読取部が読み取ったリンク部の長さ及び前記状態情報取得部が取得した前記状態情報に基づいて、付け根側のリンク部に関する位置及び角度のうち少なくとも一つを演算するステップと
を備えることを特徴とする演算方法。
【請求項９】
コンピュータに、付け根から先端までに複数のリンク部が屈曲部で接続される対象の測定対象部位を測定した結果に基づいて、前記対象の演算対象部位を演算させる演算プログラムであって、
コンピュータに、
予め各リンク部の長さを記録している記録部から、記録されているリンク部の長さを読み取るステップと、
測定した結果に基づく先端側のリンク部の位置及び姿勢を示す状態情報を取得するステップと、
読み取ったリンク部の長さ及び取得した前記状態情報に基づいて、付け根側のリンク部に関する位置及び角度のうち少なくとも一つを演算するステップと
を実行させることを特徴とする演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定対象部位を測定した結果に基づいて、演算対象部位を演算する演算装置、そのような演算装置を用いた演算方法、及びそのような演算装置を実現するための演算プログラムに関する。
【背景技術】
【０００２】
工場等の様々な作業現場においては、産業用ロボット等の機械と人とが協調して作業を行っている。人が機械と安全に協調作業を行うことを目的として、人及び機械の動作を検出及び解析する様々な技術が注目されている。
【０００３】
人の動作の検出及び解析には、センサを用いたモーションセンシング等の技術が注目されている。例えば、慣性センサを用いて人のモーションセンシングを行う場合には、予め人体の形状を模式化した人体モデルとして、被測定者の身体の形状を示す情報を記録しておく。そして、被測定者が動作を行う場合には、同様の慣性センサで身体を測定した結果と、予め記録しておいた人体モデルとに基づいて、被測定者の動作を演算する。例えば、特許文献１には、予め記憶させた人体モデルに基づいて、人体モデルの好適な動きを解析する運動指導装置が開示されている。特許文献１では、動作をセンサで測定するために、被測定者はセンサモジュールを装着しており、センサモジュールには、様々な位置にセンサが取り付けられている。
【０００４】
また、産業用ロボット等の機械についても、センサを用いて動作の検出及び解析をすることができる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−２７６２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載されている運動指導装置のように、様々な箇所にセンサを取り付ける場合、センサ数が数多く必要となるため、コストの上昇、取付作業の煩雑化等の問題が生じる。なお、産業用ロボット等の機械では、センサを用いずに、動作に係るデータをエンコーダから取得することも可能であるが、エンコーダから動作に係るデータを取得する方法は、人の動作の検出及び解析に適用することはできない。
【０００７】
本発明は斯かる理由に鑑みてなされたものであり、先端側の測定対象部位の測定結果に基づいて、付け根側の演算対象部位を演算することにより、コストの上昇、取付作業の煩雑化等の問題を抑制することが可能な演算装置の提供を主たる目的とする。
【０００８】
また、本発明は、本発明に係る演算装置を用いた演算方法の提供を他の目的とする。
【０００９】
また、本発明は、本発明に係る演算装置を実現するための演算プログラムの提供を更に他の目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本願記載の演算装置は、付け根から先端までに複数のリンク部が屈曲部で接続される対象の測定対象部位を測定した結果に基づいて、前記対象の演算対象部位を演算する演算装置であって、予め各リンク部の長さを記録している記録部から、記録されているリンク部の長さを読み取る読取部と、測定した結果に基づく先端側のリンク部の位置及び姿勢を示す状態情報を取得する状態情報取得部と、前記読取部が読み取ったリンク部の長さ及び前記状態情報取得部が取得した前記状態情報に基づいて、付け根側のリンク部に関する位置及び角度のうち少なくとも一つを演算する演算部とを備えることを特徴とする。
【００１１】
また、前記演算装置において、前記演算部が演算する付け根側のリンク部に関する位置及び角度は、先端側のリンク部及び付け根側のリンク部を接続する屈曲部の位置及び角度、並びに付け根側のリンク部の付け根の角度であることを特徴とする。
【００１２】
また、前記演算装置において、前記対象は、人体であり、前記リンク部は、前記人体の体肢の一部を構成するリンク部であり、前記屈曲部は、前記人体の体肢の一部を構成する関節であり、前記リンク部の前記先端側及び前記付け根側は、前記体肢の遠位側及び近位側であることを特徴とする。
【００１３】
また、前記演算装置において、前記演算部が演算する近位側のリンク部に関する位置及び角度は、前記近位側のリンク部における遠位側の関節の位置及び角度、並びに近位側の関節の角度であることを特徴とする。
【００１４】
また、前記演算装置において、前記対象は、複数のリンク部がジョイント部で接続され一端が自由端で他端が固定端となる制御対象であり、前記リンク部の前記先端側及び前記付け根側は、前記制御対象の自由端側及び固定端側であることを特徴とする。
【００１５】
また、前記演算装置において、前記測定対象部位を測定した結果である速度、加速度、角速度、角加速度、圧力及び磁気のうち少なくとも一つを測定情報として取得する測定情報取得部を備え、前記状態情報取得部は、前記測定情報取得部が取得した測定情報に基づいて、前記対象の状態情報を演算することにより取得することを特徴とする。
【００１６】
また、前記演算装置において、前記演算部は、逆運動学に基づいて演算することを特徴とする。
【００１７】
さらに、本願記載の演算方法は、付け根から先端までに複数のリンク部が屈曲部で接続される対象の測定対象部位を測定した結果に基づいて、前記対象の演算対象部位を演算する演算方法であって、読取部が、予め各リンク部の長さを記録している記録部から、記録されているリンク部の長さを読み取るステップと、状態情報取得部が、測定した結果に基づく先端側のリンク部の位置及び姿勢を示す状態情報を取得するステップと、前記演算部が、前記読取部が読み取ったリンク部の長さ及び前記状態情報取得部が取得した前記状態情報に基づいて、付け根側のリンク部に関する位置及び角度のうち少なくとも一つを演算するステップとを備えることを特徴とする。
【００１８】
さらに、本願記載の演算プログラムは、コンピュータに、付け根から先端までに複数のリンク部が屈曲部で接続される対象の測定対象部位を測定した結果に基づいて、前記対象の演算対象部位を演算させる演算プログラムであって、コンピュータに、予め各リンク部の長さを記録している記録部から、記録されているリンク部の長さを読み取るステップと、測定した結果に基づく先端側のリンク部の位置及び姿勢を示す状態情報を取得するステップと、読み取ったリンク部の長さ及び取得した前記状態情報に基づいて、付け根側のリンク部に関する位置及び角度のうち少なくとも一つを演算するステップとを実行させることを特徴とする。
【００１９】
本願記載の演算装置、演算方法及び演算プログラムは、測定対象部位を測定した結果に基づく先端側の状態情報に基づいて、付け根側の演算対象部位を演算する。
【発明の効果】
【００２０】
本発明は、付け根から先端までに複数のリンク部が屈曲部で接続される対象に対し、先端側のリンク部の位置及び姿勢を示す状態情報、並びに予め記録されているリンク部の長さに基づいて、付け根側のリンク部に関する位置及び／又は姿勢を演算する。これにより、先端側の位置及び姿勢を測定すれば、付け根側の位置及び／又は姿勢を演算により求めることができる。従って、取り付けるべきセンサ数を削減することができるので、センサの取付に伴うコストの上昇、取付作業の煩雑化等の問題を抑制することが可能である等、優れた効果を奏する。また、測定の対象を作業者等の人体とする場合には、エンコーダ等の内蔵機器による測定が極めて困難であるため、本発明の適用による効果は優れたものとなる。
【図面の簡単な説明】
【００２１】
【図１】本願記載の演算装置を用いたシステムの一例を概念的に示す説明図である。
【図２】本願記載の演算装置、ロボット及び装着装置のハードウェア構成の一例を示すブロック図である。
【図３】本願記載の演算装置が備えるモデル記録部の記録内容の一例を概念的に示す説明図である。
【図４】本願記載の演算装置及びその他の各種装置の機能構成の一例を示す機能ブロック図である。
【図５】本願記載の演算装置を用いた演算方法においてモデル化した人体の一部を示す概念図である。
【図６】本願記載の演算装置の第１人体モデル記録処理の一例を示すフローチャートである。
【図７】本願記載の演算装置の第２人体モデル記録処理の一例を示すフローチャートである。
【図８】本願記載の演算装置の演算処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態について図面を参照しながら説明する。なお、以下の実施形態は、本発明を具現化した一例であって、本発明の技術的範囲を限定する性格のものではない。
【００２３】
＜概要＞
先ず、本願記載の演算装置１を用いたシステムの概要について説明する。図１は、本願記載の演算装置１を用いたシステムの一例を概念的に示す説明図である。本願記載の演算装置１は、例えば、所定の制御命令に従って作業する産業用ロボット（以下、ロボットという）２と、作業者とが協調して作業するＦＡ（Factory Automation）システム等のシステムにおいて、ロボット２、作業者等の対象の動作の解析等の演算に用いられる。更に具体的には、本願記載の演算装置１は、作業者、ロボット２等の対象について、測定対象部位の測定を行い、測定した結果に基づいて、演算対象部位についての演算を行う。作業者は、身体の様々な測定対象部位、例えば、頭部、前腕、下腿等の測定対象部位に、加速度センサ、ジャイロセンサ等の各種慣性センサを備える装着装置３を装着する。また、装着装置３には、後述する演算の基準として肩及び股関節の位置を測定するために、肩、肩の位置に近似される胸部、股関節等の部位に各種センサが配設されている。ただし、股関節の位置については、他の測定対象部位に位置する各種センサの測定結果から推測することが可能であれば、推測結果にて代替するものとし、省略することも可能である。また、複数のリンク部が、屈曲部となるジョイント部で接続され、一端が自由端で他端が固定端となるアーム部を備えたロボット２等の制御対象を対象とする場合においては、アーム部の自由端側の先端近傍等の測定対象部位に、加速度センサ、ジャイロセンサ等の各種慣性センサが取り付けられる。なお、図１では、理解を容易にするため、装着装置３を装着した作業者及びロボット２において、慣性センサが位置する部位を白丸で示している。
【００２４】
慣性センサは、付け根から先端までに複数のリンク部が屈曲部で接続される対象において、先端側のリンク部に取り付けられ、取り付けられた部位が位置及び姿勢の測定対象となる。作業者等の人体を対象とする場合においては、関節が屈曲部となり、関節で屈曲する前腕、上腕、下腿、大腿等がリンク部となる。そして、前腕、下腿等の遠位側のリンク部が測定対象部位となり、上腕、大腿等の近位側のリンク部が演算対象部位となる。なお、必ずしも体肢に限らず、体幹における先端側のリンク部である頭部を測定対象部位とし、胸部、腹部等の部位を演算対象部位とすることも可能である。また、前述のアーム部を備えたロボット２等の制御対象を対象とする場合においては、自由端側のリンク部の先端近傍が測定対象となり、固定端側のリンク部が演算対象部位となる。
【００２５】
各種慣性センサを備える装着装置３は、作業者の身体の測定対象部位を測定し、測定した結果として作業者の身体の測定対象部位の動作に関する各種生データ等の測定情報を演算装置１へ出力する。装着装置３に取り付けるセンサとしては、加速度センサ、ジャイロセンサ等の慣性センサが用いられる。また、ロボット２からも慣性センサによる測定結果として、各種生データ等の測定情報が演算装置１へ出力される。
【００２６】
演算装置１は、装着装置３及びロボット２からそれぞれ出力される各種測定情報を取得し、作業者の動作を検出するモーションセンシング等の技術により、作業者とロボット２との協調した作業を支援する。演算装置１は、ロボット２を制御する制御用コンピュータ等のコンピュータを用いて構成されており、無線又は有線の通信方法により、装着装置３及びロボット２と通信可能に接続されており、各種情報及び信号の通信を行う。
【００２７】
＜装置構成＞
次に、本願記載の各種装置の構成を、演算装置１を主として説明する。図２は、本願記載の演算装置１、ロボット２及び装着装置３のハードウェア構成の一例を示すブロック図である。演算装置１は、制御部１０及び記録部１１を備え、更に他の装置との通信用に、測定情報取得部１２、モデル入力部１３等のインターフェースを備えている。
【００２８】
制御部１０は、ＣＰＵ（Central Processing Unit）等のプロセッサ及びレジスタ等のメモリを用いて構成されており、各種命令を実行することにより、装置全体を制御し、また、ロボット２に対して制御命令を出力する。
【００２９】
記録部１１は、ＲＯＭ（Read Only Memory）、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）等の不揮発メモリと、ＲＡＭ（Random Access Memory）等の揮発メモリと、ハードディスクドライブ、半導体メモリ等の記録媒体とを備えており、各種プログラム及び情報等のデータを記録している。また、記録部１１の記録領域には、制御用コンピュータ等のコンピュータを本発明に係る演算装置１として機能させる演算プログラムＰＧが記録されている。
【００３０】
更に、記録部１１の記録領域の一部は、作業者の身体の形状を模式化した人体モデル、ロボット２の形状を模式化したロボットモデル等のモデルを示すモデル情報を記録するモデル記録部１１ａ等のデータベースとして用いられている。なお、演算装置１が備える記録部１１の記録領域の一部をモデル記録部１１ａとして用いるのではなく、各種情報を記録するサーバコンピュータ等の記録装置を演算装置１に接続し、演算装置１に接続した記録装置の記録領域の一部をモデル記録部１１ａ等のデータベースとして用いても良い。即ち、モデル記録部１１ａは、演算装置１が備える制御部１０により読み取り可能な状態であれば、様々な形態に設計することが可能である。
【００３１】
図３は、本願記載の演算装置１が備えるモデル記録部１１ａの記録内容の一例を概念的に示す説明図である。図３は、モデル記録部１１ａに記録された人体モデルを示すモデル情報を例示しており、作業者を特定する作業者特定情報（作業者ＩＤ）に対応付けて、リンク部位、リンク長さ、可動域等の各種項目に応じたデータがレコードとして記録されている。リンク部位の項目には、左前腕、左上腕等のリンク部として扱われる部位の名称を示す情報が記録されている。リンク長さの項目には、リンク部として扱われる部位の長さを示す情報が記録されている。可動域の項目には、リンク部の可動範囲が、基準座標系にて示されるＸ軸、Ｙ軸及びＺ軸毎の角度範囲を示す情報として記録されている。なお、モデル記録部１１ａに記録され、また演算装置１にて取り扱われるリンク部の名称及び長さは、人体モデルとしての名称及び長さであり、医学的、解剖学的な意味での部位の名称及び長さと必ずしも一致するものではない。例えば、モデル記録部１１ａに記録されている左前腕及びその長さとは、作業者の左肘関節から左手首近傍に装着された慣性センサまでの部位及び長さを示し、医学的、解剖学的な意味での左前腕に近似しているが、必ずしも一致するものではない。また、モデル記録部１１ａにロボットモデル等のモデルを示すモデル情報を記録する場合には、作業者特定情報に代替してロボット２を特定するロボット特定情報が記録され、ロボット特定情報に対応付けて、リンク部位、リンク長さ、可動域等の各種項目毎の情報が記録される。
【００３２】
図２のブロック図に戻り、測定情報取得部１２は、ロボット２及び装着装置３から、測定の結果を示す測定情報等の各種情報を取得するインターフェースである。モデル入力部１３は、例えば、人体モデル、ロボットモデル等のモデルを示すモデル情報等の各種情報の入力に用いられる各種装置と通信するためのインターフェースである。なお、これらのインターフェースは、必ずしもそれぞれ個別のデバイスとして存在する必要は無く、適宜共通化することも可能であり、また、装着装置３用のインターフェース及びロボット２用のインターフェースをそれぞれ個別に備えさせることも可能である。更に、モデル入力部１３は、タブレット型コンピュータ等の装置を用いた情報入力装置４から人体モデル、ロボットモデル等のモデルを示すモデル情報の入力を受け付けても良く、各種半導体メモリ等の携帯型記録媒体からモデル情報の入力を受け付けても良い等、適宜設計することが可能である。
【００３３】
そして、制御用コンピュータ等のコンピュータは、記録部１１に記録された各種プログラム、例えば演算プログラムＰＧを読み取り、読み取った演算プログラムＰＧに含まれるリンク部の長さの読み取り、リンク部の位置及び姿勢を示す状態情報の取得、リンク部の位置及び角度の演算等の各種ステップを制御部１０の制御にて実行することにより、演算装置１として機能する。
【００３４】
ロボット２は、装置全体を制御する制御部１０、作業を行うアーム部等の動作部、加速度センサ、ジャイロセンサ等の動作状態を測定するセンサ類を用いた測定部、その他出力部等の各種構成を備えている。
【００３５】
装着装置３は、加速度センサ、ジャイロセンサ等の動作状態を測定するセンサ類を用いた測定部、その他出力部等の各種構成を備えている。
【００３６】
ロボット２及び装着装置３は、加速度センサ、ジャイロセンサ等の慣性センサを用いた測定部、その他出力部等の各種構成を備えている。ロボット２及び装着装置３に取り付けるセンサとしては、加速度センサ、ジャイロセンサの他、磁気センサ、圧力センサ等の物理量を測定するセンサを用いることができる。そして、ロボット２及び装着装置３は、速度、角速度、加速度、角加速度、圧力、磁気等の物理量を測定部にて測定し、測定した結果を示す生データ等の測定情報として、出力部から演算装置１へ出力する。演算装置１は、速度、角速度、加速度、角加速度、圧力、磁気等の物理量を示す測定情報を測定情報取得部１２にて取得し、取得した測定情報に基づいて算出される測定対象部位の状態を示す位置情報、姿勢情報等の状態情報を取得する。例えば、加速度センサが測定した加速度を２回積分することにより位置情報を算出することができる。なお、速度、角速度、加速度、角加速度、圧力、磁気等の物理量を示す測定情報に基づく、位置情報、姿勢情報等の状態情報の算出は、ロボット２及び装着装置３にて実施しても良く、演算装置１にて実施しても良い。
【００３７】
図４は、本願記載の演算装置１及びその他の各種装置の機能構成の一例を示す機能ブロック図である。演算装置１は、演算プログラムＰＧ等の各種プログラムを実行することにより、制御部１０の制御に基づき、状態情報取得部１０ａ、モデル演算部１０ｂ、モデル読取部１０ｃ、動作演算部１０ｄ等の各種演算を行う機能を実現する。なお、これら各種機能を実現する様々な演算部は、ＬＳＩ（Large Scale Integration ）、ＶＬＳＩ（Very Large Scale Integration）等の半導体チップを用いたそれぞれ専用の回路として実装することも可能である。
【００３８】
状態情報取得部１０ａは、測定情報取得部１２がロボット２及び装着装置３から取得した速度、角速度、加速度、角加速度、圧力、磁気等の物理量を示す測定情報に基づいて、測定対象部位の位置情報、姿勢情報等の状態情報を演算により求めて取得する。なお、ロボット２及び装着装置３から位置情報、姿勢情報等の状態情報が出力され、測定情報取得部１２が状態情報を取得する場合、制御部１０の状態情報取得部１０ａは、取得した状態情報を以降の演算に用いる情報としてそのまま取得する。
【００３９】
モデル演算部１０ｂは、状態情報取得部１０ａが取得した位置情報、姿勢情報等の各種状態情報に基づいて、作業者の身体の形状を模式化した人体モデル、ロボット２の形状を模式化したロボットモデル等のモデル情報を算出する演算を実行し、演算結果であるモデル情報をモデル記録部１１ａに記録させる処理を実行する。
【００４０】
モデル読取部１０ｃは、モデル記録部１１ａに記録されている様々なモデル情報のうちから必要なモデル情報を読み取り、動作演算部１０ｄに渡す処理を実行する。
【００４１】
動作演算部１０ｄは、モデル読取部１０ｃが読み取ったモデル情報に基づいて、作業者、ロボット２等の対象の演算対象部位の動作状態を演算する処理を実行する。動作状態は、例えば、演算対象部位の角度及び位置として算出される。
【００４２】
＜演算＞
次に演算方法について説明する。ここでは、対象を作業者とし、作業者の測定対象部位を測定した結果である測定情報から得られる状態情報に基づいて、作業者の演算対象部位を演算する例を主として説明する。なお、ロボット２等の制御対象を対象とする場合でも、実質的な演算方法は作業者を対象とする場合と同様である。図５は、本願記載の演算装置１を用いた演算方法においてモデル化した人体の一部を示す概念図である。演算装置１は、作業者、ロボット２等の対象の測定対象部位を経時的に測定した結果を取得し、予め記録部１１に記録されているリンク部の長さと、取得した測定対象部位の測定情報から得られる位置及び姿勢を示す状態情報とに基づいて、演算対象部位の位置及び姿勢を演算する。測定対象部位は、装着装置３の慣性センサに対応する手首近傍等の前腕の遠位側の部位、足首等の下腿の遠位側の部位である。また、演算対象部位は、肘関節、肩関節、膝関節、股関節等の部位、即ち、前腕、上腕、下腿、大腿等のリンクにおける近位側の部位である。演算には、例えば、ヤコビ行列を用いた数学的な演算方法を適用することができる。
【００４３】
図５において、肩関節ｐ0 を原点とした上腕の相対座標系をｐ0 −ｘ0 ｙ0 ｚ0 、肘関節ｐ1 を原点とした前腕の相対座標系をｐ1 −ｘ1 ｙ1 ｚ1 、として示す。なおそれぞれの座標系は直交座標系である。また、任意にとった絶対座標系の原点に対し、肩関節、肘関節、及び測定対象部位の位置情報は、それぞれｐ0 （ｘp0，ｙp0，ｚp0）、ｐ1 （ｘp1，ｙp1，ｚp1）、及びｐs （ｘS ,ｙS ,ｚS ）として示される。上腕の長さは、肩関節ｐ0 から肘関節ｐ1 までの長さｌ1 として示される。肘関節ｐ1 から手首近傍の測定対象部位ｐs までは、長さｌ2 として示される。測定対象部位の位置が手首近傍である場合、長さｌ2 は前腕の長さに近似される。また、必要に応じて、肩関節及び肘関節を、それぞれジョイント部ｋ、及びジョイント部ｋ＋１と称し、長さをｌ1 として示される上腕、及び長さをｌ2 として示される肘関節から測定対象部位までを、それぞれリンクｋ、及びリンクｋ＋１と称する。更に、肩関節の関節角を（θ1 ,θ2 ，θ3 ）とし、肘関節の関節角を（θ4 ,θ5 ，θ6 ）として示す。
【００４４】
ここで、測定対象部位の位置を示す行列をＰ、測定対象部位の姿勢を示す行列をＱ、そして、演算対象部位である肩関節の関節角及び肘関節の関節角を示す行列をΘとすると、行列Ｐ、Ｑ、Θは、下記の式（１）〜式（３）として定義することができる。
【００４５】
【数１】
2017146115.tif 000003
【００４６】
また、肩の初期座標を基準座標とし、肩関節ｐ0 を原点とした上腕の相対座標系から基準座標系への変換は、下記の式（４）に示す同次変換行列 gＴ0 として定義することができる。肘関節ｐ1 を原点とした前腕の相対座標系から肩関節ｐ0 を原点とした上腕の相対座標系への変換は、下記の式（５）に示す同次変換行列 0Ｔ1 として定義することができる。測定対象部位を原点とした相対座標系から肘関節ｐ1 を原点とした前腕の相対座標系への変換は、下記の式（６）に示す同次変換行列1ＴS として定義することができる。
【００４７】
【数２】
2017146115.tif 000004
【００４８】
式（４）において、 gＲ0 は、基準座標から見た肩の姿勢を表す回転行列を示している。式（５）において、 0Ｒ1 は、肩の座標系から見た肘の姿勢を表す回転行列を示している。式（５）において、Ｌ1 は、下記の式（７）にて示すように、肩の座標系から肘の座標系への平行移動行列を示している。式（６）において、Ｅは、３×３の単位行列を示している。式（６）において、Ｌ2 は、下記の式（８）にて示すように、肘の座標系から測定対象部位を原点とした座標系への平行移動行列を示している。
【００４９】
【数３】
2017146115.tif 000005
【００５０】
そして、式（１）として定義したＰは、式（４）〜（６）として示した順運動学に基づき同次変換行列 gＴ0 、0Ｔ1 、1ＴS を用いて下記の式（９）として表すことができる。
【００５１】
【数４】
2017146115.tif 000006
【００５２】
他方、作業者が装着装置３を装着することにより、慣性センサは、作業者の測定対象部位であるリンクｋ＋１（前腕）に固定されることから、式（２）として定義したＱは、式（３）として定義したΘを用いて表すことができる。作業者の前腕に固定された慣性センサに対応する測定対象部位の位置及び姿勢は、関数ｆを用いた下記の式（１０）として表すことができる。
【００５３】
【数５】
2017146115.tif 000007
【００５４】
上記の式（１０）を微分することにより、測定対象部位の速度及び角速度は、ヤコビ行列Ｊを用いた下記の式（１１）として表すことができる。
【００５５】
【数６】
2017146115.tif 000008
【００５６】
式（１１）において、関節の自由度と測定対象部位に位置する慣性センサの自由度とが等しい場合、ヤコビ行列Ｊの逆行列Ｊ-1が存在するのであれば、式（１１）と逆行列Ｊ-1との演算により下記の式（１２）を求めることができる。
【００５７】
【数７】
2017146115.tif 000009
【００５８】
ただし、リンクｋを上腕とし、リンクｋ＋１を前腕とした場合、肘の自由度は一般的に２ＤＯＦ（Degree Of Free）であることから「関節の自由度（５ＤＯＦ）＜慣性センサの自由度（６ＤＯＦ）」となる。この場合、疑似ヤコビ行列（ＪT Ｊ）ＪT を用いて式（１１）から下記の式（１３）を求めることができる。
【００５９】
【数８】
2017146115.tif 000010
【００６０】
そして、式（１２）又は式（１３）を積分することにより、Θとして、肩関節の関節角（θ1 ,θ2 ，θ3 ）及び肘関節の関節角（θ4 ,θ5 ，θ6 ）を算出することができる。更に、肩関節の関節角（θ1 ,θ2 ，θ3 ）及び肩関節ｐ0 から肘関節ｐ1 までの長さｌ1 から、肘関節の位置情報ｐ1 （ｘp1，ｙp1，ｚp1）を算出することができる。即ち、Ｐ及びＱ並びにｌ1 及びｌ2 からΘを算出することができ、更にｌ1 を加味して、ｐ1（ｘp1，ｙp1，ｚp1）を算出することができる。以上の具体例として示したように、測定対象部位の位置情報及び姿勢情報、並びに上腕の長さ及び前腕に近似される長さ（肘関節から測定対象部位までの長さ）に基づいて、肘関節（演算対象部位）及び肩関節（演算対象部位）の角度、並びに肘関節（演算対象部位）の位置を演算により算出することができる。即ち、上腕の遠位側である肘関節の角度及び位置、並びに近位側である肩関節の角度を演算により算出することができる。なお、ここで例示する演算方法では、肩関節の位置情報を固定値としているため算出する必要は無いが、他の座標系を用いる場合、肩関節（演算対象部位）の位置座標をも算出するようにしても良い。
【００６１】
＜処理構成＞
上記演算を実現する本願記載の演算装置１の処理について説明する。なお、ここでは、対象を作業者とし、作業者の測定対象部位を測定した結果から得られる状態情報に基づいて、作業者の演算対象部位を演算する例を主として説明するが、ロボット２等の制御対象を対象とする場合でも、実質的な処理は作業者を対象とする場合と同様である。
【００６２】
図６は、本願記載の演算装置１の第１人体モデル記録処理の一例を示すフローチャートである。第１人体モデル記録処理は、装着装置３を装着した作業者が動作を行い、動作の測定結果として測定情報を取得し、取得した測定情報に基づく状態情報から演算される人体モデルを、モデル記録部１１ａに記録する処理である。
【００６３】
演算装置１が備える制御部１０は、演算プログラムＰＧ等の各種プログラムを実行することにより、第１人体モデル記録処理を実行する。演算装置１の制御部１０は、作業者が装着している装着装置３から測定情報取得部１２により作業者の動作を測定した結果として測定情報を取得する（Ｓ１０１）。装着装置３として各種慣性センサを装着した作業者は、所定の基準動作を行い、装着装置３は、基準動作を行っている作業者に対し、測定対象部位の速度、角速度、加速度、角加速度、圧力、磁気等の物理量の測定を行う。装着装置３は、測定した結果を示す測定情報を演算装置１へ出力する。ステップＳ１０１において、演算装置１は、作業者が基準動作を行ったことにより測定された結果である測定対象部位の測定情報を取得する。
【００６４】
制御部１０は、状態情報取得部１０ａにより、測定情報取得部１２が取得した測定情報に基づいて、測定対象部位の位置情報、姿勢情報等の状態情報を演算により求めて取得する（Ｓ１０２）。ステップＳ１０２は、測定情報取得部１２が取得した作業者の測定対象部位を測定した生データ等の測定情報に基づいて、作業者の測定対象部位の位置情報及び姿勢情報を状態情報として演算する処理である。
【００６５】
制御部１０は、モデル演算部１０ｂの演算により、取得した状態情報に基づいて、作業者の身体の形状を模式化した人体モデル、例えば、上腕の長さ、前腕の長さに近似される肘関節から測定対象部位までの長さ等のリンク部の長さを示すモデル情報を演算する（Ｓ１０３）。作業者が装着した装着装置３から取得した測定の結果から得られる各種状態情報に基づく人体モデルの演算は、先行する様々な技術を用いて行うことができる。例えば、「金杉洋、柴崎亮介、“ウェアラブルセンサによる人体動作の計測と解析”、日本写真測量学会、平成１７年度年次学術講演会論文集、pp.199-202、2005.06 」に記載されている方法を適用することが可能である。
【００６６】
そして、制御部１０は、演算したリンク部の長さ等の人体モデルを示すモデル情報を、動作を行った作業者を特定する作業者特定情報に対応付けてモデル記録部１１ａに記録する（Ｓ１０４）。
【００６７】
このようにして、第１人体モデル記録処理が実行される。
【００６８】
図７は、本願記載の演算装置１の第２人体モデル記録処理の一例を示すフローチャートである。第２人体モデル記録処理は、予め導出された人体モデルを記録している情報入力装置４から、リンク部の長さ等の人体モデルの入力を受け付けてモデル記録部１１ａに記録する処理である。
【００６９】
演算装置１が備える制御部１０は、演算プログラムＰＧ等の各種プログラムを実行することにより、第２人体モデル記録処理を実行する。演算装置１の制御部１０は、情報入力装置４からモデル入力部１３により、リンク部の長さ等の人体モデルを示すモデル情報及び対応する作業者特定情報の入力を受け付ける（Ｓ２０１）。そして、制御部１０は、受け付けたリンク部の長さ等のモデル情報を作業者特定情報に対応付けてモデル記録部１１ａに記録する（Ｓ２０２）。
【００７０】
このようにして、第２人体モデル記録処理が実行される。
【００７１】
なお、モデル記録部１１ａにモデル情報を記録する処理としては、第１人体モデル記録処理及び第２人体モデル記録処理のうちのいずれを用いても良く、更に他の方法を用いるようにしても良い。また、ロボット２等の制御対象を対象とする場合であっても、ロボット２のリンク部の長さ等のモデル情報を記録する実質的に同様の処理が実行される。
【００７２】
図８は、本願記載の演算装置１の演算処理の一例を示すフローチャートである。演算処理とは、作業者、ロボット２等の対象の測定対象部位を測定した測定情報を取得し、取得した測定情報に基づく状態情報から演算対象部位を演算する処理である。
【００７３】
演算装置１が備える制御部１０は、演算プログラムＰＧ等の各種プログラムを実行することにより、演算処理を実行する。演算装置１の制御部１０は、モデル読取部１０ｃにより、モデル情報を記録しているモデル記録部１１ａから、モデル情報として、上腕の長さ、前腕の長さに近似される肘関節から測定対象部位までの長さ等のリンク部の長さを読み取る（Ｓ３０１）。
【００７４】
更に、制御部１０は、測定情報取得部１２により、測定対象部位を測定した結果である測定情報を取得する（Ｓ３０２）。そして、制御部１０は、状態情報取得部１０ａにより、取得した測定情報から、先端側のリンク部の位置を示す位置情報及び姿勢を示す姿勢情報を状態情報として取得する（Ｓ３０３）。ステップＳ３０２〜Ｓ３０３において、対象が作業者である場合、例えば、遠位側のリンク部の位置情報及び姿勢情報を状態情報として取得する。また、対象がロボット２のアーム部等の制御対象である場合、自由端側のリンク部の位置情報及び姿勢情報を状態情報として取得する。ステップＳ３０２の測定情報の取得とは、慣性センサ等の各種センサを備える装着装置３にて測定された結果である測定対象部位を測定した速度、角速度、加速度、角加速度、圧力、磁気等の物理量を示す生データ等の測定情報の取得である。そして、ステップＳ３０３の状態情報の取得とは、測定情報取得部１２が取得した測定対象部位を測定した測定情報に基づいて、測定対象部位の位置情報及び姿勢情報を状態情報として演算する処理である。なお、装着装置３が測定情報から状態情報を演算し、装着装置３から演算装置１へ出力した状態情報を、演算装置１が測定情報取得部１２を介して状態情報取得部１０ａにて取得するようにしても良い。
【００７５】
制御部１０は、動作演算部１０ｄにより、モデル情報として読み取ったリンク部の長さ並びに状態情報として取得した位置情報及び姿勢情報に基づいて、演算対象部位である付け根側のリンク部の角度を演算し（Ｓ３０４）、更に位置を演算する（Ｓ３０５）。ステップＳ３０３〜Ｓ３０４では、例えば、前述の演算方法により、測定対象部位の位置Ｐ及び姿勢Ｑ並びにリンク部の長さｌ1 及びｌ2 から、演算対象部位の角度Θを演算し、更に位置ｐを演算する。演算方法として示した前述の具体例では、演算対象部位の角度Θとして、肩関節（ジョイント部ｋ）の関節角（θ1 ，θ2 ，θ3 ）及び肘関節（ジョイント部ｋ＋１）の関節角（θ4 ，θ5 ，θ6 ）を演算し、更に肘関節（ジョイント部ｋ＋１）の位置情報ｐ1 （ｘp1，ｙp1，ｚp1）を演算する例を示している。なお、詳細かつ具体的な演算の方法及び理論については、上述の演算に関する記載を参照するものとし、ここではその説明を省略する。
【００７６】
そして、制御部１０は、演算処理を終了するか否かを判定する（Ｓ３０６）、例えば、作業者が測定すべき動作を終了し、演算処理を終了させる所定の操作を行った場合、操作を受け付けた制御部１０は、演算処理を終了すると判定する。
【００７７】
ステップＳ３０４において、演算処理を終了すると判定した場合（Ｓ３０６：ＹＥＳ）、制御部１０は、演算処理を終了する。ステップＳ３０６において、演算処理を続行すると判定した場合（Ｓ３０６：ＮＯ）、制御部１０は、ステップＳ３０２へ戻り、以降の処理を繰り返す。
【００７８】
このようにして、演算処理が実行される。なお、ここでは、演算装置１の処理として、演算対象部位の位置及び姿勢を演算する処理を示しているが、演算した結果に基づいて、演算装置１がロボット２を制御する等、演算結果は様々な処理に繋げることが可能である。
【００７９】
以上のように本願記載の演算装置１は、ロボット２、作業者等の対象に対し、先端側の測定対象部位の測定結果に基づいて、付け根側の演算対象部位を演算することができる。従って、測定に用いられるセンサの個数を削減することが可能である。特に、ロボット２の様な制御対象は、センサを取り付けなくともエンコーダから動作に係る情報を取得することが可能であるが、作業者については、エンコーダの様な方法で情報を取得することができない。即ち、本願記載の演算装置１は、作業者の動作に係る情報を取得する上で特に有効である。
【００８０】
本発明は、以上説明した実施形態に限定されるものではなく、他の色々な形態で実施することが可能である。そのため、上述した実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈してはならない。本発明の範囲は請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。更に、請求の範囲の均等範囲に属する変形や変更は、全て本発明の範囲内のものである。
【００８１】
例えば、前記実施形態では、手首近傍を測定対象とし、肘関節及び肩関節の角度及び位置を演算する形態を示したが、本発明はこれに限らず、足首近傍を測定対象とし、膝関節及び股関節の角度及び位置を演算する等、様々な形態に展開することが可能である。
【符号の説明】
【００８２】
１        演算装置
１０      制御部
１０ａ      状態情報取得部
１０ｂ      モデル演算部
１０ｃ      モデル読取部（読取部）
１０ｄ      動作演算部（演算部）
１１      記録部
１１ａ      モデル記録部
１２      測定情報取得部
１３      モデル入力部
２        ロボット
３        装着装置
４        情報入力装置
ＰＧ      演算プログラム
【図１】
2017146115.tif 000011
【図２】
2017146115.tif 000012
【図３】
2017146115.tif 000013
【図４】
2017146115.tif 000014
【図５】
2017146115.tif 000015
【図６】
2017146115.tif 000016
【図７】
2017146115.tif 000017
【図８】
2017146115.tif 000018