JP7215965B2 - 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム - Google Patents

姿勢推定装置、姿勢推定方法、および姿勢推定プログラム Download PDF

Info

Publication number
JP7215965B2
JP7215965B2 JP2019108105A JP2019108105A JP7215965B2 JP 7215965 B2 JP7215965 B2 JP 7215965B2 JP 2019108105 A JP2019108105 A JP 2019108105A JP 2019108105 A JP2019108105 A JP 2019108105A JP 7215965 B2 JP7215965 B2 JP 7215965B2
Authority
JP
Japan
Prior art keywords
angular velocity
unit
posture
reference part
correction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019108105A
Other languages
English (en)
Other versions
JP2020201125A (ja
Inventor
治雄 青木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2019108105A priority Critical patent/JP7215965B2/ja
Priority to US16/881,047 priority patent/US11678817B2/en
Priority to CN202010502482.6A priority patent/CN112057078A/zh
Priority to EP20178694.4A priority patent/EP3750479A1/en
Publication of JP2020201125A publication Critical patent/JP2020201125A/ja
Application granted granted Critical
Publication of JP7215965B2 publication Critical patent/JP7215965B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C1/00Measuring angles
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/107Measuring physical dimensions, e.g. size of the entire body or parts thereof
    • A61B5/1071Measuring physical dimensions, e.g. size of the entire body or parts thereof measuring angles, e.g. using goniometers
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1113Local tracking of patients, e.g. in a hospital or private home
    • A61B5/1114Tracking parts of the body
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1116Determining posture transitions
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1126Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb using a particular sensing technique
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7203Signal processing specially adapted for physiological signals or for diagnostic purposes for noise prevention, reduction or removal
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/72Signal processing specially adapted for physiological signals or for diagnostic purposes
    • A61B5/7235Details of waveform analysis
    • A61B5/7242Details of waveform analysis using integration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/185Compensation of inertial measurements, e.g. for temperature effects for gravity
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/183Compensation of inertial measurements, e.g. for temperature effects
    • G01C21/188Compensation of inertial measurements, e.g. for temperature effects for accumulated errors, e.g. by coupling inertial systems with absolute positioning systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2560/00Constructional details of operational features of apparatus; Accessories for medical measuring apparatus
    • A61B2560/02Operational features
    • A61B2560/0223Operational features of calibration, e.g. protocols for calibrating sensors
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B2562/00Details of sensors; Constructional details of sensor housings or probes; Accessories for sensors
    • A61B2562/02Details of sensors specially adapted for in-vivo measurements
    • A61B2562/0219Inertial sensors, e.g. accelerometers, gyroscopes, tilt switches
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/0002Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network
    • A61B5/0015Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by features of the telemetry system
    • A61B5/0024Remote monitoring of patients using telemetry, e.g. transmission of vital signals via a communication network characterised by features of the telemetry system for multiple sensor units attached to the patient, e.g. using a body or personal area network
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/02Detecting, measuring or recording pulse, heart rate, blood pressure or blood flow; Combined pulse/heart-rate/blood pressure determination; Evaluating a cardiovascular condition not otherwise provided for, e.g. using combinations of techniques provided for in this group with electrocardiography or electroauscultation; Heart catheters for measuring blood pressure
    • A61B5/0205Simultaneously evaluating both cardiovascular conditions and different types of body conditions, e.g. heart and respiratory condition
    • A61B5/02055Simultaneously evaluating both cardiovascular condition and temperature
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61BDIAGNOSIS; SURGERY; IDENTIFICATION
    • A61B5/00Measuring for diagnostic purposes; Identification of persons
    • A61B5/103Detecting, measuring or recording devices for testing the shape, pattern, colour, size or movement of the body or parts thereof, for diagnostic purposes
    • A61B5/11Measuring movement of the entire body or parts thereof, e.g. head or hand tremor, mobility of a limb
    • A61B5/1121Determining geometric values, e.g. centre of rotation or angular range of movement
    • A61B5/1122Determining geometric values, e.g. centre of rotation or angular range of movement of movement trajectories

Landscapes

  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Heart & Thoracic Surgery (AREA)
  • Public Health (AREA)
  • Veterinary Medicine (AREA)
  • Biophysics (AREA)
  • Pathology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Molecular Biology (AREA)
  • Surgery (AREA)
  • Animal Behavior & Ethology (AREA)
  • Physiology (AREA)
  • General Physics & Mathematics (AREA)
  • Dentistry (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Manufacturing & Machinery (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Psychiatry (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Gyroscopes (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Description

本発明は、姿勢推定装置、姿勢推定方法、および姿勢推定プログラムに関する。
従来、角速度および加速度を計測することが可能なIMUセンサ(Inertial Measurement Unit:慣性計測センサ)を身体に複数個取り付けることで、身体姿勢とその変化(運動)を推定する技術(モーションキャプチャ)が開示されている(例えば、非特許文献1参照)。一般に、IMUセンサで計測した角速度はノイズやバイアス誤差が含まれており、単に積分するだけでは正確な姿勢を計算することができない。そこで、多くの姿勢推定技術では、加速度を用いてロール軸方向およびピッチ軸方向の補正を行うことで推定精度を向上させている。
S. O. H. Madgwick, A. J. L. Harrison, and R. Vaidyanathan, "Estimation of IMU and MARG orientation using a gradient descent algorithm" in 2011 IEEE International Conference on Rehabilitation Robotics, 2011
しかしながら、従来技術の手法では、加速度のみではヨー方向の補正を行うことができない。このため、既存のIMUセンサによるモーションキャプチャシステムでは、角速度および加速度に加え、地磁気計で方位を計測し、ヨー方向の補正を行うことが一般的である。しかし、地磁気は金属でできた建物や家具などの影響を受けて乱れやすいため、ヨー方向補正が正常に動作する環境は限られている。特に長時間計測においては、地磁気の乱れはヨー方向推定精度に大きな影響を及ぼす。ヨー方向の誤差が大きくなると、各身体部位(セグメント)がそれぞれ異なる方向に捻じれた状態になり、人の全身姿勢として不自然なものになる。従来技術の手法では、計測した後の処理で不自然な関節変位や姿勢を修正する機能はあるが、処理に時間がかかるうえ、リアルタイムに修正することはできない場合があった。
本発明は、このような事情を考慮してなされたものであり、より正確な姿勢推定ができる姿勢推定装置、姿勢推定方法、および姿勢推定プログラムを提供することを目的の一つとする。
この発明に係る姿勢推定装置、姿勢推定方法、および姿勢推定プログラムは、以下の構成を採用した。
(1):この発明の一態様に係る姿勢推定装置は、人、動物、または関節の可動域が制限されたロボットである推定対象の複数の箇所に取り付けられ、角速度および加速度を検出する複数のセンサから、角速度および加速度の情報を取得する取得部と、前記取得部により取得された情報を、センサ座標系から基準座標系の情報に変換する変換部と、前記変換された前記角速度を積分することで、前記推定対象において前記センサが取り付けられた参照部位の向きを前記推定対象の姿勢の一部として算出する積分部と、前記推定対象に含まれる基準部位を通る代表平面を想定し、前記代表平面の法線と、前記積分部により算出される前記参照部位の向きとが直交する方向に近づくように、前記参照部位の前記変換された角速度を補正する補正部と、を備える姿勢推定装置である。
(2):上記(1)の態様において、前記積分部および前記補正部の処理は、処理サイクルごとに繰り返し実行され、前記補正部は、前回処理サイクルにおいて前記積分部により算出された前記参照部位の向きが前記代表平面の法線に対して直交する向きから乖離することが継続するのに応じて、前記参照部位の前記変換された角速度を補正する度合いを大きくするものである。
(3):上記(1)または(2)の態様において、前記補正部は、前記代表平面の法線と、前記積分部により算出される前記参照部位の向きとの内積を小さくするように、前記参照部位の前記変換された角速度を補正するものである。
(4):上記(1)から(3)のいずれかの態様において、前記補正部は、更に、前記積分部により算出された前記参照部位の向きから導出される前記参照部位ごとの想定重力加速度方向と、前記取得部により取得された加速度の情報に基づいて認識される前記参照部位ごとの計測重力加速度方向との乖離が小さくなるように、前記参照部位の前記変換された角速度を補正するものである。
(5):この発明の一態様に係る姿勢推定方法は、コンピュータが、人、動物、または関節の可動域が制限されたロボットである推定対象の複数の箇所に取り付けられ、角速度および加速度を検出する複数のセンサから、角速度および加速度の情報を取得し、取得された情報を、センサ座標系から基準座標系の情報に変換し、変換された前記角速度を積分することで、前記推定対象において前記センサが取り付けられた参照部位の向きを前記推定対象の姿勢の一部として算出し、前記推定対象に含まれる基準部位を通る代表平面を想定し、前記代表平面の法線と、算出された前記参照部位の向きが直交する方向に近づくように、前記参照部位の前記変換された角速度を補正する、姿勢推定方法である。
(6):この発明の一態様に係る姿勢推定プログラムは、コンピュータに、人、動物、または関節の可動域が制限されたロボットである推定対象の複数の箇所に取り付けられ、角速度および加速度を検出する複数のセンサから、角速度および加速度の情報を取得させ、取得された情報を、センサ座標系から基準座標系の情報に変換させ、変換された前記角速度を積分することで、前記推定対象において前記センサが取り付けられた参照部位の向きを前記推定対象の姿勢の一部として算出させ、前記推定対象に含まれる基準部位を通る代表平面を想定させ、前記代表平面の法線と、算出された前記参照部位の向きとが直交する方向に近づくように、前記参照部位の前記変換された角速度を補正させる、姿勢推定プログラムである。
請求項1~6に記載の発明によれば、IMUセンサが磁気の影響を受けやすい環境でも、より正確に姿勢推定することができる。
また、請求項2~4に記載の発明によれば、前記被測定対象が一部のセグメントを前記ヨー角方向に対して回転させた状態が継続している場合、前記回転が解消されると仮定した補正をすることができる。
実施形態の姿勢推定装置100の構成図である。 IMUセンサについて説明するための図である。 補正部140による平面想定処理を説明するための図である。 補正部140による方向ベクトルviの定義処理について説明するための図である。 方向ベクトルviが旋回した様子を示す図である。 姿勢推定装置100による補正処理の概要を説明するための図である。 全身補正量計算部144の構成の一例を示す図である。 全身補正量計算部144の構成の他の一例を示す図である。 全身補正量計算部144の演算処理の流れを模式的に示す図である。 全身補正量計算部144の演算処理の流れを模式的に示す図である。 全身補正量計算部144の演算処理の流れを模式的に示す図である。 全身補正量計算部144の演算処理の流れを模式的に示す図である。 姿勢推定装置100を用いたモーションキャプチャ処理の流れの一例を示すフローチャートである。 姿勢推定装置100による姿勢推定処理の流れの一例を示すフローチャートである。
以下、図面を参照し、本発明の姿勢推定装置、姿勢推定方法、および姿勢推定プログラムの実施形態について説明する。
〔全体構成〕
図1は、実施形態の姿勢推定装置100の構成図である。姿勢推定装置100は、例えば、取得部110と、変換部120と、積分部130と、補正部140と、記憶部150とを備える。姿勢推定装置100の構成要素(記憶部150を除く)は、例えば、CPU(Central Processing Unit)等のプロセッサがプログラムを実行することにより実現される。また、これらのうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)等のハードウェアによって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。
取得部110、変換部120、積分部130、および補正部140による処理は、処理サイクルごとに繰り返し実行される。例えば、補正部140は、ひとつ前の処理サイクルの積分部130による処理結果に基づいて補正量を導出し、今回の処理サイクルの積分部130に反映する。
取得部110は、例えば、人、動物、または関節の可動域が制限されたロボットである推定対象の複数の箇所に取り付けられ、角速度および加速度を検出する複数のIMUセンサから、角速度および加速度の情報を取得する。取得部110は、例えば、有線または無線で通信可能に接続されており、IMUセンサと通信する。取得部110は、取得結果を変換部120に出力する。
図2は、IMUセンサについて説明するための図である。推定対象TGTが人である場合、人の頭部、胸部、骨盤周辺、左右の手足などの複数の箇所にIMUセンサJS―1~JS―N(NはIMUセンサの総数)が取り付けられる。以下、いずれのIMUセンサであるかを特に区別しない場合はハイフン以下の符号を省略し、単にIMUセンサJSと称する。また、1~Nのいずれかという意味で引数iを採用し、IMUセンサJS-iなどと称する。IMUセンサJSは、例えば、着脱可能な衣服のような部材(IMUスーツ)に取り付けられており、推定対象TGTがその部材を着用することで、所望の位置にIMUセンサJSが位置するようになっている。IMUセンサJSのそれぞれは、角速度および加速度をそれぞれ3軸で計測することができる。
例えば、IMUセンサJS-1が右肩、IMUセンサJS-2が右上腕、IMUセンサJS-8が左大腿、IMUセンサJS-9が左膝下、というように、IMUセンサJSが配置される。また、IMUセンサJS―pは、基準部位となる部位の周辺に取り付けられる。基準部位とは、例えば、推定対象が人である場合、その人の骨盤など体幹部の一部が該当する。以下の説明において、一以上のIMUセンサJSが取り付けられ、その動きが計測される対象の部位のことを「セグメント」と称する。セグメントには、基準部位と基準部位以外のセンサ取り付け部位(以下、参照部位と称する)が含まれる。なお、IMUスーツには、IMUセンサJSに加えて、さらに心拍センサHRS、温度センサTSなどの姿勢推定の参考情報を取得する種々のセンサが取り付けられてもよい。
以下の説明において、IMUセンサJS―1~JS-Nのそれぞれに対応する構成要素には、符号にハイフン以下の符号を付けて説明する。
図1に戻り、変換部120は、取得部110により取得された情報を、IMUセンサJSのそれぞれにおける3軸方向の座標系(以下、センサ座標系と称する)から基準座標系の情報に変換する。基準座標系は、例えば、重力方向を一つの軸とする地上座標系である。変換部120は、変換結果を補正部140に出力する。また、変換部120は、補正部140を介して積分部130に変換結果を出力する。
変換部120は、例えば、各セグメントに対応するセグメント角速度計算部122-iと、加速度集約部124と、を備える。セグメント角速度計算部122-iは、取得部110により出力されたIMUセンサJS―iの角速度を、基準座標系の情報に変換する。セグメント角速度計算部122-iによる処理結果(IMUセンサJSの検出結果に基づくものであり、推定対象TGTの姿勢を表す情報)は、例えば、クオータニオンの形式で保持される。なお、IMUセンサJS―iの計測結果をクオータニオンの形式で表現するのはあくまで一例であり、3次元の回転群SO3の回転行列など他の表現方法が用いられてもよい。
加速度集約部124は、セグメントに対応するIMUセンサJS―iの検出した加速度のそれぞれを集約する。加速度集約部124は、集約結果を、推定対象TGTの全身の加速度(以下、全IMU加速度と称する場合がある)に変換する。
積分部130は、セグメント角速度計算部122-iにより基準座標系の情報に変換されたセグメントに対応する角速度を積分することで、推定対象TGTにおいてIMUセンサJS―iが取り付けられたセグメント(参照部位)の向きを、推定対象の姿勢の一部として算出する。積分部130は、積分結果を補正部140および記憶部150に出力する。
なお、積分部130には、処理サイクルが初回である場合には、変換部120により出力された角速度(補正部140による補正が行われていない角速度)が入力されるが、それ以降は後述する補正部140により前回処理サイクルにおける処理結果に基づいて導出された補正が反映された角速度が入力される。
積分部130は、例えば、各セグメントに対応する角速度積分部132-iを備える。角速度積分部132-iは、セグメント角速度計算部122-iにより出力されたセグメントの角速度を積分することで、推定対象においてIMUセンサJS-iが取り付けられた参照部位の向きを、推定対象の姿勢の一部として算出する。
補正部140は、推定対象に含まれる基準部位を通る代表平面を想定し、代表平面の法線と、積分部130により算出される参照部位の向きとが直交する方向に近づくように、参照部位の変換された角速度を補正する。代表平面については後述する。
補正部140は、例えば、推定姿勢集約部142と、全身補正量計算部144と、補正量分解部146と、各セグメントに対応する角速度補正部148-iとを備える。
推定姿勢集約部142は、角速度積分部132―iによる計算結果である各セグメントの姿勢を表すクオータニオンを一つのベクトルに集約するものである。集約したベクトルを推定全身姿勢ベクトルと呼ぶ。
全身補正量計算部144は、加速度集約部124により出力された全IMU加速度と、推定姿勢集約部142により出力された推定全身姿勢ベクトルとに基づいて、すべてのセグメントの角速度の補正量を計算する。なお、全身補正量計算部144により計算される補正量は、推定対象の全身姿勢として不自然とならないように、セグメントのそれぞれの関係性が考慮されて調整されたものである。全身補正量計算部144は、計算結果を補正量分解部146に出力する。
補正量分解部146は、全身補正量計算部144により計算された補正量を、それぞれのセグメントの角速度に反映できるよう、セグメント毎の角速度の補正量に分解する。補正量分解部146は、分解したセグメント毎の角速度の補正量を、対応するセグメントの角速度補正部148-iに出力する。
角速度補正部148-iは、セグメント角速度計算部122-iにより出力された、対応するセグメントの角速度の計算結果に、補正量分解部146により出力された、対応付いたセグメントの角速度の補正量の分解結果を反映する。これにより、次サイクルの処理において積分部130の処理対象が積分する対象が、補正部140による補正が反映された状態の角速度になる。
角速度補正部148-iは、変換部120により出力された対応付いたセグメントの角速度に、補正量分解部146による分解結果を反映することで補正する。角速度補正部148-iは、補正結果を、角速度積分部132-iに出力する。
記憶部150は、例えば、HDD(Hard Disc Drive)、フラッシュメモリ、EEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、またはRAM(Random Access Memory)等を備え、ファームウェアやアプリケーションプログラム等、姿勢推定装置100が備えるCPU等のプロセッサが実行するための各種プログラムやプロセッサが実行した処理の結果等を記憶する。記憶部150は、例えば、積分部130による積分結果であるセグメント毎の姿勢の推定結果や、IMUセンサ情報152などを保持する。IMUセンサ情報152は、例えば、複数のIMUセンサJSが取り付けられるセグメントに関する情報や、キャリブレーションプログラムなどである。
なお、積分部130による積分結果であるセグメント毎の姿勢の推定結果は、他装置(出力ディスプレイや、姿勢推定結果を用いた演算を行う装置など)に出力されてもよい。
図3は、補正部140による平面想定処理を説明するための図である。補正部140は、図3の左図のように、基準部位が推定対象の骨盤である場合、骨盤中央を通る正中矢状面(図中のSagittal plane)を代表平面として想定する。正中矢状面とは、左右相称な推定対象の体の正中に対し平行に、体を左右に分ける面のことである。さらに、補正部140は、図3の右図のように、想定した正中矢状面の法線n(図中の矢印Normal vector)を設定する。
図4は、補正部140による方向ベクトルviの定義処理について説明するための図である。補正部140は、あるIMUセンサJS-iの出力を初期状態とし、その向きを、水平且つ代表平面に平行な向きであると定義する(キャリブレーション処理)。その後、IMUセンサJS-iの出力を積分して得られる三方向の回転に沿って方向ベクトルは三方向に旋回する。
図4に示すように、推定対象TGTの参照部位に、胸部、左右の大腿部、および左右の膝下部が含まれる場合、補正部140は、キャリブレーション処理の結果に基づいてIMUセンサJSの取り付け姿勢の推定を行い、法線nと積分部130により算出される参照部位の向きとが直交する方向に近づくように、参照部位の変換された角速度をそれぞれ補正し、図示のように参照部位の向く方向ベクトルv1~v5(図中のForward vector)を導出する。図示のように、方向ベクトルv1は胸部の方向ベクトルを示し、方向ベクトルv2およびv3は大腿部の方向ベクトルを示し、方向ベクトルv4およびv5は膝下部の方向ベクトルを示すものである。なお、図中のx軸、y軸、z軸は、基準座標系の方向の一例である。
図5は、推定対象の姿勢変化によって方向ベクトルviが旋回した様子を示す図である。代表平面は、ある基準部位のIMUセンサJS-pの出力を初期状態とした場合、IMUセンサJS-pの出力を積分して得られるヨー方向の変位に沿ってヨー方向に旋回する。補正部140は、前回サイクルにおいて積分部130により算出された参照部位の向きが正中矢状面の法線nに対して直交する向きから乖離することが継続するのに応じて、参照部位の変換された角速度を補正する度合いを大きくする。
〔姿勢の推定〕
補正部140は、例えば、図4に示すように参照部位の方向ベクトルviと法線nとの内積が0である場合に、参照部位の向きが正中矢状面の法線nに対して直交する向きから乖離していないホームポジションの姿勢であると判定する。補正部140は、図5に示すように方向ベクトルviと法線nとの内積が0より大きい場合に、参照部位の向きが正中矢状面の法線nに対して直交する向きから乖離していると判定する。ホームポジションとは、推定対象TGTにIMUセンサJSを取り付けた後のキャリブレーション処理の結果として取得された、推定対象TGTの基本的な体勢(但し、代表平面に対する相対的なもの)のことであり、例えば、静止直立状態である。従って、キャリブレーション処理とは、推定対象TGTに所定の動作(キャリブレーション動作)を行わせた結果得られたIMUセンサJSの計測結果に基づいて、ホームポジションの定義を行う処理のことである。
これにより、補正部140は、推定対象が正中矢状面の法線nに対して直交する向きから乖離した姿勢(すなわち、図5の左図に示すように体を捻った状態)が長時間継続したり、正中矢状面の法線nに対して直交する向きから乖離した姿勢を保ったままで運動したりすることが稀であるという仮定に基づいて、時間が経過すれば乖離が小さくなること(例えば、図5の右図に示すようなホームポジションに近づくこと)を反映した補正を行う。
図6は、姿勢推定装置100による補正処理の概要を説明するための図である。姿勢推定装置100は、推定対象TGTの骨盤と、それ以外のセグメントで異なる最適化問題を定義する。まず、姿勢推定装置100は、推定対象TGTの骨盤姿勢を計算し、骨盤姿勢を利用してその他のセグメント姿勢を計算する。
仮に、骨盤姿勢の計算と、骨盤以外の他のセグメントの姿勢の計算を別々に解くと、骨盤姿勢は重力補正のみを用いた推定となってしまう。姿勢推定装置100では、その他のセグメント姿勢も考慮して骨盤姿勢の推定を行うことができるよう、骨盤姿勢の推定とその他のセグメント姿勢の推定を同時に行い、全てのIMUセンサJS同士の影響を考慮した最適化を目指すものである。
〔演算例〕
以下、姿勢の推定時の具体的な演算例について、図示した数式に沿って説明する。
姿勢を表現するためのクオータニオンの表現方法について説明する。ある座標系frame Aからframe Bまでの回転をクオータニオンで表すと以下の数式(1)のようになる。ただし、frame Bはframe Aに対して正規化された軸の回りにθだけ回転している。
Figure 0007215965000001
なお、以下の説明において、クオータニオンqにハット記号を付したもの(回転を表現する単位クオータニオン)を「q(h)」と示して説明する。単位クオータニオンとは、クオータニオンをノルムで除算したものである。q(h)は式(1)に示すような4つの実数値要素を持つ列ベクトルである。この表現方法を用いて、推定対象TGTの推定全身姿勢ベクトルQを示すと、以下の数式(2)のように示すことができる。
Figure 0007215965000002
なお、 q(h)(iはセグメントを示す1~Nの整数、または基準位置を示すp)は、参照部位のIMUセンサJSの座標系S(セグメント座標系)における基準位置から、基準座標位置E(例えば、地球の重力方向から定義可能な座標系)までの回転をクオータニオンで表すものである。この推定対象TGTの推定全身姿勢ベクトルQは、全てのセグメントの姿勢を表す単位クオータニオンを1つに集約した、4(N+1)つの実数値要素を持つ列ベクトルである。
推定対象TGTの姿勢を推定するため、まずは、IMUセンサJSが取り付けられたある1つのセグメントの姿勢推定について考える。
Figure 0007215965000003
数式(3)は、最適化問題の更新式の一例であり、数式(4)に示す関数の導出結果のノルムの1/2の最小値を導出することにより、ロール・ピッチ方向の補正量を導出するための式である。数式(4)の右辺は、センサ座標系で表現した推定姿勢から求めた基準のあるべき方向(例えば、重力や地磁気などの方向)を示す情報から、センサ座標系で表現したIMUセンサJSが計測した基準の方向を減算する式である。
数式(5)に示すように、単位クオータニオン q(h)を行列形式で表現した一例である。また、数式(6)に示すように、d(h)はヨー方向を補正するために用いる基準方向(例えば、重力や地磁気などの方向)を示すベクトルである。また、数式(7)に示すように、s(h)は、センサ座標系で表現したIMUセンサJSが計測した基準の方向を示すベクトルである。
なお、重力を基準に使う場合、数式(6)および数式(7)は、以下の数式(8)および数式(9)のように示すことができる。ax、y、のそれぞれは、x軸方向の加速度、y軸方向の加速度、およびz軸方向の加速度を示す。
d(h)=〔0 0 0 1〕 …(8)
s(h)=〔0 a〕…(9)
数式(3)に示した関係式は、例えば、勾配降下法により解くことができる。その場合、推定姿勢の更新式は、数式(10)で示すことができる。また、目的関数の勾配は、以下の数式(11)を用いて示す。また、勾配を示す数式(11)は、数式(12)に示すように、ヤコビアンを用いて計算することができる。なお、数式(12)に示すヤコビアンは、重力誤差項とヨー方向誤差項を全身の方向ベクトルviの各要素で偏微分した行列である。重力誤差項とヨー方向誤差項については後述する。
Figure 0007215965000004
数式(10)の右辺に示すように、単位クオータニオン q(h)k+1は、現在の推定姿勢を示す単位クオータニオン q(h)から係数μ(1以下の定数)と勾配の積を減算することで導出することができる。また、数式(11)および数式(12)に示すように、勾配は比較的少ない計算量で導出することができる。
なお、重力を基準に使う場合の数式(4)および数式(12)の実際の計算例を、以下の数式(13)および数式(14)に示す。
Figure 0007215965000005
上図の数式(3)~(7)、および数式(10)~(12)を用いて示した方法では、サンプリングごとに、更新式を1回計算することにより、姿勢の推定が可能となる。また、数式(8)、(9)、(13)、(14)に挙げたように重力を基準に使う場合には、ロール軸方向、ピッチ軸方向の補正ができる。
〔全身補正量計算〕
以下、推定姿勢に対する全身補正量(特にヨー方向の補正量)を導出する方法について説明する。図7は、全身補正量計算部144の構成の一例を示す図である。全身補正量計算部144は、例えば、ヨー方向誤差項計算部146aと、重力誤差項計算部146bと、目的関数計算部146cと、ヤコビアン計算部146dと、勾配計算部146eと、補正量計算部146fとを備える。
ヨー方向誤差項計算部146aは、推定した全身の姿勢から、ヨー角方向の補正を実現するためのヨー方向誤差項を計算する。
重力誤差項計算部146bは、推定した全身の姿勢と、IMUセンサJSで検出した加速度からロール軸方向およびピッチ軸方向の補正を実現するための重力誤差項を計算する。
目的関数計算部146cは、推定した全身の姿勢と、IMUセンサJSで検出した加速度と、ヨー方向誤差項計算部146aの計算結果と、重力誤差項計算部146bの計算結果とに基づいて、推定対象TGTの正中矢状面と方向ベクトルviが平行となるように補正するための目的関数を計算する。なお、重力誤差項とヨー方向誤差項の二乗和を目的関数とする。目的関数の詳細については後述する。
ヤコビアン計算部146dは、推定した全身の姿勢と、IMUセンサJSで検出した加速度から推定全身姿勢ベクトルQの偏微分で求めたヤコビアンを計算する。
勾配計算部146eは、目的関数計算部146cによる計算結果と、ヤコビアン計算部146dによる計算結果とを用いて、最適化問題の解を導出して、勾配を計算する。
補正量計算部146fは、勾配計算部146eの計算結果を用いて推定対象TGTの推定全身姿勢ベクトルQに対して適用する全身補正量を導出する。
図8は、全身補正量計算部144の構成の他の一例を示す図である。図8に示す全身補正量計算部144は、正中矢状面と各セグメントの方向ベクトルviとを用いて全身補正量を導出するものであり、図7に示す構成要素に加えて、代表平面法線計算部146gと、セグメントベクトル計算部146hとをさらに備える。
代表平面法線計算部146gは、全身推定姿勢に基づいて、代表平面である正中矢状面の法線nを計算する。セグメントベクトル計算部146hは、全身推定姿勢に基づいて、セグメントの方向ベクトルviを計算する。
[全身補正量の導出例〕
以下、全身補正量の導出例について説明する。
ヨー方向誤差項計算部146aは、以下に示す数式(15)を用いて、正中矢状面とセグメントの方向ベクトルが平行となるように補正するためのヨー方向誤差項fの内積計算を行う。
Figure 0007215965000006
ヨー方向誤差項fは、セグメントiの推定姿勢を示す単位クオータニオン q(h)と、基準部位である骨盤の推定姿勢を示す単位クオータニオン q(h)とに基づいて補正量を導出する式である。数式(15)の右辺は、代表平面法線計算部146gにより計算された、センサ座標系で表した正中矢状面の法線nと、セグメントベクトル計算部146hにより計算された、センサ座標系で表したセグメントの方向ベクトルviの内積を導出するものである。これにより、推定対象TGTが体を捻った状態である場合に、その捻りが解消されること(図5の右図に示すようなホームポジションに近づく)を補正内容に加味した補正を行うことができる。
次に、重力誤差項計算部146bは、数式(16)に示すように、セグメント毎の基準補正(例えば重力補正)をするための計算を行う。
Figure 0007215965000007
数式(16)は、任意のセグメントiの推定姿勢を示す単位クオータニオン q(h)と、IMUセンサJS-iが計測した加速度(重力)との関係式であり、数式(16)の右辺に示すように、推定姿勢から求めた、センサ座標系で表現した重力のあるべき方向(想定重力加速度方向)から、センサ座標系で表現した計測した重力の方向(計測重力加速度方向)(h)を減算することで導出することができる。
ここで、計測した重力の方向(h)の具体例を数式(17)に示す。また、重力方向を示す定数(h)は、それぞれ数式(18)に示すような定数で表現することができる。
Figure 0007215965000008
次に、目的関数計算部146cは、重力誤差項とヨー方向誤差項を統合した、セグメントiの補正関数として数式(19)を計算する。
Figure 0007215965000009
ここで、ciは代表平面補正の重み係数である。セグメントiの補正関数を示す数式(19)は、最適化問題として形式化すると数式(20)のように表現することができる。
Figure 0007215965000010
なお、数式(20)は、重力補正と代表平面補正の目的関数の和で示すことができる補正関数の数式(21)と等価である。
Figure 0007215965000011
目的関数計算部146cは、すべてのセグメントに対して同様に姿勢推定を行い、全身の目的関数を統合した最適化問題を定義する。数式(22)は、全身の目的関数を統合した補正関数F(Q,α)である。αは、IMUセンサにより計測された全IMU加速度であり、数式(23)のように示すことができる。
Figure 0007215965000012
なお、数式(22)の右辺の第1行は、骨盤に対応した補正関数を示し、右辺の第2行以降は、骨盤以外の各セグメントに対応した補正関数を示すものである。数式(22)に示す補正関数を用いて、推定対象TGTの全身の姿勢を補正するための最適化問題は下記の数式(24)のように定義することができる。数式(24)は、既出の各セグメントの補正関数である数式(21)と同様の形式で、数式(25)に示すように変形することができる。
Figure 0007215965000013
次に、勾配計算部146eは、この目的関数の勾配を、推定全身姿勢ベクトルQの偏微分で求めたヤコビアンJを用いて、以下の数式(26)のように計算する。なお、ヤコビアンJは、数式(27)に示す。
Figure 0007215965000014
数式(27)に示すそれぞれの要素のサイズは以下の数式(28)および(29)のようになっている。
Figure 0007215965000015
すなわち、数式(27)に示すヤコビアンJは(3+4N)×4(N+1)(Nは基準部位計測用のIMUセンサ以外の全IMUセンサ数)の大きな行列となるが、実際には以下の数式(30)および(31)に示す要素は0となるため計算は割愛することができ、低速な演算装置でもリアルタイムな姿勢推定が可能となる。
Figure 0007215965000016
数式(30)および(31)を既出の数式(27)に代入すると、次の数式(32)のように示すことができる。
Figure 0007215965000017
勾配計算部146eは、数式(32)の計算結果を用いて数式(26)に示す勾配を計算することができる。
[全身補正量計算部の処理イメージ]
図9~12は、全身補正量計算部144の演算処理の流れを模式的に示す図である。図9は、全身補正量計算部144の全体を模式的に示す図であり、図10~図12は全身補正量計算部144の処理の流れを段階的に説明するための図である。
図9に示すように、加速度集約部124は、時刻tに計測された各IMUセンサJS-iの加速度i,t(iは基準部位である骨盤を示すpであってもよい、以下同様)の取得部110による取得結果を変換し、集約結果である推定対象TGTの全IMU加速度αに変換する。また、取得部110により取得された、時刻tに計測された各IMUセンサJS-iの角速度ωi,tは、それぞれ対応する角速度積分部132-iに出力される。
また、図9の右上部分に示されるZ-1からβまでの処理ブロックは、補正部140が次回処理サイクルにおける補正量を導出することを表すものである。
なお、図9~図12において、下記の数式(33)で示す目的関数の勾配をΔQとすると、時刻tの角速度Q(・)(Qの上文字としてドット記号を付したものであり、時刻tの推定全身姿勢ベクトルQの時間微分結果)へのフィードバックは下記の数式(34)のように表現することができる。なお、数式(34)のβは、補正量のゲインを調整するための0≦β≦1となる実数である。
Figure 0007215965000018
全身補正量計算部144は、数式(34)に示すように、角速度Q(・)に勾配ΔQを正規化した結果に任意の実数βを補正量として反映する。
積分部130は、図10に示すように、各セグメントの角速度を積分する。次に、補正部140は、図11に示すように、各セグメントの角速度と推定姿勢を使って、勾配ΔQを計算する。次に、補正部140は、図12に示すように、導出した勾配ΔQを各IMUセンサの角速度にフィードバックする。IMUセンサJSによる次の計測結果を取得部110が取得すると、積分部130は、図10に示すように、再度各セグメントの角速度を積分する。姿勢推定装置100は、図10~図12に示す処理を繰り返すことで推定対象TGTの姿勢推定の処理を行うことにより、人の身体の特性や経験則が各セグメントの姿勢の推定結果に反映されるため、姿勢推定装置100の推定結果の精度が向上する。
図10~図12に示すような処理が繰り返し行われ、推定姿勢集約部142が積分部130の角速度の積分結果を集約することで、それぞれのIMUセンサJSの計測角速度がもつ誤差が平均化され、式(2)の推定全身姿勢ベクトルQを導出することができる。この推定全身姿勢ベクトルQには、人の身体の特性や経験則を用いた、全身姿勢からヨー方向補正量を計算した結果が反映されている。上述の方法で推定対象TGTの姿勢推定を行うことで、地磁気を利用せずに、ヨー角方向ドリフトを抑えた尤もらしい人の全身姿勢を推定することができるため、長時間計測においても、ヨー方向ドリフトを抑えた全身姿勢推定ができる。
〔処理フロー〕
図13は、姿勢推定装置100を用いたモーションキャプチャ処理の流れの一例を示すフローチャートである。
まず、姿勢推定装置100の利用者は、推定対象TGTにIMUセンサを取り付ける(ステップST100)。次に、姿勢推定装置100の利用者は、推定対象TGTにモーションキャプチャのためのキャリブレーション動作を行わせ(ステップS102)、キャリブレーションを行う(ステップST104)。次に、姿勢推定装置100は、推定対象TGTのセグメント姿勢の初期化を行い(ステップST106)、IMUセンサの計測を開始して姿勢推定の処理を行う(ステップST108)。なお、ステップST108の処理の詳細は図14を用いて説明する。以上、本フローチャートの処理の説明を終了する。
図14は、姿勢推定装置100による姿勢推定処理の流れの一例を示すフローチャートである。まず、取得部110は、IMUセンサの計測結果である角速度および加速度を取得する(ステップST200)。次に、変換部120は、取得部110により取得された角速度および加速度をセグメント座標系に変換する(ステップST202)。
次に、補正部140は、前回処理サイクルにおいて導出された補正量を、ステップST202の処理結果の角速度に反映することで補正する(ステップST204)。次に、積分部130は、ステップST204の処理結果である角速度を積分することで、推定対象TGTの姿勢推定を行う(ステップST206)。
また、ステップST202の処理の後、補正部140は、次の処理サイクルに用いる補正量である目的関数の勾配ΔQの導出を行う(ステップST208)。ステップST208において導出された補正量は、次の処理サイクルのステップST204において用いられる。
ステップST206およびステップST208の処理の後、取得部110は、次のIMUセンサJSの計測結果を取得したか否か(すなわち、処理サイクルを終了するか否か)を判定する。取得部110は、次のIMUセンサの計測結果を取得した場合、処理サイクルを終了しないと判定して、ステップST200に処理を戻す。取得部110は、次のIMUセンサの計測結果を取得しない状態が所定時間以上継続した場合(または、姿勢推定装置100の利用者により計測終了を示す指令の入力を受け付けた場合)、処理サイクルを終了すると判定して、本フローチャートの処理を終了する。
以上説明した実施形態によれば、IMUセンサJSにより計測された加速度と角速度から、基準部位である推定対象TGTの骨盤の姿勢を基準として、参照部位である各セグメントの姿勢推定を行うことにより、より正確な姿勢推定ができる。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、補正部140による代表平面の導出処理、およびセグメントのそれぞれの方向ベクトルviの導出処理には、機械学習による推定が行われてもよい。
また、例えば、補正部140が最適化問題を解く際に用いる基準のあるべき方向として、重力や地磁気などの方向以外の、1以上のベクトルが用いられてもよい。重力や地磁気以外のベクトルを基準とする場合、例えば、推定対象TGTの基準部位である骨盤の前方方向と、基準部位である骨盤から上下方向のベクトルとを定義して補正に用いる。
100…姿勢推定装置、110…取得部、120…変換部、122…セグメント角速度計算部、124…加速度集約部、130…積分部、132…角速度積分部、140…補正部、142…推定姿勢集約部、144…全身補正量計算部、146…補正量分解部、146a…ヨー方向誤差項計算部、146b…重力誤差項計算部、146c…目的関数計算部、146d…ヤコビアン計算部、146e…勾配計算部、146f…補正量計算部、146g…代表平面法線計算部、146h…セグメントベクトル計算部、148…角速度補正部、Q…推定全身姿勢ベクトル、JS…IMUセンサ

Claims (5)

  1. 人、動物、または関節の可動域が制限されたロボットである推定対象の複数の箇所に取り付けられ、角速度および加速度を検出する複数のセンサから、角速度および加速度の情報を取得する取得部と、
    前記取得部により取得された情報を、センサ座標系から基準座標系の情報に変換する変換部と、
    前記変換された前記角速度を積分することで、前記推定対象において前記センサが取り付けられた参照部位の向きを前記推定対象の姿勢の一部として算出する積分部と、
    前記推定対象に含まれる基準部位を通る代表平面を想定し、前記代表平面の法線と、前記積分部により算出される前記参照部位の向きとが直交する方向に近づくように、前記参照部位の前記変換された角速度を補正する補正部と、を備え、
    前記積分部および前記補正部の処理は、処理サイクルごとに繰り返し実行され、
    前記補正部は、前回処理サイクルにおいて前記積分部により算出された前記参照部位の向きが前記代表平面の法線に対して直交する向きから乖離することが継続する乖離時間に応じて、前記参照部位の前記変換された角速度を補正する度合いを大きくする、
    姿勢推定装置。
  2. 前記補正部は、前記代表平面の法線と、前記積分部により算出される前記参照部位の向きとの内積を小さくするように、前記参照部位の前記変換された角速度を補正する、
    請求項1記載の姿勢推定装置。
  3. 前記補正部は、更に、前記積分部により算出された前記参照部位の向きから導出される前記参照部位ごとの想定重力加速度方向と、前記取得部により取得された加速度の情報に基づいて認識される前記参照部位ごとの計測重力加速度方向との乖離が小さくなるように、前記参照部位の前記変換された角速度を補正する、
    請求項1又は2に記載の姿勢推定装置。
  4. コンピュータが、
    人、動物、または関節の可動域が制限されたロボットである推定対象の複数の箇所に取り付けられ、角速度および加速度を検出する複数のセンサから、角速度および加速度の情報を取得し、
    取得された情報を、センサ座標系から基準座標系の情報に変換し、
    変換された前記角速度を積分することで、前記推定対象において前記センサが取り付けられた参照部位の向きを前記推定対象の姿勢の一部として算出し、
    前記推定対象に含まれる基準部位を通る代表平面を想定し、前記代表平面の法線と、算出された前記参照部位の向きとが直交する方向に近づくように、前記参照部位の前記変換された角速度を補正し、
    前記積分および前記補正の処理は、処理サイクルごとに繰り返し実行され、
    前記補正は、前回処理サイクルにおいて前記積分により算出された前記参照部位の向きが前記代表平面の法線に対して直交する向きから乖離することが継続する乖離時間に応じて、前記参照部位の前記変換された角速度を補正する度合いを大きくする、
    姿勢推定方法。
  5. コンピュータに、
    人、動物、または関節の可動域が制限されたロボットである推定対象の複数の箇所に取り付けられ、角速度および加速度を検出する複数のセンサから、角速度および加速度の情報を取得させ、
    取得された情報を、センサ座標系から基準座標系の情報に変換させ、
    変換された前記角速度を積分することで、前記推定対象において前記センサが取り付けられた参照部位の向きを前記推定対象の姿勢の一部として算出させ、
    前記推定対象に含まれる基準部位を通る代表平面を想定させ、前記代表平面の法線と、
    算出された前記参照部位の向きとが直交する方向に近づくように、前記参照部位の前記変換された角速度を補正させ、
    前記積分および前記補正の処理は、処理サイクルごとに繰り返し実行され、
    前記補正は、前回処理サイクルにおいて前記積分により算出された前記参照部位の向きが前記代表平面の法線に対して直交する向きから乖離することが継続する乖離時間に応じて、前記参照部位の前記変換された角速度を補正する度合いを大きくさせる、
    姿勢推定プログラム。
JP2019108105A 2019-06-10 2019-06-10 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム Active JP7215965B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019108105A JP7215965B2 (ja) 2019-06-10 2019-06-10 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム
US16/881,047 US11678817B2 (en) 2019-06-10 2020-05-22 Posture estimation device, posture estimation method, and storage medium
CN202010502482.6A CN112057078A (zh) 2019-06-10 2020-06-04 姿态推定装置、姿态推定方法以及存储介质
EP20178694.4A EP3750479A1 (en) 2019-06-10 2020-06-08 Posture estimation device, posture estimation method, and posture estimation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019108105A JP7215965B2 (ja) 2019-06-10 2019-06-10 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム

Publications (2)

Publication Number Publication Date
JP2020201125A JP2020201125A (ja) 2020-12-17
JP7215965B2 true JP7215965B2 (ja) 2023-01-31

Family

ID=71069741

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019108105A Active JP7215965B2 (ja) 2019-06-10 2019-06-10 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム

Country Status (4)

Country Link
US (1) US11678817B2 (ja)
EP (1) EP3750479A1 (ja)
JP (1) JP7215965B2 (ja)
CN (1) CN112057078A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113180640B (zh) * 2021-04-30 2023-04-14 山东大学 一种家畜养殖用尺寸测量方法及***
CN113331825B (zh) * 2021-05-31 2022-01-18 北京理工大学 一种虚拟现实中rula实时评价方法
CN114332241B (zh) * 2021-12-29 2022-09-09 元橡科技(苏州)有限公司 一种外参标定方法、三维重建方法、存储介质
CN116394265B (zh) * 2023-06-08 2023-11-07 帕西尼感知科技(张家港)有限公司 一种姿态传感器标定方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004150900A (ja) 2002-10-29 2004-05-27 Japan Aviation Electronics Industry Ltd 姿勢角検出装置および取付け角度補正量取得方法
JP2004264060A (ja) 2003-02-14 2004-09-24 Akebono Brake Ind Co Ltd 姿勢の検出装置における誤差補正方法及びそれを利用した動作計測装置
JP2017023436A (ja) 2015-07-23 2017-02-02 国立大学法人北海道大学 歩行解析方法および歩行解析システム
CN106908021A (zh) 2017-01-19 2017-06-30 浙江大学 一种用于可穿戴式设备的人体步长测量方法及其测量设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9529445B2 (en) 2014-01-08 2016-12-27 Fujitsu Limited Input device and input method
JP6269316B2 (ja) 2014-01-08 2018-01-31 富士通株式会社 入力装置、入力方法および入力プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004150900A (ja) 2002-10-29 2004-05-27 Japan Aviation Electronics Industry Ltd 姿勢角検出装置および取付け角度補正量取得方法
JP2004264060A (ja) 2003-02-14 2004-09-24 Akebono Brake Ind Co Ltd 姿勢の検出装置における誤差補正方法及びそれを利用した動作計測装置
JP2017023436A (ja) 2015-07-23 2017-02-02 国立大学法人北海道大学 歩行解析方法および歩行解析システム
CN106908021A (zh) 2017-01-19 2017-06-30 浙江大学 一种用于可穿戴式设备的人体步长测量方法及其测量设备

Also Published As

Publication number Publication date
EP3750479A1 (en) 2020-12-16
JP2020201125A (ja) 2020-12-17
US20200383609A1 (en) 2020-12-10
US11678817B2 (en) 2023-06-20
CN112057078A (zh) 2020-12-11

Similar Documents

Publication Publication Date Title
JP7215965B2 (ja) 姿勢推定装置、姿勢推定方法、および姿勢推定プログラム
CN112057077B (zh) 信息处理装置、信息处理方法以及存储介质
US6820025B2 (en) Method and apparatus for motion tracking of an articulated rigid body
Zhou et al. Reducing drifts in the inertial measurements of wrist and elbow positions
US8315823B2 (en) Force and/or motion measurement system having inertial compensation and method thereof
JP2011503571A (ja) 物体の方位測定
JP6145072B2 (ja) センサーモジュールの位置の取得方法及び装置、及び、動作計測方法及び装置
US20140032124A1 (en) Apparatus and method for classifying orientation of a body of a mammal
KR20190022198A (ko) 착용형 센서를 이용한 자세정보 보정 방법 및 이를 수행하는 기록매체
De Rosario et al. Correction of joint angles from Kinect for balance exercising and assessment
CN115919250A (zh) 一种人体动态关节角测量***
JP2009186244A (ja) 傾斜角度推定システム、相対角度推定システム及び角速度推定システム
Miyajima et al. Lumbar joint torque estimation based on simplified motion measurement using multiple inertial sensors
JP7335199B2 (ja) 解析装置、解析方法、プログラム、および較正方法
JP2015195913A (ja) 姿勢推定方法、姿勢推定プログラム及び姿勢推定装置
CN114748306A (zh) 一种外骨骼设备穿戴误差校正方法
JP5424224B2 (ja) 相対角度推定システム
JP2016011951A (ja) 仮想マーカーの位置情報の取得方法及び装置、動作計測方法
Ding et al. The online estimation of the joint angle based on the gravity acceleration using the accelerometer and gyroscope in the wireless networks
JP5424226B2 (ja) 傾斜角度推定システム
CN109470263B (zh) 动作捕捉方法、电子设备以及计算机存储介质
JP7343432B2 (ja) 解析システム、解析方法、およびプログラム
JP5958920B2 (ja) 傾斜角度推定システム
JP5700311B2 (ja) 角速度推定システム
Mirella et al. Study of a 7-DoF Wearable Low-Cost IMU System Prototype to Measure Upper-Limb Movements

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220928

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230110

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230119

R150 Certificate of patent or registration of utility model

Ref document number: 7215965

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150