JP2015190850A - Error estimation method, kinematic analysis method, error estimation device, and program - Google Patents

Error estimation method, kinematic analysis method, error estimation device, and program Download PDF

Info

Publication number
JP2015190850A
JP2015190850A JP2014068226A JP2014068226A JP2015190850A JP 2015190850 A JP2015190850 A JP 2015190850A JP 2014068226 A JP2014068226 A JP 2014068226A JP 2014068226 A JP2014068226 A JP 2014068226A JP 2015190850 A JP2015190850 A JP 2015190850A
Authority
JP
Japan
Prior art keywords
sensor
detection result
unit
moving body
error
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.)
Pending
Application number
JP2014068226A
Other languages
Japanese (ja)
Inventor
イメイ 丁
Imei Cho
イメイ 丁
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2014068226A priority Critical patent/JP2015190850A/en
Priority to PCT/JP2015/001388 priority patent/WO2015146048A1/en
Priority to US15/128,954 priority patent/US10288746B2/en
Publication of JP2015190850A publication Critical patent/JP2015190850A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Navigation (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

【課題】処理負荷を低減し、かつ、測位用衛星からの信号を利用して移動体の状態を表す指標の誤差を精度よく推定することが可能な誤差推定方法等を提供すること。【解決手段】移動体の移動を伴う運動の周期における所定のタイミングで、前記移動体に取り付けられた第1センサーを基準とする第1座標系と前記移動体を基準とする第2座標系との間の座標変換行列を算出することと、測位用衛星からの信号を受信する第2センサーの検出結果が得られた場合に、前記座標変換行列を用いて、前記第1センサーの検出結果に基づく前記移動体の方位角及び前記第2センサーの検出結果に基づく前記移動体の方位角のいずれか一方を変換することと、前記第2センサーの検出結果が得られたタイミング以降の前記所定のタイミングで、変換した前記方位角と他方の前記方位角との差を用いて、前記移動体の状態を表す指標の誤差を推定することと、を含む、誤差推定方法。【選択図】図10An object of the present invention is to provide an error estimation method and the like that can reduce a processing load and can accurately estimate an error of an index representing a state of a moving object using a signal from a positioning satellite. A first coordinate system with a first sensor attached to the moving body as a reference and a second coordinate system with the moving body as a reference at a predetermined timing in a cycle of movement accompanying the movement of the moving body. When the detection result of the second sensor that receives the signal from the positioning satellite is obtained, the detection result of the first sensor is calculated using the coordinate conversion matrix. Converting one of the azimuth angle of the mobile body based on the detection result of the second sensor and the azimuth angle of the mobile body based on the detection result of the second sensor, and the predetermined time after the timing when the detection result of the second sensor is obtained An error estimation method comprising: estimating an error of an index representing the state of the moving object using a difference between the converted azimuth angle and the other azimuth angle at timing. [Selection] Figure 10

Description

本発明は、誤差推定方法、運動解析方法、誤差推定装置及びプログラムに関する。   The present invention relates to an error estimation method, a motion analysis method, an error estimation device, and a program.

複数のセンサーを内蔵したセンサーモジュールを歩行者に装着し、センサーモジュールの検出結果を用いて歩行者の位置や方位を推定する技術が知られている。センサーを用いた位置や方位の推定においては、GPS(Global Positioning System)を演算結果の補正等に利用することが多い。例えば、特許文献1では、歩行時に、身体の最高位置到着点あるいは着地地点を基準に移動方向を決定して位置を算出し、GPSを利用して位置を補正する手法が提案されている。   A technique is known in which a sensor module incorporating a plurality of sensors is attached to a pedestrian, and the position and orientation of the pedestrian are estimated using the detection result of the sensor module. In estimating the position and direction using a sensor, GPS (Global Positioning System) is often used for correction of calculation results. For example, Patent Document 1 proposes a method of correcting a position using GPS by calculating a position by determining a moving direction with reference to the highest position arrival point or landing point of the body during walking.

特開2000−97722号公報JP 2000-97722 A

しかしながら、例えば腰部にセンサーモジュールを装着した場合、歩行やランニング時には腰が左右に揺れることが多いため、計測された方位角は腰の揺れに応じて、進行方向を中心に左右対称の分布になる。これに対して、GPSを利用して算出される方位角は歩行者の進行方向とほぼ一致するため、これら2つの方位角の差は時々刻々変化する。そのため、GPSを利用して算出される方位角を、計測された方位角のリファレンスとして使用しても、方位角の計測誤差を正しく推定することができるとは限らない。誤差を正しく推定するためには、腰部の方位角と進行方向とのずれの情報、つまり、センサーを基準とする座標系と歩行者を基準とする座標系との間の変換行列を計算する必要がある。しかしながら、GPSの測位情報が得られるタイミングが不定のため、GPSの測位情報が得られたタイミングで、直近の速度の情報をもとに座標変換行列を毎回計算しなければならない。そのため、処理負荷が大きくなるほか、時間の経過とともに積分誤差等による速度の誤差が増加して座標変換行列を正しく算出することができない場合もあり、方位角誤差の推定精度が低下するという問題があった。   However, for example, when the sensor module is attached to the waist, the hips often sway left and right during walking and running, so the measured azimuth is symmetrically distributed around the direction of travel according to the sway of the waist. . On the other hand, since the azimuth angle calculated using the GPS substantially coincides with the traveling direction of the pedestrian, the difference between these two azimuth angles changes every moment. Therefore, even if an azimuth angle calculated using GPS is used as a reference for the measured azimuth angle, an azimuth angle measurement error cannot always be correctly estimated. In order to correctly estimate the error, it is necessary to calculate information on the deviation between the azimuth angle of the waist and the direction of travel, that is, the transformation matrix between the coordinate system based on the sensor and the coordinate system based on the pedestrian There is. However, since the timing at which GPS positioning information is obtained is indefinite, the coordinate transformation matrix must be calculated every time based on the latest speed information at the timing at which GPS positioning information is obtained. As a result, the processing load increases, and the error in speed due to integration error etc. increases with time, and the coordinate transformation matrix may not be calculated correctly. there were.

本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、処理負荷を低減し、かつ、測位用衛星からの信号を利用して移動体の状態を表す指標の誤差を精度よく推定することが可能な誤差推定方法、誤差推定装置及びプログラム、並びに、ユーザーの運動を精度よく解析することが可能な運動解析方法を提供することができる。   The present invention has been made in view of the above-described problems, and according to some aspects of the present invention, a mobile object can be obtained by reducing the processing load and using a signal from a positioning satellite. It is possible to provide an error estimation method, an error estimation device and a program capable of accurately estimating an error of an index representing the state of the above, and a motion analysis method capable of accurately analyzing a user's motion.

本発明は前述の課題の少なくとも一部を解決するためになされたものであり、以下の態様または適用例として実現することが可能である。   SUMMARY An advantage of some aspects of the invention is to solve at least a part of the problems described above, and the invention can be implemented as the following aspects or application examples.

[適用例1]
本適用例に係る誤差推定方法は、移動体の移動を伴う運動の周期における所定のタイミングで、前記移動体に取り付けられた第1センサーを基準とする第1座標系と前記移動体を基準とする第2座標系との間の座標変換行列を算出することと、測位用衛星からの信号を受信する第2センサーの検出結果が得られた場合に、前記座標変換行列を用いて、前記第1センサーの検出結果に基づく前記移動体の方位角及び前記第2センサーの検出結果に
基づく前記移動体の方位角のいずれか一方を変換することと、前記第2センサーの検出結果が得られたタイミング以降の前記所定のタイミングで、変換した前記方位角と他方の前記方位角との差を用いて、前記移動体の状態を表す指標の誤差を推定することと、を含む。
[Application Example 1]
The error estimation method according to this application example is based on a first coordinate system based on a first sensor attached to the moving body and the moving body at a predetermined timing in a cycle of movement accompanied by movement of the moving body. Calculating the coordinate transformation matrix between the second coordinate system and the second sensor receiving the signal from the positioning satellite, and using the coordinate transformation matrix when the detection result of the second sensor is obtained. One of the azimuth angle of the moving body based on the detection result of one sensor and the azimuth angle of the moving body based on the detection result of the second sensor is converted, and the detection result of the second sensor is obtained. Estimating an error of an index representing the state of the moving object using a difference between the converted azimuth angle and the other azimuth angle at the predetermined timing after the timing.

本適用例に係る誤差推定方法では、移動体の移動を伴う運動の周期毎の所定のタイミングでは、第1センサーの検出結果に基づく方位角と第2センサーの検出結果に基づく方位角との差がほぼ一定であることを利用する。当該所定のタイミングで算出した座標変換行列を用いて、第2センサーの検出結果が得られたタイミング以降の所定のタイミングで算出した、この2つの方位角の差を用いて移動体の状態を表す指標の誤差を推定する。従って、本適用例に係る誤差推定方法によれば、第2センサーの検出結果が得られるタイミングが不定であっても、誤差を精度よく推定できるとともに、第2センサーの検出結果が得られる毎に座標変換行列を算出する必要もないので、処理負荷を低減させることができる。   In the error estimation method according to this application example, the difference between the azimuth angle based on the detection result of the first sensor and the azimuth angle based on the detection result of the second sensor at a predetermined timing for each cycle of movement accompanied by movement of the moving body. Is used to be almost constant. Using the coordinate transformation matrix calculated at the predetermined timing, the state of the moving body is expressed using the difference between the two azimuth angles calculated at a predetermined timing after the timing at which the detection result of the second sensor is obtained. Estimate the error of the indicator. Therefore, according to the error estimation method according to this application example, the error can be accurately estimated even when the timing at which the detection result of the second sensor is obtained is indefinite, and every time the detection result of the second sensor is obtained. Since it is not necessary to calculate a coordinate transformation matrix, the processing load can be reduced.

[適用例2]
上記適用例に係る誤差推定方法において、前記第1センサーの検出結果を用いて、前記第1座標系での前記移動体の速度を算出し、算出した前記速度に基づいて前記座標変換行列を算出してもよい。
[Application Example 2]
In the error estimation method according to the application example, the speed of the moving body in the first coordinate system is calculated using the detection result of the first sensor, and the coordinate transformation matrix is calculated based on the calculated speed. May be.

本適用例に係る誤差推定方法によれば、第2センサーの検出結果の有無に関係なく、運動の周期の所定のタイミングで座標変換行列を算出することができる。   According to the error estimation method according to this application example, the coordinate transformation matrix can be calculated at a predetermined timing of the motion period regardless of the presence or absence of the detection result of the second sensor.

[適用例3]
上記適用例に係る誤差推定方法において、前記所定のタイミングは、前記第1センサーの検出結果が所定の条件を満たしたタイミングであってもよい。
[Application Example 3]
In the error estimation method according to the application example, the predetermined timing may be a timing at which a detection result of the first sensor satisfies a predetermined condition.

本適用例に係る誤差推定方法によれば、第1センサーの検出結果が所定の条件を満たしたタイミングを基準とすることで、運動の周期において、座標変換行列を算出したタイミングに対応するタイミングで誤差を精度よく推定することができる。   According to the error estimation method according to this application example, with the timing at which the detection result of the first sensor satisfies a predetermined condition as a reference, the timing corresponding to the timing at which the coordinate transformation matrix is calculated in the period of motion. The error can be estimated accurately.

[適用例4]
上記適用例に係る誤差推定方法は、さらに、前記第1センサーの検出結果を用いて、前記周期を検出することを含み、前記所定のタイミングは、前記周期を検出したタイミングであってもよい。
[Application Example 4]
The error estimation method according to the application example further includes detecting the period using a detection result of the first sensor, and the predetermined timing may be a timing at which the period is detected.

本適用例に係る誤差推定方法によれば、運動の周期を検出したタイミングで座標変換行列を算出し、その後、運動の周期を検出したタイミングで誤差を精度よく推定することができる。   According to the error estimation method according to this application example, the coordinate transformation matrix can be calculated at the timing when the motion period is detected, and then the error can be accurately estimated at the timing when the motion cycle is detected.

[適用例5]
上記適用例に係る誤差推定方法において、前記移動体が移動を開始してから所定の期間における前記第1センサーの検出結果を用いて前記座標変換行列を算出してもよい。
[Application Example 5]
In the error estimation method according to the application example, the coordinate transformation matrix may be calculated using a detection result of the first sensor in a predetermined period after the moving body starts moving.

本適用例に係る誤差推定方法によれば、移動体が移動を開始してから早いうちに座標変換行列を算出するので、積分誤差等により生じる座標変換行列の誤差を低減させ、誤差の推定精度を向上させることができる。   According to the error estimation method according to this application example, since the coordinate transformation matrix is calculated as soon as the moving object starts moving, the error of the coordinate transformation matrix caused by an integration error or the like is reduced, and the error estimation accuracy is reduced. Can be improved.

[適用例6]
上記適用例に係る誤差推定方法は、さらに、前記移動体が直進しているか否かを判定す
ることを含み、前記第2センサーの検出結果が得られたタイミングから次の前記所定のタイミングまでの間に、前記移動体が直進していないと判定した場合には、当該次の前記所定のタイミングでは前記誤差を推定しなくてもよい。
[Application Example 6]
The error estimation method according to the application example further includes determining whether or not the moving body is traveling straight, and from the timing at which the detection result of the second sensor is obtained to the next predetermined timing. In the meantime, when it is determined that the moving body is not moving straight, the error need not be estimated at the next predetermined timing.

本適用例に係る誤差推定方法によれば、前記第2センサーの検出結果が得られてから次の所定のタイミングまでに移動体が進行方向を変えると、当該所定のタイミングでは、第1センサーの検出結果に基づく方位角と第2センサーの検出結果に基づく方位角との差が、座標変換行列の算出時とは異なってしまうことを考慮し、このような場合には誤差を推定しないので、誤差の推定精度の低下を抑制することができる。   According to the error estimation method according to this application example, when the moving body changes the traveling direction by the next predetermined timing after the detection result of the second sensor is obtained, at the predetermined timing, the first sensor Considering that the difference between the azimuth angle based on the detection result and the azimuth angle based on the detection result of the second sensor is different from the calculation time of the coordinate transformation matrix, in such a case, the error is not estimated. A decrease in error estimation accuracy can be suppressed.

[適用例7]
上記適用例に係る誤差推定方法において、前記第1センサーは、加速度センサー及び角速度センサーの少なくとも一方を含んでもよい。
[Application Example 7]
In the error estimation method according to the application example, the first sensor may include at least one of an acceleration sensor and an angular velocity sensor.

本適用例に係る誤差推定方法によれば、加速度センサーあるいは角速度センサーの検出結果に基づく方位角と第2センサーの検出結果に基づく方位角との差を用いて、移動体の状態を表す指標の誤差を推定することができる。   According to the error estimation method according to this application example, using the difference between the azimuth angle based on the detection result of the acceleration sensor or the angular velocity sensor and the azimuth angle based on the detection result of the second sensor, The error can be estimated.

[適用例8]
上記適用例に係る誤差推定方法において、前記第1センサーは、地磁気センサーであってもよい。
[Application Example 8]
In the error estimation method according to the application example, the first sensor may be a geomagnetic sensor.

本適用例に係る誤差推定方法によれば、地磁気センサーの検出結果に基づく方位角と第2センサーの検出結果に基づく方位角との差を用いて、移動体の状態を表す指標の誤差を推定することができる。   According to the error estimation method according to this application example, using the difference between the azimuth angle based on the detection result of the geomagnetic sensor and the azimuth angle based on the detection result of the second sensor, the error of the index representing the state of the moving object is estimated. can do.

[適用例9]
本適用例に係る運動解析方法は、上記のいずれかの誤差推定方法を用いて前記誤差を推定することと、推定した前記誤差を用いて、前記指標を補正することと、補正した前記指標を用いて、前記移動体の運動を解析することと、を含む。
[Application Example 9]
The motion analysis method according to this application example includes estimating the error using any one of the error estimation methods described above, correcting the index using the estimated error, and correcting the corrected index. And analyzing the movement of the moving body.

本適用例に係る運動解析方法によれば、上記適用例に係る誤差推定方法を用いて推定した移動体の状態を表す指標の誤差を用いて精度よく補正された指標を用いて移動体の運動を精度よく解析することができる。   According to the motion analysis method according to this application example, the motion of the mobile object using the index accurately corrected using the error of the index representing the state of the mobile object estimated using the error estimation method according to the application example described above. Can be analyzed with high accuracy.

[適用例10]
本適用例に係る誤差推定装置は、移動体の移動を伴う運動の周期における所定のタイミングで、前記移動体に取り付けられた第1センサーを基準とする第1座標系と前記移動体を基準とする第2座標系との間の座標変換行列を算出する座標変換行列算出部と、測位用衛星からの信号を受信する第2センサーの検出結果が得られた場合に、前記座標変換行列を用いて、前記第1センサーの検出結果に基づく前記移動体の方位角及び前記第2センサーの検出結果に基づく前記移動体の方位角のいずれか一方を変換する方位角変換部と、前記第2センサーの検出結果が得られたタイミング以降の前記所定のタイミングで、変換した前記方位角と他方の前記方位角との差を用いて、前記移動体の状態を表す指標の誤差を推定する誤差推定部と、を含む。
[Application Example 10]
The error estimation apparatus according to this application example uses the first coordinate system with the first sensor attached to the moving body as a reference and the moving body as a reference at a predetermined timing in a cycle of movement accompanying the movement of the moving body. When the detection result of the coordinate conversion matrix calculation unit for calculating the coordinate conversion matrix between the second coordinate system and the second sensor for receiving the signal from the positioning satellite is obtained, the coordinate conversion matrix is used. An azimuth angle conversion unit that converts either the azimuth angle of the mobile body based on the detection result of the first sensor or the azimuth angle of the mobile body based on the detection result of the second sensor; and the second sensor An error estimator that estimates an error of an index representing the state of the moving object using a difference between the converted azimuth angle and the other azimuth angle at the predetermined timing after the timing when the detection result is obtained And including

本適用例に係る誤差推定装置は、移動体の移動を伴う運動の周期毎の所定のタイミングでは、第1センサーの検出結果に基づく方位角と第2センサーの検出結果に基づく方位角との差がほぼ一定であることを利用する。当該所定のタイミングで算出した座標変換行列を用いて、第2センサーの検出結果が得られたタイミング以降の所定のタイミングで算出
した、この2つの方位角の差を用いて、移動体の状態を表す指標の誤差を推定する。従って、本適用例に係る誤差推定装置によれば、第2センサーの検出結果が得られるタイミングが不定であっても、誤差を精度よく推定できるとともに、第2センサーの検出結果が得られる毎に座標変換行列を算出する必要もないので、処理負荷を低減させることができる。
The error estimation device according to this application example is configured such that the difference between the azimuth angle based on the detection result of the first sensor and the azimuth angle based on the detection result of the second sensor at a predetermined timing for each period of movement accompanied by movement of the moving body. Is used to be almost constant. Using the coordinate transformation matrix calculated at the predetermined timing, the difference between the two azimuth angles calculated at a predetermined timing after the timing when the detection result of the second sensor is obtained is used to determine the state of the moving body. Estimate the error of the index to represent. Therefore, according to the error estimation device according to this application example, the error can be accurately estimated even when the timing at which the detection result of the second sensor is obtained is indefinite, and every time the detection result of the second sensor is obtained. Since it is not necessary to calculate a coordinate transformation matrix, the processing load can be reduced.

[適用例11]
本適用例に係るプログラムは、移動体の移動を伴う運動の周期における所定のタイミングで、前記移動体に取り付けられた第1センサーを基準とする第1座標系と前記移動体を基準とする第2座標系との間の座標変換行列を算出することと、測位用衛星からの信号を受信する第2センサーの検出結果が得られた場合に、前記座標変換行列を用いて、前記第1センサーの検出結果に基づく前記移動体の方位角及び前記第2センサーの検出結果に基づく前記移動体の方位角のいずれか一方を変換することと、前記第2センサーの検出結果が得られたタイミング以降の前記所定のタイミングで、変換した前記方位角と他方の前記方位角との差を用いて、前記移動体の状態を表す指標の誤差を推定することと、をコンピューターに実行させる。
[Application Example 11]
The program according to this application example has a first coordinate system based on the first sensor attached to the moving body and a first reference based on the moving body at a predetermined timing in a cycle of movement accompanied by movement of the moving body. When the coordinate transformation matrix between the two coordinate systems is calculated and the detection result of the second sensor that receives the signal from the positioning satellite is obtained, the first sensor is used by using the coordinate transformation matrix. After converting the azimuth angle of the moving body based on the detection result of the moving object and the azimuth angle of the moving body based on the detection result of the second sensor, and after the timing when the detection result of the second sensor is obtained The computer is caused to estimate an error of an index representing the state of the moving body using the difference between the converted azimuth angle and the other azimuth angle at the predetermined timing.

本適用例に係るプログラムは、移動体の移動を伴う運動の周期毎の所定のタイミングでは、第1センサーの検出結果に基づく方位角と第2センサーの検出結果に基づく方位角との差がほぼ一定であることを利用する。当該所定のタイミングで算出した座標変換行列を用いて、第2センサーの検出結果が得られたタイミング以降の所定のタイミングで算出した、この2つの方位角の差を用いて、移動体の状態を表す指標の誤差を推定する。従って、本適用例に係るプログラムによれば、第2センサーの検出結果が得られるタイミングが不定であっても、誤差を精度よく推定できるとともに、第2センサーの検出結果が得られる毎に座標変換行列を算出する必要もないので、処理負荷を低減させることができる。   In the program according to this application example, the difference between the azimuth angle based on the detection result of the first sensor and the azimuth angle based on the detection result of the second sensor is almost equal at a predetermined timing for each cycle of movement accompanied by movement of the moving body. Take advantage of being constant. Using the coordinate transformation matrix calculated at the predetermined timing, the difference between the two azimuth angles calculated at a predetermined timing after the timing when the detection result of the second sensor is obtained is used to determine the state of the moving body. Estimate the error of the index to represent. Therefore, according to the program according to this application example, the error can be accurately estimated even when the timing at which the detection result of the second sensor is obtained is indeterminate, and coordinate conversion is performed every time the detection result of the second sensor is obtained. Since it is not necessary to calculate a matrix, the processing load can be reduced.

本実施形態の運動解析システムの概要についての説明図。Explanatory drawing about the outline | summary of the exercise | movement analysis system of this embodiment. 運動解析装置及び表示装置の構成例を示す機能ブロック図。The functional block diagram which shows the structural example of a motion analysis apparatus and a display apparatus. センシングデータテーブルの構成例を示す図。The figure which shows the structural example of a sensing data table. GPSデータテーブルの構成例を示す図。The figure which shows the structural example of a GPS data table. 算出データテーブルの構成例を示す図。The figure which shows the structural example of a calculation data table. 運動解析装置の処理部の構成例を示す機能ブロック図。The functional block diagram which shows the structural example of the process part of a motion analysis apparatus. ユーザーの歩行時の姿勢についての説明図。Explanatory drawing about the posture at the time of a user's walk. ユーザーが歩行動作(直進)をする場合の慣性計測ユニットの方位角と進行方向の方位角の一例を示す図。The figure which shows an example of the azimuth of an inertial measurement unit and a azimuth | direction of an advancing direction when a user walks (straightly). ユーザーの歩行時に慣性計測ユニットが検出した3軸加速度の合成加速度の一例を示す図。The figure which shows an example of the synthetic | combination acceleration of the triaxial acceleration which the inertial measurement unit detected at the time of a user's walk. 運動解析処理の手順の一例を示すフローチャート図。The flowchart figure which shows an example of the procedure of an exercise | movement analysis process. ユーザーが直進歩行する場合の慣性計測ユニットの方位角と処理部による処理のタイミングとの関係の一例を示す図。The figure which shows an example of the relationship between the azimuth of an inertial measurement unit when a user goes straight ahead, and the timing of the process by a process part.

以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。   DESCRIPTION OF EMBODIMENTS Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. The embodiments described below do not unduly limit the contents of the present invention described in the claims. Also, not all of the configurations described below are essential constituent requirements of the present invention.

1.運動解析システム
1−1.システムの概要
図1は、本実施形態の運動解析システム1の概要について説明するための図である。図
1に示すように、本実施形態の運動解析システム1は、運動解析装置2及び表示装置3を含んで構成されている。運動解析装置2は、ユーザー(移動体の一例)の胴体部分(例えば、右腰又は左腰)に装着される。運動解析装置2は、慣性計測ユニット(IMU:Inertial Measurement Unit)10を内蔵し、ユーザーの歩行(走行も含む)における動きを捉えて、速度、位置、姿勢角(ロール角、ピッチ角、ヨー角)等を計算し、さらに、ユーザーの運動を解析して運動解析情報を生成する。本実施形態では、ユーザーが静止している状態で、慣性計測ユニット(IMU)10の1つの検出軸(以下ではz軸とする)が重力加速度方向(鉛直下向き)とほぼ一致するように、運動解析装置2が装着される。運動解析装置2は、生成した運動解析情報を表示装置3に送信する。
1. Motion analysis system 1-1. Overview of System FIG. 1 is a diagram for describing an overview of a motion analysis system 1 of the present embodiment. As shown in FIG. 1, the motion analysis system 1 according to the present embodiment includes a motion analysis device 2 and a display device 3. The motion analysis device 2 is attached to a trunk portion (for example, right waist or left waist) of a user (an example of a moving body). The motion analysis apparatus 2 has an inertial measurement unit (IMU) 10 and captures movements of the user's walking (including running) to detect speed, position, and posture angle (roll angle, pitch angle, yaw angle). ) Etc., and further, the motion of the user is analyzed to generate motion analysis information. In the present embodiment, the motion is performed so that one detection axis (hereinafter referred to as z-axis) of the inertial measurement unit (IMU) 10 substantially coincides with the gravitational acceleration direction (vertically downward) while the user is stationary. The analysis device 2 is attached. The motion analysis device 2 transmits the generated motion analysis information to the display device 3.

表示装置3は、リスト型(腕時計型)の携帯情報機器であり、ユーザーの手首等に装着される。ただし、表示装置3は、ヘッドマウントディスプレイ(HMD:Head Mount Display)やスマートフォン等の携帯情報機器であってもよい。ユーザーは、表示装置3を操作して運動解析装置2による計測のスタートやストップを指示することができる。表示装置3は、計測スタートや計測ストップを指示するコマンドを運動解析装置2に送信する。運動解析装置2は、計測スタートのコマンドを受信すると、慣性計測ユニット(IMU)10による計測を開始し、計測結果に基づきユーザーの運動を解析し、運動解析情報を生成する。運動解析装置2は生成した運動解析情報を表示装置3に送信し、表示装置3は運動解析情報を受信し、受信した運動解析情報を文字、図形、音等の各種の形態でユーザーに提示する。ユーザーは表示装置3を介して運動解析情報を認識することができる。   The display device 3 is a wrist-type (wristwatch-type) portable information device, and is attached to a user's wrist or the like. However, the display device 3 may be a portable information device such as a head mounted display (HMD) or a smartphone. The user can instruct the start and stop of measurement by the motion analysis device 2 by operating the display device 3. The display device 3 transmits a command for instructing measurement start or measurement stop to the motion analysis device 2. When the motion analysis device 2 receives a measurement start command, the motion analysis device 2 starts measurement by the inertial measurement unit (IMU) 10, analyzes the user's motion based on the measurement result, and generates motion analysis information. The motion analysis device 2 transmits the generated motion analysis information to the display device 3, the display device 3 receives the motion analysis information, and presents the received motion analysis information to the user in various forms such as letters, figures, and sounds. . The user can recognize the motion analysis information via the display device 3.

なお、運動解析装置2と表示装置3との間のデータ通信は、無線通信でもよいし、有線通信でもよい。   Data communication between the motion analysis device 2 and the display device 3 may be wireless communication or wired communication.

本実施形態では、以下において、運動解析装置2がユーザーの歩行速度を推定して移動経路や移動時間等を含む運動解析情報を生成する場合を例に挙げて詳細に説明するが、本実施形態の運動解析システム1は、歩行以外の移動を伴う運動における運動解析情報を生成する場合にも、同様に適用することができる。   In the present embodiment, a case where the motion analysis apparatus 2 estimates a user's walking speed and generates motion analysis information including a travel route and a travel time will be described in detail below as an example. This motion analysis system 1 can be similarly applied to the case of generating motion analysis information in motion involving movement other than walking.

1−2.座標系
以下の説明において必要となる座標系を定義する。
・eフレーム(Earth Center Earth Fixed Frame):地球の中心を原点とし、自転軸に平行にz軸をとった右手系の三次元直交座標
・nフレーム(Navigation Frame):移動体(ユーザー)を原点とし、x軸を北、y軸を東、z軸を重力方向とした三次元直交座標系
・bフレーム(Body Frame):センサー(慣性計測ユニット(IMU)10)を基準とする三次元直交座標系
・mフレーム(Moving Frame):移動体(ユーザー)を原点とし、移動体(ユーザー)の進行方向をx軸とした右手系の三次元直交座標系
1-2. Coordinate system The coordinate system required in the following description is defined.
・ E Frame (Earth Center Earth Fixed Frame): 3D Cartesian coordinates of right-handed system with the center of the earth as the origin and the z axis parallel to the rotation axis ・ n Frame (Navigation Frame): Origin of the moving object (user) 3D Cartesian coordinate system with x-axis as north, y-axis as east, and z-axis as gravity direction ・ B frame (Body Frame): 3D Cartesian coordinates based on sensor (Inertial Measurement Unit (IMU) 10) System • m Frame (Moving Frame): A right-handed three-dimensional Cartesian coordinate system with the moving body (user) as the origin and the traveling direction of the moving body (user) as the x-axis

1−3.システムの構成
図2は、運動解析装置2及び表示装置3の構成例を示す機能ブロック図である。図2に示すように、運動解析装置2(誤差推定装置の一例)は、慣性計測ユニット(IMU)10、処理部20、記憶部30、通信部40及びGPSユニット50を含んで構成されている。ただし、本実施形態の運動解析装置2は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。
1-3. System Configuration FIG. 2 is a functional block diagram showing a configuration example of the motion analysis device 2 and the display device 3. As shown in FIG. 2, the motion analysis device 2 (an example of an error estimation device) includes an inertial measurement unit (IMU) 10, a processing unit 20, a storage unit 30, a communication unit 40, and a GPS unit 50. . However, the motion analysis apparatus 2 of the present embodiment may have a configuration in which some of these components are deleted or changed, or other components are added.

慣性計測ユニット10(第1センサーの一例)は、加速度センサー12、角速度センサー14及び信号処理部16を含んで構成されている。   The inertial measurement unit 10 (an example of a first sensor) includes an acceleration sensor 12, an angular velocity sensor 14, and a signal processing unit 16.

加速度センサー12は、互いに交差する(理想的には直交する)3軸方向の各々の加速度を検出し、検出した3軸加速度の大きさ及び向きに応じたデジタル信号(加速度データ)を出力する。   The acceleration sensor 12 detects each acceleration in the three-axis directions that intersect (ideally orthogonal) with each other, and outputs a digital signal (acceleration data) corresponding to the magnitude and direction of the detected three-axis acceleration.

角速度センサー14は、互いに交差する(理想的には直交する)3軸方向の各々の角速度を検出し、計測した3軸角速度の大きさ及び向きに応じたデジタル信号(角速度データ)を出力する。   The angular velocity sensor 14 detects angular velocities in the three axial directions that intersect (ideally orthogonal) with each other, and outputs a digital signal (angular velocity data) corresponding to the magnitude and direction of the measured three axial angular velocities.

信号処理部16は、加速度センサー12と角速度センサー14から、それぞれ加速度データと角速度データを受け取って時刻情報を付して不図示の記憶部に記憶し、記憶した加速度データと角速度データに時刻情報を付して所定のフォーマットに合わせたセンシングデータを生成し、処理部20に出力する。   The signal processing unit 16 receives acceleration data and angular velocity data from the acceleration sensor 12 and the angular velocity sensor 14, respectively, attaches time information to the storage unit (not shown), and stores the time information in the stored acceleration data and angular velocity data. At the same time, sensing data matching a predetermined format is generated and output to the processing unit 20.

加速度センサー12及び角速度センサー14は、それぞれ3軸が、慣性計測ユニット10を基準とするセンサー座標系(bフレーム)の3軸と一致するように取り付けられるのが理想的だが、実際には取り付け角の誤差が生じる。そこで、信号処理部16は、取り付け角誤差に応じてあらかじめ算出された補正パラメーターを用いて、加速度データ及び角速度データをセンサー座標系(bフレーム)のデータに変換する処理を行う。なお、信号処理部16の代わりに後述する処理部20が当該変換処理を行ってもよい。   The acceleration sensor 12 and the angular velocity sensor 14 are ideally attached so that each of the three axes coincides with the three axes of the sensor coordinate system (b frame) with the inertial measurement unit 10 as a reference. Error occurs. Therefore, the signal processing unit 16 performs a process of converting the acceleration data and the angular velocity data into data of the sensor coordinate system (b frame) using a correction parameter calculated in advance according to the attachment angle error. Note that the processing unit 20 described later may perform the conversion process instead of the signal processing unit 16.

さらに、信号処理部16は、加速度センサー12及び角速度センサー14の温度補正処理を行ってもよい。なお、信号処理部16の代わりに後述する処理部20が当該温度補正処理を行ってもよいし、加速度センサー12及び角速度センサー14に温度補正の機能が組み込まれていてもよい。   Further, the signal processing unit 16 may perform temperature correction processing of the acceleration sensor 12 and the angular velocity sensor 14. Note that the processing unit 20 to be described later may perform the temperature correction processing instead of the signal processing unit 16, and the acceleration sensor 12 and the angular velocity sensor 14 may incorporate a temperature correction function.

加速度センサー12と角速度センサー14は、アナログ信号を出力するものであってもよく、この場合は、信号処理部16が、加速度センサー12の出力信号と角速度センサー14の出力信号をそれぞれA/D変換してセンシングデータを生成すればよい。   The acceleration sensor 12 and the angular velocity sensor 14 may output analog signals. In this case, the signal processing unit 16 performs A / D conversion on the output signal of the acceleration sensor 12 and the output signal of the angular velocity sensor 14, respectively. Then, sensing data may be generated.

GPSユニット50(第2センサーの一例)は、測位用衛星の一種であるGPS衛星から送信されるGPS衛星信号を受信し、当該GPS衛星信号を利用して測位計算を行ってnフレームにおけるユーザーの位置及び速度(大きさと向きを含むベクトル)を算出し、これらに時刻情報や測位精度情報を付したGPSデータを処理部20に出力する。なお、GPSを利用して、位置や速度を算出する方法や時刻情報を生成する方法については公知であるため、詳細な説明を省略する。   The GPS unit 50 (an example of a second sensor) receives a GPS satellite signal transmitted from a GPS satellite that is a type of positioning satellite, performs a positioning calculation using the GPS satellite signal, and performs a positioning calculation of the user in n frames. The position and speed (vector including magnitude and direction) are calculated, and GPS data with time information and positioning accuracy information added thereto is output to the processing unit 20. In addition, since the method of calculating a position and speed and the method of generating time information using GPS are publicly known, detailed description is omitted.

処理部20は、例えば、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)等により構成され、記憶部30に記憶されている各種プログラムに従って、各種の演算処理や制御処理を行う。特に、処理部20は、慣性計測ユニット10からセンシングデータを受け取り、GPSユニット50からGPSデータを受け取り、センシングデータとGPSデータとを用いてユーザーの速度、位置、姿勢角等を算出する。また、処理部20は、算出したこれらの情報を用いて各種の演算処理を行ってユーザーの運動を解析し、移動経路や移動時間等を含む運動解析情報(画像データ、テキストデータ音データ等)を生成する。そして、処理部20は、生成した運動解析情報を、通信部40を介して表示装置3に送信する。   The processing unit 20 is configured by, for example, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), an ASIC (Application Specific Integrated Circuit), and the like, and according to various programs stored in the storage unit 30, Perform control processing. In particular, the processing unit 20 receives sensing data from the inertial measurement unit 10, receives GPS data from the GPS unit 50, and calculates a user's speed, position, posture angle, and the like using the sensing data and GPS data. In addition, the processing unit 20 performs various arithmetic processes using the calculated information to analyze the user's motion, and motion analysis information (image data, text data sound data, etc.) including the travel route and travel time. Is generated. Then, the processing unit 20 transmits the generated motion analysis information to the display device 3 via the communication unit 40.

記憶部30は、例えば、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の各種ICメモリーやハードディスクやメモリーカードなどの記録媒体等により構成される。   The storage unit 30 includes various IC memories such as a ROM (Read Only Memory), a flash ROM, and a RAM (Random Access Memory), a recording medium such as a hard disk and a memory card, and the like.

記憶部30には、処理部20によって読み出され、運動解析処理(図10参照)を実行するための運動解析プログラム300が記憶されている。   The storage unit 30 stores a motion analysis program 300 that is read by the processing unit 20 and used to execute a motion analysis process (see FIG. 10).

また、記憶部30には、センシングデータテーブル310、GPSデータテーブル320、算出データテーブル330、座標変換行列340及び運動解析情報350等が記憶される。   The storage unit 30 also stores a sensing data table 310, a GPS data table 320, a calculation data table 330, a coordinate conversion matrix 340, motion analysis information 350, and the like.

センシングデータテーブル310は、処理部20が慣性計測ユニット10から受け取ったセンシングデータ(慣性計測ユニット10の検出結果)を時系列に記憶するデータテーブルである。図3は、センシングデータテーブル310の構成例を示す図である。図3に示すように、センシングデータテーブル310は、慣性計測ユニット10の検出時刻311、加速度センサー12により検出された加速度312及び角速度センサー14により検出された角速度313が対応付けられたセンシングデータが時系列に並べられて構成される。処理部20は、計測を開始すると、サンプリング周期Δt(例えば、20ms)の経過毎に、センシングデータテーブル310に新たなセンシングデータを付加する。さらに、処理部20は、拡張カルマンフィルターを用いた誤差推定(後述)により推定された加速度バイアス及び角速度バイアスを用いて加速度及び角速度を補正し、補正後の加速度及び角速度を上書きしてセンシングデータテーブル310を更新する。   The sensing data table 310 is a data table that stores sensing data (detection results of the inertial measurement unit 10) received by the processing unit 20 from the inertial measurement unit 10 in time series. FIG. 3 is a diagram illustrating a configuration example of the sensing data table 310. As shown in FIG. 3, the sensing data table 310 includes the sensing data associated with the detection time 311 of the inertial measurement unit 10, the acceleration 312 detected by the acceleration sensor 12, and the angular velocity 313 detected by the angular velocity sensor 14. It is arranged in series. When the measurement starts, the processing unit 20 adds new sensing data to the sensing data table 310 every time a sampling period Δt (for example, 20 ms) elapses. Further, the processing unit 20 corrects the acceleration and the angular velocity using the acceleration bias and the angular velocity bias estimated by the error estimation using the extended Kalman filter (described later), and overwrites the corrected acceleration and the angular velocity, thereby sensing data table. 310 is updated.

GPSデータテーブル320は、処理部20がGPSユニット50から受け取ったGPSデータ(GPSユニット(GPSセンサー)50の検出結果)を時系列に記憶するデータテーブルである。図4は、GPSデータテーブル320の構成例を示す図である。図4に示すように、GPSデータテーブル320は、GPSユニット50が測位計算を行った時刻321、測位計算により算出した位置322、測位計算により算出した速度323、測位精度(DOP(Dilution of Precision))324、受信したGPS衛星信号の信号強度325等が対応付けられたGPSデータが時系列に並べられて構成される。処理部20は、計測を開始すると、GPSデータを取得する毎に(センシングデータの取得タイミングとは非同期に)、新たなGPSデータを付加してGPSデータテーブル320を更新する。   The GPS data table 320 is a data table that stores the GPS data (the detection result of the GPS unit (GPS sensor) 50) received by the processing unit 20 from the GPS unit 50 in time series. FIG. 4 is a diagram illustrating a configuration example of the GPS data table 320. As shown in FIG. 4, the GPS data table 320 includes a time 321 when the GPS unit 50 performs positioning calculation, a position 322 calculated by the positioning calculation, a speed 323 calculated by the positioning calculation, and a positioning accuracy (DOP (Dilution of Precision)). 324, GPS data associated with the signal strength 325 of the received GPS satellite signal is arranged in time series. When measurement is started, the processing unit 20 adds new GPS data and updates the GPS data table 320 every time GPS data is acquired (asynchronously with the acquisition timing of sensing data).

算出データテーブル330は、処理部20がセンシングデータを用いて算出した速度、位置及び姿勢角を時系列に記憶するデータテーブルである。図5は、算出データテーブル330の構成例を示す図である。図5に示すように、算出データテーブル330は、処理部20が計算した時刻331、速度332、位置333及び姿勢角334が対応付けられた算出データが時系列に並べられて構成される。処理部20は、計測を開始すると、新たにセンシングデータを取得する毎に、すなわち、サンプリング周期Δtの経過毎に、速度、位置及び姿勢角を算出し、算出データテーブル330に新たな算出データを付加する。さらに、処理部20は、拡張カルマンフィルターを用いた誤差推定により推定された速度誤差、位置誤差及び姿勢角誤差を用いて、速度、位置及び姿勢角を補正し、補正後の速度、位置及び姿勢角を上書きして算出データテーブル330を更新する。   The calculated data table 330 is a data table that stores the speed, position, and attitude angle calculated by the processing unit 20 using the sensing data in time series. FIG. 5 is a diagram illustrating a configuration example of the calculation data table 330. As shown in FIG. 5, the calculation data table 330 is configured by calculating data in which time 331, speed 332, position 333, and posture angle 334 calculated by the processing unit 20 are associated in time series. When measurement is started, the processing unit 20 calculates the speed, position, and attitude angle every time sensing data is acquired, that is, every time the sampling period Δt elapses, and new calculation data is stored in the calculation data table 330. Append. Further, the processing unit 20 corrects the speed, the position, and the attitude angle using the speed error, the position error, and the attitude angle error estimated by the error estimation using the extended Kalman filter, and the corrected speed, position, and attitude are corrected. The calculation data table 330 is updated by overwriting the corners.

座標変換行列340は、bフレームとmフレームとの間の座標変換を行うための行列であり、後述するように、処理部20がユーザーの歩行運動の周期における所定のタイミングで算出し、記憶部30に保存(記憶)する。   The coordinate transformation matrix 340 is a matrix for performing coordinate transformation between the b frame and the m frame. As will be described later, the processing unit 20 calculates at a predetermined timing in the cycle of the user's walking motion, and the storage unit 30 (storing).

運動解析情報350は、ユーザーの運動に関する各種情報であり、本実施形態では、処理部20が算出した、歩行による移動に関する情報、歩行運動の評価指標に関する情報、歩行に関するアドバイス、指導、警告等の情報を含む。   The exercise analysis information 350 is various information relating to the user's exercise. In the present embodiment, information relating to movement by walking, information relating to an evaluation index of walking exercise, advice relating to walking, guidance, warning, etc., calculated by the processing unit 20. Contains information.

通信部40は、表示装置3の通信部140との間でのデータ通信を行うものであり、処
理部20が生成した運動解析情報を受け取って表示装置3に送信する処理、表示装置3から送信されたコマンド(計測スタート/ストップのコマンド等)を受信して処理部20に送る処理等を行う。
The communication unit 40 performs data communication with the communication unit 140 of the display device 3. The communication unit 40 receives the motion analysis information generated by the processing unit 20 and transmits it to the display device 3. The received command (measurement start / stop command, etc.) is received and sent to the processing unit 20.

表示装置3は、処理部120、記憶部130、通信部140、操作部150、計時部160、表示部170及び音出力部180を含んで構成されている。ただし、本実施形態の表示装置3は、これらの構成要素の一部を削除又は変更し、あるいは、他の構成要素を追加した構成であってもよい。   The display device 3 includes a processing unit 120, a storage unit 130, a communication unit 140, an operation unit 150, a time measuring unit 160, a display unit 170, and a sound output unit 180. However, the display device 3 of the present embodiment may have a configuration in which some of these components are deleted or changed, or other components are added.

処理部120は、記憶部130に記憶されているプログラムに従って、各種の演算処理や制御処理を行う。例えば、処理部120は、操作部150から受け取った操作データに応じた各種処理(計測スタート/ストップのコマンドを通信部140に送る処理や操作データに応じた表示処理や音出力処理等)、通信部140から運動解析情報を受け取って表示部170や音出力部180に送る処理、計時部160から受け取った時刻情報に応じた時刻画像データを生成して表示部170に送る処理等を行う。   The processing unit 120 performs various arithmetic processes and control processes according to programs stored in the storage unit 130. For example, the processing unit 120 performs various types of processing according to the operation data received from the operation unit 150 (processing for sending a measurement start / stop command to the communication unit 140, display processing according to the operation data, sound output processing, etc.), communication A process of receiving motion analysis information from the unit 140 and sending it to the display unit 170 and the sound output unit 180, a process of generating time image data corresponding to the time information received from the time measuring unit 160 and sending it to the display unit 170, and the like.

記憶部130は、例えば、処理部120が各種処理を行うためのプログラムやデータが記憶されるROMや処理部120の作業領域となるRAM等の各種ICメモリーにより構成される。   The storage unit 130 includes various IC memories such as a ROM that stores programs and data for the processing unit 120 to perform various processes, and a RAM that is a work area of the processing unit 120, for example.

通信部140は、運動解析装置2の通信部40との間でのデータ通信を行うものであり、処理部120から操作データに応じたコマンド(計測スタート/ストップのコマンド等)を受け取って運動解析装置2に送信する処理、運動解析装置2から送信された運動解析情報(画像データ、テキストデータ、音データ等の各種データ)を受信して処理部120に送る処理等を行う。   The communication unit 140 performs data communication with the communication unit 40 of the motion analysis device 2 and receives a command (measurement start / stop command, etc.) corresponding to the operation data from the processing unit 120 to perform motion analysis. Processing to be transmitted to the device 2, processing for receiving motion analysis information (various data such as image data, text data, and sound data) transmitted from the motion analysis device 2 and processing to send to the processing unit 120 are performed.

操作部150は、ユーザーからの操作データ(計測スタート/ストップ、表示内容の選択等の操作データ)を取得し、処理部120に送る処理を行う。操作部150は、例えば、タッチパネル型ディスプレイ、ボタン、キー、マイクなどであってもよい。   The operation unit 150 obtains operation data (operation data such as measurement start / stop and display content selection) from the user, and performs processing to send the operation data to the processing unit 120. The operation unit 150 may be, for example, a touch panel display, a button, a key, a microphone, or the like.

計時部160は、年、月、日、時、分、秒等の時刻情報を生成する処理を行う。計時部160は、例えば、リアルタイムクロック(RTC:Real Time Clock)ICなどで実現される。   The timer unit 160 performs processing for generating time information such as year, month, day, hour, minute, and second. The timer unit 160 is realized by a real time clock (RTC) IC, for example.

表示部170は、処理部120から送られてきた画像データやテキストデータを、文字、グラフ、表、アニメーション、その他の画像として表示するものである。表示部170は、例えば、LCD(Liquid Crystal Display)、有機EL(Electroluminescence)ディスプレイ、EPD(Electrophoretic Display)等のディスプレイで実現され、タッチパネル型ディスプレイであってもよい。なお、1つのタッチパネル型ディスプレイで操作部150と表示部170の機能を実現するようにしてもよい。   The display unit 170 displays the image data and text data sent from the processing unit 120 as characters, graphs, tables, animations, and other images. The display unit 170 is realized by a display such as an LCD (Liquid Crystal Display), an organic EL (Electroluminescence) display, or an EPD (Electrophoretic Display), and may be a touch panel display. Note that the functions of the operation unit 150 and the display unit 170 may be realized by a single touch panel display.

音出力部180は、処理部120から送られてきた音データを、音声やブザー音等の音として出力するものである。音出力部180は、例えば、スピーカーやブザーなどで実現される。   The sound output unit 180 outputs the sound data sent from the processing unit 120 as sound such as sound or buzzer sound. The sound output unit 180 is realized by, for example, a speaker or a buzzer.

図6は、運動解析装置2の処理部20の構成例を示す機能ブロック図である。本実施形態では、処理部20は、記憶部30に記憶されている運動解析プログラム300を実行することにより、バイアス除去部210、積分処理部220、誤差推定部230、歩行検出部240、直進判定部250、座標変換行列算出部260、方位角変換部270、座標変換部280及び運動解析部290として機能する。   FIG. 6 is a functional block diagram illustrating a configuration example of the processing unit 20 of the motion analysis apparatus 2. In the present embodiment, the processing unit 20 executes the motion analysis program 300 stored in the storage unit 30 to thereby perform the bias removal unit 210, the integration processing unit 220, the error estimation unit 230, the walking detection unit 240, and the straight traveling determination. Functions as a unit 250, a coordinate conversion matrix calculation unit 260, an azimuth angle conversion unit 270, a coordinate conversion unit 280, and a motion analysis unit 290.

バイアス除去部210は、新たに取得したセンシングデータに含まれる加速度(3軸加速度)及び角速度から、それぞれ、誤差推定部230が推定した加速度バイアスb及び角速度バイアスbωを減算し、加速度及び角速度を補正する処理を行う。なお、計測開始直後の初期状態では加速度バイアスb及び角速度バイアスbωが存在しないため、バイアス除去部210は、ユーザーの初期状態は静止状態であるものとして、慣性計測ユニットからのセンシングデータを用いて、初期バイアスを計算する。 Bias removal unit 210, the newly acquired acceleration included in the sensing data (three-axis acceleration) and angular velocity, respectively, the acceleration bias b a and angular velocity bias b omega error estimation unit 230 has estimated by subtracting the acceleration and angular velocity The process which correct | amends is performed. Since the in the initial state immediately after the start of measurement no acceleration bias b a and angular velocity bias b omega, bias removal unit 210, the user in the initial state as a quiescent state, using the sensing data from the inertial measurement unit To calculate the initial bias.

積分処理部220は、バイアス除去部210が補正した加速度及び角速度からeフレームの速度v、位置p及び姿勢角(ロール角φbe、ピッチ角θbe、ヨー角ψbe)を算出する処理を行う。具体的には、積分処理部220は、まず、ユーザーの初期状態は静止状態であるものとして、初期速度をゼロとし、あるいは、GPSデータに含まれる速度から初期速度を算出し、さらに、GPSデータに含まれる位置から初期位置を算出する。また、積分処理部220は、バイアス除去部210が補正したbフレームの3軸加速度から重力加速度の向きを特定してロール角φbeとピッチ角θbeの初期値を算出するとともに、GPSデータに含まれる速度からヨー角ψbeの初期値を算出し、eフレームの初期姿勢角とする。GPSデータが得られない場合はヨー角ψbeの初期値を例えばゼロとする。そして、積分処理部220は、算出した初期姿勢角から式(1)で表されるbフレームからeフレームへの座標変換行列(回転行列)C の初期値を算出する。 Integration processing unit 220, the processing bias removal unit 210 calculates the speed v e of e frame from the acceleration corrected and the angular velocity, the position p e and orientation angle (roll angle phi BE, pitch angle theta BE, yaw angle [psi BE) and I do. Specifically, the integration processing unit 220 first assumes that the initial state of the user is a stationary state, sets the initial speed to zero, or calculates the initial speed from the speed included in the GPS data. The initial position is calculated from the positions included in. Further, the integration processing unit 220 calculates the initial values of the roll angle φ be and the pitch angle θ be by specifying the direction of the gravitational acceleration from the triaxial acceleration of the b frame corrected by the bias removal unit 210, and converts the initial value of the GPS into the GPS data. The initial value of the yaw angle ψ be is calculated from the included velocity, and is set as the initial posture angle of the e frame. When GPS data cannot be obtained, the initial value of the yaw angle ψ be is set to zero, for example. Then, the integration processing unit 220 calculates an initial value of a coordinate transformation matrix (rotation matrix) C b e from the b frame to the e frame represented by Expression (1) from the calculated initial attitude angle.

Figure 2015190850
Figure 2015190850

その後は、積分処理部220は、バイアス除去部210が補正した3軸角速度を積算(回転演算)して座標変換行列C を算出し、式(2)より姿勢角を算出する。 Then, the integration processing section 220, the integrated three-axis angular velocity bias removal unit 210 is corrected (rotation operation) and to calculate the coordinate transformation matrix C b e, calculates the posture angle from the equation (2).

Figure 2015190850
Figure 2015190850

また、積分処理部220は、座標変換行列C を用いて、バイアス除去部210が補正したbフレームの3軸加速度をeフレームの3軸加速度に変換し、重力加速度成分を除去して積算することでeフレームの速度vを算出する。また、積分処理部220は、eフレームの速度vを積算してeフレームの位置pを算出する。 Further, the integration processing unit 220 uses the coordinate transformation matrix C b e, the 3-axis acceleration of b frames bias removal unit 210 is corrected by converting the 3-axis acceleration of the e frame, integrated to remove the gravitational acceleration component calculate the velocity v e of e frame by. Further, the integration processing unit 220 calculates the position p e of the e frame by integrating the speed v e of the e frame.

また、積分処理部220は、誤差推定部230が推定した速度誤差δv、位置誤差δp及び姿勢角誤差εを用いて、速度v、位置p及び姿勢角を補正する処理も行う。 Performing addition, the integration processing section 220, speed error .delta.v e the error estimator 230 estimates, using the position error .delta.p e and attitude angle error epsilon e velocity v e, also processing for correcting the position p e and orientation angle .

さらに、積分処理部220は、bフレームからmフレームへの座標変換行列C 及び
eフレームからmフレームへの座標変換行列C も算出する。これらの座標変換行列は座標変換情報として後述する座標変換部280の座標変換処理に用いられる。
Furthermore, the integration processing unit 220 also calculates a coordinate conversion matrix C b m from the b frame to the m frame and a coordinate conversion matrix C e m from the e frame to the m frame. These coordinate transformation matrices are used as coordinate transformation information for coordinate transformation processing of the coordinate transformation unit 280 described later.

誤差推定部230は、積分処理部220が算出した速度・位置、姿勢角、バイアス除去部210が補正した加速度や角速度、及び、後述する方位角変換部270が算出したリファレンスの方位角を用いて、ユーザーの状態を表す指標の誤差を推定する。本実施形態では、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、誤差推定部230は、拡張カルマンフィルターを用いてこれらの指標の誤差を推定する。すなわち、誤差推定部230は、積分処理部220が算出した速度vの誤差(速度誤差)δv、積分処理部220が算出した姿勢角の誤差(姿勢角誤差)ε、加速度バイアスb、角速度バイアスbω及び積分処理部220が算出した位置pの誤差(位置誤差)δpを拡張カルマンフィルターの状態変数とし、状態ベクトルXを式(3)のように定義する。 The error estimation unit 230 uses the velocity / position and posture angle calculated by the integration processing unit 220, the acceleration and angular velocity corrected by the bias removal unit 210, and the reference azimuth angle calculated by the azimuth angle conversion unit 270 described later. , To estimate the error of the index that represents the user's condition. In the present embodiment, speed, posture angle, acceleration, angular velocity, and position are used as indices representing the user's state, and the error estimation unit 230 estimates errors of these indices using an extended Kalman filter. That is, the error estimator 230, the error (velocity error) .delta.v e of the velocity v e of the integration processing unit 220 is calculated, an error of the posture angle integration processing unit 220 is calculated (posture angle error) epsilon e, acceleration bias b a the angular velocity bias b omega and integration processing unit 220 is an error of the position p e calculated (position error) .delta.p e and extended Kalman filter state variables defining the state vector X as in equation (3).

Figure 2015190850
Figure 2015190850

誤差推定部230は、拡張カルマンフィルターの予測式を用いて、状態ベクトルXに含まれる状態変数(ユーザーの状態を表す指標の誤差)を予測する。拡張カルマンフィルターの予測式は、式(4)のように表される。式(4)において、行列Φは、前回の状態ベクトルXと今回の状態ベクトルXを関連付ける行列であり、その要素の一部は姿勢角や位置等を反映しながら時々刻々変化するように設計される。また、Qはプロセスノイズを表す行列であり、その各要素はあらかじめ適切な値に設定される。また、Pは状態変数の誤差共分散行列である。   The error estimation unit 230 predicts a state variable (an error of an index representing the user's state) included in the state vector X using a prediction formula of the extended Kalman filter. The prediction formula of the extended Kalman filter is expressed as in Equation (4). In Equation (4), the matrix Φ is a matrix that associates the previous state vector X with the current state vector X, and some of the elements are designed to change from moment to moment while reflecting the posture angle, position, and the like. The Q is a matrix representing process noise, and each element thereof is set to an appropriate value in advance. P is an error covariance matrix of state variables.

Figure 2015190850
Figure 2015190850

また、誤差推定部230は、拡張カルマンフィルターの更新式を用いて、予測した状態変数(ユーザーの状態を表す指標の誤差)を更新(補正)する。拡張カルマンフィルターの更新式は、式(5)のように表される。Z及びHはそれぞれ観測ベクトル及び観測行列であり、更新式(5)は、実際の観測ベクトルZと状態ベクトルXから予測されるベクトルHXとの差を用いて、状態ベクトルXを補正することを表している。Rは、観測誤差の共分散行列であり、あらかじめ決められた一定値であってもよいし、動的に変更してもよい。Kはカルマンゲインであり、Rが小さいほどKが大きくなる。式(5)より、Kが大きい(Rが小さい)ほど、状態ベクトルXの補正量が大きくなり、その分、Pが小さくなる。   Further, the error estimation unit 230 updates (corrects) the predicted state variable (the error of the index representing the user's state) using the extended Kalman filter update formula. The extended Kalman filter update formula is expressed as shown in Formula (5). Z and H are an observation vector and an observation matrix, respectively, and the update equation (5) uses the difference between the actual observation vector Z and the vector HX predicted from the state vector X to correct the state vector X. Represents. R is an observation error covariance matrix, which may be a predetermined constant value or may be dynamically changed. K is a Kalman gain, and the smaller R is, the larger K is. From equation (5), the larger the K (the smaller R), the larger the amount of correction of the state vector X, and the smaller P.

Figure 2015190850
Figure 2015190850

本実施形態では、誤差推定部230は、慣性計測ユニットの検出結果から算出される方位角とGPSデータから算出される慣性計測ユニット10の方位角が等しく、かつ、GPSデータから算出される慣性計測ユニット10の方位角は真の方位角(リファレンスの方位角)であるとの条件のもと、慣性計測ユニットの検出結果から算出される方位角とGPSデータから算出される慣性計測ユニット10の方位角との差を観測ベクトルZとして拡張カルマンフィルターを適用し、状態ベクトルXを推定する。   In this embodiment, the error estimation unit 230 has the same azimuth angle calculated from the detection result of the inertial measurement unit and the azimuth angle of the inertial measurement unit 10 calculated from the GPS data, and the inertial measurement calculated from the GPS data. Under the condition that the azimuth angle of the unit 10 is a true azimuth angle (reference azimuth angle), the azimuth angle calculated from the detection result of the inertial measurement unit and the azimuth angle of the inertial measurement unit 10 calculated from GPS data The state vector X is estimated by applying an extended Kalman filter with the difference from the angle as an observation vector Z.

ところで、ユーザーが歩行動作(直進)をする場合、進行方向はほぼ一定であるのに対して、慣性計測ユニット10の姿勢はユーザーの動きに応じて周期的に変化する。図7は、運動解析装置2(IMU10)を右腰に装着したユーザーが歩行動作(直進)をする場合のユーザーの移動を俯瞰した図である。図7に示すように、ユーザーの歩行動作に伴い、ユーザーに対する慣性計測ユニット10の姿勢が随時変化する。ユーザーが右足を踏み出した状態では、図7中の(2)や(4)に示すように、慣性計測ユニット10は進行方向(mフレームのx軸)に対して右側に傾いた姿勢となる。それに対して、ユーザーが左足を踏み出した状態では、図7中の(1)や(3)に示すように、慣性計測ユニット10は進行方向(mフレームのx軸)に対して左側に傾いた姿勢となる。   By the way, when the user performs a walking motion (straight forward), the traveling direction is substantially constant, whereas the posture of the inertial measurement unit 10 periodically changes according to the movement of the user. FIG. 7 is an overview of the movement of the user when the user wearing the motion analysis apparatus 2 (IMU 10) on the right waist performs a walking motion (straight forward). As illustrated in FIG. 7, the posture of the inertial measurement unit 10 with respect to the user changes as the user walks. When the user steps on the right foot, as shown in (2) and (4) in FIG. 7, the inertial measurement unit 10 is inclined to the right with respect to the traveling direction (the x axis of the m frame). On the other hand, when the user steps on the left foot, the inertial measurement unit 10 is tilted to the left with respect to the traveling direction (the x axis of the m frame) as shown in (1) and (3) in FIG. Become posture.

つまり、慣性計測ユニット10の方位角は、ユーザーの歩行動作に伴い、左右1歩ずつの2歩毎に周期的に変化することになり、そのため、慣性計測ユニット10の検出結果から算出される方位角も周期的に変化する。これに対して、ユーザーの進行方向はほぼ一定であるので、GPSデータから算出される方位角はほぼ一定である。図8は、ユーザーが歩行動作(直進)をする場合の慣性計測ユニット10の方位角と進行方向の方位角の一例を示す図であり、横軸は時間、縦軸は方位角である。図8において、実線は、慣性計測ユニット10の方位角を表し、破線は進行方向の方位角を表す。図8に示すように、慣性計測ユニット10の方位角は2歩毎に周期的に変化し、例えば、右足を踏み出した状態で極大となり(○で表記)、左足を踏み出した状態で極小となっている(●で表記)。一方、進行方向の方位角はほとんど変わらずほぼ一定であるため、GPSデータから算出される方位角もほぼ一定である。   In other words, the azimuth angle of the inertial measurement unit 10 periodically changes every two steps left and right with the user's walking motion. Therefore, the azimuth calculated from the detection result of the inertial measurement unit 10 The angle also changes periodically. On the other hand, since the traveling direction of the user is substantially constant, the azimuth angle calculated from the GPS data is substantially constant. FIG. 8 is a diagram illustrating an example of the azimuth angle and the azimuth angle of the traveling direction of the inertial measurement unit 10 when the user performs a walking motion (straight forward), where the horizontal axis represents time and the vertical axis represents the azimuth angle. In FIG. 8, the solid line represents the azimuth angle of the inertial measurement unit 10, and the broken line represents the azimuth angle in the traveling direction. As shown in FIG. 8, the azimuth angle of the inertial measurement unit 10 periodically changes every two steps. For example, the azimuth angle is maximized when the right foot is stepped on (indicated by a circle), and is minimal when the left foot is stepped on. (Indicated by ●). On the other hand, since the azimuth angle in the traveling direction is almost constant and almost constant, the azimuth angle calculated from the GPS data is also almost constant.

従って、状態ベクトルXを推定するための上記条件を成立させるためには、慣性計測ユニットの方位角とGPSデータから算出される進行方向の方位角との差の情報、すなわち、bフレームとmフレームとの間の座標変換行列C を計算する必要がある。ところが、図8に示すように、GPSデータが得られるタイミングは不定であるため、GPSデータが得られたタイミングでは、慣性計測ユニット10の方位角(△で表記)とGPSデータから算出される方位角(□で表記)との差は一定とならない。そのため、GPSデータが得られたタイミングで拡張カルマンフィルターによる誤差推定を行うためには、GPSデータが得られる毎に座標変換行列C を計算しなければならず、処理負荷が増大するという問題が生じる。 Therefore, in order to establish the above condition for estimating the state vector X, information on the difference between the azimuth angle of the inertial measurement unit and the azimuth angle in the traveling direction calculated from the GPS data, that is, b frame and m frame it is necessary to calculate the coordinate transformation matrix C m b between. However, as shown in FIG. 8, since the timing at which GPS data is obtained is indefinite, at the timing at which GPS data is obtained, the azimuth (indicated by Δ) of the inertial measurement unit 10 and the azimuth calculated from the GPS data. The difference from the corner (indicated by □) is not constant. Therefore, in order to perform error estimation by the extended Kalman filter at the timing when the GPS data is obtained, it is necessary to calculate the coordinate transformation matrix C m b each time GPS data is obtained, a problem that the processing load increases Occurs.

そこで、本実施形態では、ユーザーの歩行動作に伴い、慣性計測ユニット10の方位角
が2歩毎に周期的に変化することを利用し、歩行周期における所定のタイミングで座標変換行列C を一度だけ計算し、その後は、GPSデータが得られる毎に、歩行周期における次の所定のタイミング(座標変換行列C を計算した時と同じタイミング)で、座標変換行列C を用いてリファレンスの方位角を算出し、状態ベクトルXを推定する。このようにすれば、GPSデータが得られる毎に、座標変換行列C を再計算する必要がなくなり、処理負荷を大幅に削減することができる。
Therefore, in this embodiment, as the user's walking motion, the azimuth angle of the inertial measurement unit 10 utilizes the fact that periodically changes every two steps, the coordinate transformation matrix C m b at a predetermined timing in the walking cycle once calculated, then, each time the GPS data is obtained, at a next predetermined timing in walking period (same timing as when calculating the coordinate transformation matrix C m b), using the coordinate transformation matrix C m b The reference azimuth angle is calculated, and the state vector X is estimated. Thus, each time the GPS data is obtained, it is not necessary to recalculate the coordinate transformation matrix C m b, it is possible to greatly reduce the processing load.

なお、GPSデータが得られたタイミングから、歩行周期における次の所定のタイミングまでの間に、ユーザーが進行方向を変えた場合、GPS方位角と慣性計測ユニットの方位角との差が、座標変換行列の算出時とは異なってしまう。そのため、当該所定のタイミングでは、直近に得られたGPSデータから算出したリファレンスの方位角を使用すると状態ベクトルXの推定精度が大きく低下するおそれがある。そこで、本実施形態では、ユーザーが直進しているか否かを判定し、GPSデータが得られたタイミングから、歩行周期における次の所定のタイミングまでの間に、ユーザーが進行方向を変えた場合には、当該所定のタイミングでは状態ベクトルXの推定を行わないようにする。   Note that if the user changes the direction of travel between the timing at which GPS data is obtained and the next predetermined timing in the walking cycle, the difference between the GPS azimuth and the azimuth of the inertial measurement unit is coordinate transformed. This is different from the matrix calculation. Therefore, at the predetermined timing, if the reference azimuth calculated from the most recently obtained GPS data is used, the estimation accuracy of the state vector X may be greatly reduced. Therefore, in the present embodiment, it is determined whether or not the user is traveling straight, and when the user changes the traveling direction from the timing when the GPS data is obtained to the next predetermined timing in the walking cycle. Does not estimate the state vector X at the predetermined timing.

図6に戻り、歩行検出部240は、慣性計測ユニット10の検出結果(具体的には、バイアス除去部210が補正したセンシングデータ)を用いて、ユーザーの歩行周期(歩行タイミング)として2歩(左右1歩ずつ)の周期を検出する処理を行う。図9は、ユーザーの歩行時に慣性計測ユニット10が検出した3軸加速度の合成加速度の一例を示す図である。図9において、横軸は時間であり、縦軸は合成加速度の値である。図9に示すように、合成加速度は周期的に変化しており、合成加速度が極小値から極大値になる中間のタイミングは、図8の方位角が極大又は極小となるタイミングと一致する。従って、歩行検出部240は、例えば、合成加速度の極大値と極小値との差(振幅)が閾値以上の場合に、合成加速度が極小値から極大値になる中間のタイミングの1回おきに歩行周期を検出することができる。例えば、歩行検出部240は、直近に合成加速度が極小値から極大値(あるいは、極大値から極小値)に変化した時の中間値を保存しておき、その中間値を超えた時(図9中の○)に1回おきに歩行周期を検出してもよい。   Returning to FIG. 6, the walking detection unit 240 uses the detection result of the inertial measurement unit 10 (specifically, the sensing data corrected by the bias removing unit 210) as the user's walking cycle (walking timing) (2 steps). A process of detecting a cycle of one step on each side). FIG. 9 is a diagram illustrating an example of the combined acceleration of the three-axis accelerations detected by the inertial measurement unit 10 when the user walks. In FIG. 9, the horizontal axis represents time, and the vertical axis represents the value of the resultant acceleration. As shown in FIG. 9, the combined acceleration changes periodically, and the intermediate timing at which the combined acceleration becomes the minimum value to the maximum value coincides with the timing at which the azimuth angle becomes the maximum or minimum in FIG. Therefore, for example, when the difference (amplitude) between the maximum value and the minimum value of the combined acceleration is greater than or equal to the threshold value, the walking detection unit 240 walks every other intermediate timing when the combined acceleration becomes the minimum value. The period can be detected. For example, the gait detection unit 240 stores an intermediate value when the composite acceleration has recently changed from a minimum value to a maximum value (or from a maximum value to a minimum value), and when the intermediate acceleration exceeds the intermediate value (FIG. 9). You may detect a walk cycle every other time in (circle).

直進判定部250は、ユーザーが直進中か否かを判定する処理を行う。例えば、直進判定部250は、バイアス除去部210が補正した加速度の向きの変化が一定範囲内であるか否かにより直進判定を行ってもよいし、積分処理部220が算出した速度の向きの変化や姿勢角の変化に基づき直進判定を行ってもよい。   The straight traveling determination unit 250 performs a process of determining whether or not the user is traveling straight ahead. For example, the straight traveling determination unit 250 may perform the straight traveling determination based on whether or not the change in the acceleration direction corrected by the bias removal unit 210 is within a certain range, or the speed direction calculated by the integration processing unit 220. The straight traveling determination may be performed based on the change or the change in the posture angle.

座標変換行列算出部260は、ユーザーの歩行周期における所定のタイミングで、bフレーム(第1座標系の一例)とmフレーム(第2座標系の一例)との間の座標変換行列C を算出し、算出した座標変換行列C を図2の座標変換行列340として記憶部30に記憶する処理を行う。ここで、所定のタイミングは、慣性計測ユニット10の検出結果が所定の条件を満たしたタイミングであり、具体的には、歩行検出部240が歩行周期を検出したタイミングである。本実施形態では、座標変換行列算出部260は、慣性計測ユニット10の検出結果(具体的には、バイアス除去部210が補正した加速度)から重力加速度を除去して積分し、bフレームでのユーザーの進行方向の速度Vb=(Vbx,Vby,Vbz)を算出する。そして、座標変換行列算出部260は、算出した速度Vbに基づいて、以下のように座標変換行列C を算出する。 Coordinate transformation matrix calculation unit 260 at a predetermined timing in the gait cycle of the user, b frame coordinate transformation matrix C m b between the m frame (an example of the first coordinate system) (an example of the second coordinate system) calculated performs processing for storing in the storage unit 30 the calculated coordinate conversion matrix C m b were as coordinate transformation matrix 340 of FIG. Here, the predetermined timing is a timing at which the detection result of the inertial measurement unit 10 satisfies a predetermined condition, and specifically, a timing at which the walking detection unit 240 detects the walking cycle. In the present embodiment, the coordinate transformation matrix calculation unit 260 removes and integrates the gravitational acceleration from the detection result of the inertial measurement unit 10 (specifically, the acceleration corrected by the bias removal unit 210), and integrates the user in the b frame. Vb = (Vbx, Vby, Vbz) in the traveling direction is calculated. The coordinate transformation matrix calculation unit 260, based on the calculated velocity Vb, and calculates the coordinate transformation matrix C m b as follows.

bフレームでの速度Vb=(Vbx,Vby,Vbz)とmフレームでの速度Vm=(Vmx,Vmy,Vmz)との関係は、座標変換行列C を用いて式(6)のように表される。なお、直進歩行であるので、式(6)では、Vmy=Vmz=0としている。 b frames at the rate Vb = (Vbx, Vby, Vbz ) speed Vm at m frames and = (Vmx, Vmy, Vmz) relationship with, as the equation (6) using the coordinate transformation matrix C m b expressed. Since this is a straight line, Vmy = Vmz = 0 in equation (6).

Figure 2015190850
Figure 2015190850

式(6)より、慣性計測ユニット10のmフレームに対するロール角φbm、ピッチ角θbm、ヨー角ψbmは、式(7)で表される。なお、本実施形態では、ロール角φbmを計算することはできず、また、ユーザーの歩行時にはヨー角ψbmの変化に対してロール角φbmの変化は十分小さいので、式(7)ではφbm=0に近似している。 From the equation (6), the roll angle φ bm , the pitch angle θ bm , and the yaw angle ψ bm for the m frame of the inertial measurement unit 10 are expressed by the equation (7). In this embodiment, the roll angle φ bm cannot be calculated, and the change in the roll angle φ bm is sufficiently small with respect to the change in the yaw angle ψ bm when the user walks. It approximates to φ bm = 0.

Figure 2015190850
Figure 2015190850

式(7)のロール角φbm、ピッチ角θbm、ヨー角ψbmを用いて、式(8)により座標変換行列C を計算することができる。式(8)において、R(−ψbm)は、z軸まわりに−ψbm回転する回転行列である。また、R(−θbm)は、y軸まわりに−θbm回転する回転行列である。また、R(−φbm)は、x軸まわりに−φbm回転する回転行列である。 Roll angle phi bm of formula (7), the pitch angle theta bm, using yaw angle [psi bm, can be calculated coordinate transformation matrix C m b by equation (8). In Expression (8), R z (−ψ bm ) is a rotation matrix that rotates about −z bm around the z axis. R y (−θ bm ) is a rotation matrix that rotates about −y bm around the y axis. R x (−φ bm ) is a rotation matrix that rotates about −x bm around the x axis.

Figure 2015190850
Figure 2015190850

本実施形態では、座標変換行列算出部260は、ユーザーが歩行を開始してから所定の期間における慣性計測ユニット10の検出結果を用いて座標変換行列C を算出する。ここで、所定の期間は、例えば、ユーザーが数歩進む期間であり、座標変換行列算出部260は、ユーザーが歩行開始後の数歩において、歩行検出部240が歩行周期を検出したいずれかのタイミングで速度Vbを計算して座標変換行列C を算出し、記憶部30に記憶する。このようにすれば、加速度の積分の繰り返しにより速度Vbの精度が低下する
ことを抑制することができ、座標変換行列C の信頼性を高めることができる。
In the present embodiment, the coordinate transformation matrix calculation unit 260, the user calculates the coordinate transformation matrix C m b using the detection result of the inertial measurement unit 10 in a predetermined time period from the start of walking. Here, the predetermined period is, for example, a period in which the user advances several steps, and the coordinate transformation matrix calculation unit 260 is one of the steps in which the walking detection unit 240 detects the walking cycle in several steps after the user starts walking. calculate the velocity Vb calculated coordinate transformation matrix C m b at the timing, the storage unit 30. Thus, it is possible to by repeated integration of the acceleration is the accuracy of the speed Vb to suppress the decrease, it is possible to enhance the reliability of the coordinate transformation matrix C m b.

方位角変換部270は、GPSデータ(GPSユニット50の検出結果)が得られた(更新された)場合、記憶部30に座標変換行列340として記憶されている座標変換行列C を用いて、GPSデータに基づくユーザーの方位角(GPSデータから算出される方位角)を変換し、リファレンスの方位角を生成する。具体的には、方位角変換部270は、まず、GPSデータを用いて、ユーザーの進行方向の方位角を算出する。方位角変換部270は、例えば、GPSデータに含まれる速度の向きから進行方向の方位角を算出してもよいし、2つのGPSデータに含まれる2つの位置から進行方向の方位角を算出してもよいし、GPSデータに方位角の情報が含まれている場合には当該方位角を進行方向の方位角としてもよい。 Azimuth angle conversion unit 270, GPS data (detection result of the GPS unit 50) was obtained (updated) When using the coordinate transformation matrix C m b in the storage unit 30 is stored as the coordinate transformation matrix 340 The azimuth angle of the user based on the GPS data (azimuth angle calculated from the GPS data) is converted to generate a reference azimuth angle. Specifically, the azimuth angle conversion unit 270 first calculates the azimuth angle in the traveling direction of the user using GPS data. For example, the azimuth angle conversion unit 270 may calculate the azimuth angle in the traveling direction from the direction of the speed included in the GPS data, or calculate the azimuth angle in the traveling direction from the two positions included in the two GPS data. Alternatively, when the GPS data includes azimuth information, the azimuth may be used as the azimuth of the traveling direction.

GPSデータから算出した方位角をgpsYaw(ψnm)とすると、方位角変換部270は、次に、式(9)により、nフレームからmフレームへの座標変換行列C を算出する。 Assuming that the azimuth angle calculated from the GPS data is gpsYaw (ψ nm ), the azimuth angle conversion unit 270 then calculates a coordinate conversion matrix C n m from the n frame to the m frame by Expression (9).

Figure 2015190850
Figure 2015190850

方位角変換部270は、次に、記憶部30に記憶されている座標変換行列C と式(9)により算出した座標変換行列C から、式(10)により、nフレームからbフレームへの座標変換行列C を算出する。 Next, the azimuth angle conversion unit 270 uses the coordinate conversion matrix C m b stored in the storage unit 30 and the coordinate conversion matrix C n m calculated by the equation (9) to calculate the b frame from the n frame according to the equation (10). calculating the coordinate transformation matrix C n b of the frame.

Figure 2015190850
Figure 2015190850

そして、方位角変換部270は、式(10)により算出した座標変換行列C の転置行列C から、式(11)により、リファレンスの方位角gpsYaw(ψnb)を算出する。 Then, the azimuth angle conversion unit 270, the transposed matrix C b n coordinate transformation matrix C n b calculated by the equation (10), the equation (11), and calculates the reference azimuth gpsYaw (ψ nb).

Figure 2015190850
Figure 2015190850

そして、誤差推定部230は、GPSデータが得られたタイミング(方位角変換部270がリファレンスの方位角を算出したタイミング)以降の、歩行検出部240が歩行周期を検出したタイミング(具体的には、次に歩行周期を検出したタイミング)で、拡張カルマンフィルターを用いて状態ベクトルXを推定する。ただし、誤差推定部230は、GPSデータが得られたタイミングから歩行検出部240が次に歩行周期を検出したタイミングまでの間に、直進判定部250が、ユーザーが直進していないと判定した場合には、当
該歩行周期を検出したタイミングでは拡張カルマンフィルターを用いた状態ベクトルXの推定を行わない。なお、この場合、リファレンスの方位角を算出しても無駄になるので、方位角変換部270は、GPSデータが得られたタイミングから歩行検出部240が次に歩行周期を検出したタイミングまでの間に、直進判定部250が、ユーザーが直進中と判定した場合に限り、リファレンスの方位角を算出する処理を行うようにしてもよい。
The error estimation unit 230 then detects the timing (specifically, the timing when the walking detection unit 240 detects the walking cycle after the timing when the GPS data is obtained (the timing when the azimuth angle conversion unit 270 calculates the reference azimuth angle). Next, the state vector X is estimated using the extended Kalman filter at the timing when the walking cycle is detected next. However, when the error estimation unit 230 determines that the straight traveling determination unit 250 does not travel straight from the timing when the GPS data is obtained to the timing when the walking detection unit 240 detects the next walking cycle, The state vector X is not estimated using the extended Kalman filter at the timing when the walking cycle is detected. In this case, even if the reference azimuth is calculated, it is useless, so the azimuth conversion unit 270 is from the timing when the GPS data is obtained until the timing when the walking detection unit 240 detects the next walking cycle. In addition, only when the straight traveling determination unit 250 determines that the user is traveling straight, the reference azimuth may be calculated.

誤差推定部230は、例えば、以下のように、観測ベクトルZと観測行列Hを算出する。誤差推定部230は、まず、式(12)により、積分処理部220が算出したbフレームからeフレームへの座標変換行列(回転行列)C から、bフレームからnフレームへの座標変換行列C (回転行列)を計算する。式(12)において、Ce はeフレームからnフレームへの座標変換行列であるから既知である。また、Eはeフレームの姿勢誤差の交代行列であり、式(13)のように表される。 For example, the error estimating unit 230 calculates the observation vector Z and the observation matrix H as follows. First, the error estimation unit 230 calculates a coordinate transformation matrix from the b frame to the n frame from the coordinate transformation matrix (rotation matrix) C b e from the b frame to the e frame calculated by the integration processing unit 220 using Equation (12). Calculate C b n (rotation matrix). In the formula (12), C e n is known because it is the coordinate transformation matrix to the n-frame from the e frame. E e is an alternating matrix of attitude errors of the e frame, and is expressed as in Expression (13).

Figure 2015190850
Figure 2015190850

Figure 2015190850
Figure 2015190850

誤差推定部230は、次に、式(12)により計算した座標変換行列(回転行列)C から、式(14)により、慣性計測ユニット10のnフレームの方位角insYaw(ψnb)を計算する。 Next, the error estimation unit 230 calculates the azimuth angle insYaw (ψ nb ) of the n frames of the inertial measurement unit 10 from the coordinate transformation matrix (rotation matrix) C b n calculated by the equation (12) according to the equation (14). calculate.

Figure 2015190850
Figure 2015190850

式(14)を展開して、C (2,1)とC (1,1)をミスアライメントエラー(ε,ε,ε)で表すと、insYaw(ψnb)は、式(15)のように表される。式(15)のn,n,n,d,d,dは式(16)で計算される。 Expanding equation (14) and expressing C b n (2,1) and C b n (1,1) as misalignment errors (ε x , ε y , ε z ), insYaw (ψ nb ) is , Expressed as equation (15). N 1, n 2, n 3 , d 1, d 2, d 3 of the formula (15) is calculated by the equation (16).

Figure 2015190850
Figure 2015190850

Figure 2015190850
Figure 2015190850

そして、誤差推定部230は、insYaw(ψnb)とリファレンスの方位角gpsYaw(ψnb)から、式(17)により、観測ベクトルZ及び観測行列Hを計算する。式(17)において、O1,3は1行3列の零行列であり、O1,9は1行9列の零行列である。式(17)の各偏微分は式(18)のように計算される。 Then, the error estimation unit 230 calculates the observation vector Z and the observation matrix H from the insYaw (ψ nb ) and the reference azimuth angle gpsYaw (ψ nb ) according to the equation (17). In Equation (17), O 1,3 is a zero matrix with 1 row and 3 columns, and O 1,9 is a zero matrix with 1 row and 9 columns. Each partial derivative of equation (17) is calculated as in equation (18).

Figure 2015190850
Figure 2015190850

Figure 2015190850
Figure 2015190850

座標変換部280は、積分処理部220が算出したbフレームからmフレームへの座標変換情報(座標変換行列C )を用いて、バイアス除去部210が補正したbフレームの加速度及び角速度をそれぞれmフレームの加速度及び角速度に変換する座標変換処理を行う。また、座標変換部280は、積分処理部220が算出したeフレームからmフレームへの座標変換情報(座標変換行列C )を用いて、積分処理部220が算出したeフレームの速度、位置及び姿勢角をそれぞれmフレームの速度、位置及び姿勢角に変換する座標変換処理を行う。 The coordinate conversion unit 280 uses the b-frame to m-frame coordinate conversion information (coordinate conversion matrix C b m ) calculated by the integration processing unit 220 to calculate the b-frame acceleration and angular velocity corrected by the bias removal unit 210, respectively. A coordinate conversion process is performed to convert the acceleration and angular velocity of m frames. Also, the coordinate conversion unit 280 uses the coordinate conversion information (coordinate conversion matrix C e m ) from the e frame to the m frame calculated by the integration processing unit 220, and the speed and position of the e frame calculated by the integration processing unit 220. And a coordinate conversion process for converting the posture angle into the velocity, position, and posture angle of m frames, respectively.

運動解析部290は、座標変換部280が座標変換した後のmフレームの加速度、角速
度、速度、位置及び姿勢角を用いて各種の演算を行ってユーザーの運動を解析し、運動解析情報350を生成する処理を行う。本実施形態では、運動解析部290は、ユーザーの歩行における、移動経路、移動速度、移動時間等の移動に関する情報、前傾の度合い、左右の動きの差、推進効率、エネルギー消費量、エネルギー効率等の歩行運動の評価指標に関する情報、より良い歩行のためのアドバイスや指導の情報、姿勢が悪いことを示す警告情報(表示装置3に警告表示や警告音等を出力させるための情報)等を含む運動解析情報350を生成する。
The motion analysis unit 290 performs various calculations using the m-frame acceleration, angular velocity, speed, position, and posture angle after the coordinate conversion unit 280 performs coordinate conversion, analyzes the user's motion, and stores the motion analysis information 350. Generate the process. In the present embodiment, the motion analysis unit 290 includes information related to movement such as a movement path, movement speed, and movement time in a user's walk, a degree of forward tilt, a difference between left and right movements, propulsion efficiency, energy consumption, and energy efficiency. Information on evaluation index of walking movement such as, information on advice and guidance for better walking, warning information indicating that posture is bad (information for causing display device 3 to output warning display, warning sound, etc.), etc. The motion analysis information 350 including is generated.

処理部20は、この運動解析情報350を表示装置3に送信し、運動解析情報350は、表示装置3の表示部170にテキスト、画像、図形等で表示され、あるいは、音出力部180から音声やブザー音等で出力される。基本的には、運動解析情報350を表示部170に表示させることで、ユーザーは運動解析情報を知りたい時に表示部170を見て確認することができ、ユーザーに注意を喚起したい情報(警告情報等)を少なくとも音として出力させることで、ユーザーは常に表示部170を見ながら歩行する必要もなくなる。   The processing unit 20 transmits the motion analysis information 350 to the display device 3, and the motion analysis information 350 is displayed on the display unit 170 of the display device 3 as text, an image, a figure, or the like, or from the sound output unit 180. Or buzzer sound. Basically, by displaying the motion analysis information 350 on the display unit 170, the user can check the display unit 170 when he / she wants to know the motion analysis information, and information (warning information) that the user wants to call attention. Etc.) at least as a sound, the user need not always walk while watching the display unit 170.

1−4.処理の手順
図10は、処理部20による運動解析処理の手順の一例(運動解析方法の一例)を示すフローチャート図である。処理部20は、記憶部30に記憶されている運動解析プログラム300を実行することにより、図10のフローチャートの手順で運動解析処理を実行する。
1-4. Processing Procedure FIG. 10 is a flowchart showing an example of a procedure of motion analysis processing by the processing unit 20 (an example of a motion analysis method). The processing unit 20 executes the motion analysis program 300 by executing the motion analysis program 300 stored in the storage unit 30, thereby executing the motion analysis process according to the procedure of the flowchart of FIG. 10.

図10に示すように、処理部20は、計測スタートのコマンドを受信した場合(S1のY)、まず、ユーザーが静止しているものとして、慣性計測ユニット10が計測したセンシングデータ、及び、GPSデータを用いて、初期姿勢、初期位置、初期バイアスを計算する(S2)。   As shown in FIG. 10, when the processing unit 20 receives a measurement start command (Y in S1), first, the sensing data measured by the inertial measurement unit 10 and GPS Using the data, the initial posture, initial position, and initial bias are calculated (S2).

次に、処理部20は、慣性計測ユニット10からセンシングデータを取得し、取得したセンシングデータをセンシングデータテーブル310に付加する(S3)。   Next, the processing unit 20 acquires sensing data from the inertial measurement unit 10, and adds the acquired sensing data to the sensing data table 310 (S3).

次に、処理部20は、初期バイアスを用いて(S17で加速度バイアスb及び角速度バイアスbωを推定した後は、加速度バイアスb及び角速度バイアスbωを用いて)、S3で取得したセンシングデータに含まれる加速度と角速度からバイアスを除去して補正し、補正した加速度と角速度によりセンシングデータテーブル310を更新する(S4)。 Next, the sensing processing section 20, (after estimating the acceleration bias b a and angular velocity bias b omega at S17, by using the acceleration bias b a and angular velocity bias b omega) by using the initial bias was acquired in S3 The correction is performed by removing the bias from the acceleration and angular velocity included in the data, and the sensing data table 310 is updated with the corrected acceleration and angular velocity (S4).

次に、処理部20は、S4で補正したセンシングデータを積分して速度、位置及び姿勢角を計算し、計算した速度、位置及び姿勢角を含む算出データを算出データテーブル330に付加する(S5)。   Next, the processing unit 20 integrates the sensing data corrected in S4 to calculate the speed, position, and attitude angle, and adds calculation data including the calculated speed, position, and attitude angle to the calculation data table 330 (S5). ).

次に、処理部20は、GPSデータが更新された場合(S6のY)、GPSデータから進行方向の方位角gpsYaw(ψnm)を算出し(S7)、補正有効フラグをオンする(S8)。一方、GPSデータが更新されなかった場合は(S6のN)、処理部20は、S7の処理及びS8の処理を行わない。 Next, when the GPS data is updated (Y in S6), the processing unit 20 calculates the azimuth angle gpsYaw (ψ nm ) in the traveling direction from the GPS data (S7), and turns on the correction valid flag (S8). . On the other hand, when the GPS data is not updated (N in S6), the processing unit 20 does not perform the process of S7 and the process of S8.

次に、処理部20は、歩行検出を行い(S9)、歩行周期を検出した場合(S10のY)、座標変換行列C を作成済み(算出済み)であれば(S11のY)、直進判定を行う(S12)。 Then, the processing unit 20 performs walking detecting (S9), when detecting a walking period (S10 of Y), if the coordinate transformation matrix C m b prefabricated (already calculated) (S11 of Y), A straight traveling determination is performed (S12).

処理部20は、直進中でないと判定した場合は(S13のN)、補正有効フラグをオフ(S14)。   If the processing unit 20 determines that the vehicle is not traveling straight (N of S13), the correction valid flag is turned off (S14).

次に、処理部20は、補正有効フラグがオンであれば(S15のY)、座標変換行列C を用いてリファレンスの方位角gpsYaw(ψnb)を算出する(S16)。 Then, the processing unit 20, the correction effective flag is turned on (S15 of Y), using the coordinate transformation matrix C m b calculates the reference azimuth gpsYaw (ψ nb) (S16) .

次に、処理部20は、S16で算出したリファレンスの方位角gpsYaw(ψnb)を用いて誤差推定処理を行い(S17)、速度誤差δv、姿勢角誤差ε、加速度バイアスb、角速度バイアスbω及び位置誤差δpを推定する。 Next, the processing unit 20 performs an error estimation process using the reference azimuth angle gpsYaw (ψ nb ) calculated in S16 (S17), the velocity error δv e , the attitude angle error ε e , the acceleration bias b a , and the angular velocity. estimating the bias b omega and position error .delta.p e.

次に、処理部20は、S17で推定した速度誤差δv、姿勢角誤差ε及び位置誤差δpを用いて、速度、位置及び姿勢角をそれぞれ補正し、補正した速度、位置及び姿勢角により算出データテーブル330を更新する(S18)。 Then, the processing unit 20, the speed error .delta.v e estimated in S17, using the attitude angle error epsilon e and position error .delta.p e, speed, and corrects position and orientation angle of each corrected speed, position and attitude angle Thus, the calculation data table 330 is updated (S18).

また、処理部20は、歩行周期を検出しなかった場合は(S10のN)、S11〜S18の処理を行わない。   Moreover, the process part 20 does not perform the process of S11-S18, when a walk period is not detected (N of S10).

次に、処理部20は、センシングデータテーブル310に記憶されているセンシングデータ(bフレームの加速度及び角速度)及び算出データテーブル330に記憶されている算出データ(eフレームの速度、位置及び姿勢角)を、mフレームの加速度、角速度、速度、位置及び姿勢角に座標変換する(S20)。処理部20は、このmフレームの加速度、角速度、速度、位置及び姿勢角を時系列に記憶部30に記憶する。   Next, the processing unit 20 detects the sensing data (b frame acceleration and angular velocity) stored in the sensing data table 310 and the calculated data (e frame velocity, position, and attitude angle) stored in the calculation data table 330. Is converted to m frame acceleration, angular velocity, velocity, position and posture angle (S20). The processing unit 20 stores the acceleration, angular velocity, speed, position, and posture angle of the m frame in the storage unit 30 in time series.

なお、S15において補正有効フラグがオンでない場合(S15のN)、処理部20は、S16〜S18の処理を行わずにS20の処理を行う。また、S11において、座標変換行列C を作成済み(算出済み)でない場合(S11のN)、処理部20は、座標変換行列C を作成(算出)し(S19)、S20の処理を行う。 If the correction valid flag is not on in S15 (N in S15), the processing unit 20 performs the process of S20 without performing the processes of S16 to S18. Further, in S11, if it is not already created a coordinate transformation matrix C m b (already calculated) (S11 of N), the processing unit 20, creating a coordinate transformation matrix C m b (calculated) and (S19), the processing step S20 I do.

次に、処理部20は、S20で座標変換した後のmフレームの加速度、角速度、速度、位置及び姿勢角を用いて、ユーザーの運動をリアルタイムに解析し、運動解析情報を生成する(S21)。   Next, the processing unit 20 analyzes the user's motion in real time using the acceleration, angular velocity, velocity, position, and posture angle of the m frame after the coordinate conversion in S20, and generates motion analysis information (S21). .

次に、処理部20は、S21で生成した運動解析情報を表示装置3に送信する(S22)。表示装置3に送信された運動解析情報は、ユーザーの歩行中にリアルタイムにフィードバックされる。なお、本明細書において「リアルタイム」とは、処理対象の情報が取得されたタイミングで処理を開始することを意味する。したがって、情報の取得から処理完了までにある程度の時間差がある場合も含む。   Next, the processing unit 20 transmits the motion analysis information generated in S21 to the display device 3 (S22). The motion analysis information transmitted to the display device 3 is fed back in real time while the user is walking. In this specification, “real time” means that processing is started at the timing when information to be processed is acquired. Therefore, it includes the case where there is a certain time difference between the acquisition of information and the completion of processing.

そして、処理部20は、計測ストップのコマンドを受信するまで(S23のNかつS24のN)、前回センシングデータを取得してからサンプリング周期Δtが経過する毎に(S23のY)、S3以降の処理を繰り返す。計測ストップのコマンドを受信すると(S24のY)、S20で座標変換して時系列に記憶したmフレームの加速度、角速度、速度、位置及び姿勢角やS21の解析結果を用いて、ユーザーが行った運動を解析し、運動解析情報を生成する(S25)。S25において、処理部20は、計測ストップのコマンドを受信すると、直ちに運動解析処理を行ってもよいし、ユーザーの操作による運動解析コマンドを受信した場合に運動解析処理を行ってもよい。また、処理部20は、S25で生成した運動解析情報を表示装置3に送信してもよいし、パーソナルコンピューターやスマートフォン等の機器に送信してもよいし、メモリーカードに記録してもよい。   The processing unit 20 then receives a measurement stop command (N in S23 and N in S24) every time the sampling period Δt elapses after acquiring the previous sensing data (Y in S23), and after S3. Repeat the process. When a measurement stop command is received (Y in S24), the user performed using the m-frame acceleration, angular velocity, velocity, position, posture angle, and the analysis result of S21 that were coordinate-converted in S20 and stored in time series. The motion is analyzed, and motion analysis information is generated (S25). In S25, when the processing unit 20 receives the measurement stop command, the processing unit 20 may perform the motion analysis processing immediately, or may perform the motion analysis processing when the motion analysis command by the user's operation is received. Further, the processing unit 20 may transmit the motion analysis information generated in S25 to the display device 3, may transmit it to a device such as a personal computer or a smartphone, or may record it on a memory card.

なお、図10では、処理部20は、計測スタートのコマンドを受信しなければ(S1のN)、S1〜S25の処理を行わないが、過去に記憶させたmフレームの加速度、角速度、速度、位置及び姿勢角やS21の解析結果を用いてS25の処理を行ってもよい。   In FIG. 10, if the processing unit 20 does not receive a measurement start command (N of S1), the processing of S1 to S25 is not performed, but m frames of acceleration, angular velocity, speed, The process of S25 may be performed using the position and orientation angle and the analysis result of S21.

図11は、ユーザーが直進歩行する場合の慣性計測ユニット10の方位角と処理部20による処理のタイミングとの関係の一例を示す図であり、横軸は時間、縦軸は方位角である。図11では、歩行周期が検出された時の慣性計測ユニット10の方位角insYaw(ψnb)を○で表記し、GPSデータから算出される進行方向の方位角gpsYaw(ψnm)を□で表記している。 FIG. 11 is a diagram showing an example of the relationship between the azimuth angle of the inertial measurement unit 10 and the timing of processing by the processing unit 20 when the user goes straight ahead, with the horizontal axis representing time and the vertical axis representing azimuth. In FIG. 11, the azimuth angle insYaw (ψ nb ) of the inertial measurement unit 10 when the walking cycle is detected is denoted by ○, and the azimuth angle gpsYaw (ψ nm ) in the traveling direction calculated from the GPS data is denoted by □. doing.

図11において、ユーザーが歩行を開始した後、歩行検出部240が最初に歩行周期を検出したタイミング(歩行検出1)で、座標変換行列算出部260が座標変換行列C を作成(算出)する。図11では、座標変換行列C が算出された時の慣性計測ユニット10の方位角insYaw(ψnb)を+で表記している。歩行検出部240が次に歩行周期を検出したタイミング(歩行検出2)では、歩行検出1から歩行検出2までの間にGPSデータが更新されていないため、誤差推定部230は状態ベクトルXの推定処理を行わない(すなわち、速度、位置、姿勢角、加速度バイアス及び角速度バイアスの補正がされない)。歩行検出部240が次に歩行周期を検出したタイミング(歩行検出3)では、歩行検出2から歩行検出3までの間にGPSデータが更新され、かつ、GPSデータの更新タイミング(GPSデータ更新1)から歩行検出3までに進行方向が変わらないため、誤差推定部230は状態ベクトルXの推定処理を行う。 11, after the user starts walking, at the timing when the walking detection unit 240 detects the first walking period (walking detection 1), the coordinate transformation matrix calculation unit 260 creates a coordinate transformation matrix C m b (calculated) To do. In Figure 11, it is denoted azimuth insYaw the inertial measurement unit 10 when the coordinate transformation matrix C m b is calculated ([psi nb) at +. At the timing when the gait detection unit 240 next detects the gait cycle (gait detection 2), since the GPS data is not updated between the gait detection 1 and the gait detection 2, the error estimation unit 230 estimates the state vector X. No processing is performed (ie, speed, position, posture angle, acceleration bias and angular velocity bias are not corrected). At the timing when the walking detection unit 240 next detects the walking cycle (walking detection 3), the GPS data is updated between the walking detection 2 and the walking detection 3, and the update timing of the GPS data (GPS data update 1) Since the traveling direction does not change from walking to walking detection 3, the error estimation unit 230 performs the state vector X estimation process.

同様に、歩行検出部240が次に歩行周期を検出したタイミング(歩行検出4)でも、歩行検出3から歩行検出4までの間にGPSデータが更新され、かつ、GPSデータの更新タイミング(GPSデータ更新2)から歩行検出4までに進行方向が変わらないため、誤差推定部230は状態ベクトルXの推定処理を行う。この歩行検出3及び歩行検出4での慣性計測ユニット10の方位角insYaw(ψnb)と、GPSデータ更新1(あるいはGPSデータ更新2)での進行方向の方位角gpsYaw(ψnm)との差は、ともに座標変換行列C を算出した歩行検出1でのこれらの方位角の差とほぼ一致するから、座標変換行列C の再計算は必要ない。 Similarly, at the timing when the walking detection unit 240 detects the next walking cycle (walking detection 4), the GPS data is updated between the walking detection 3 and the walking detection 4, and the update timing of the GPS data (GPS data) Since the traveling direction does not change from the update 2) to the walking detection 4, the error estimation unit 230 performs the state vector X estimation process. Difference between the azimuth angle insYaw (ψ nb ) of the inertial measurement unit 10 in the walking detection 3 and the walking detection 4 and the azimuth angle gpsYaw (ψ nm ) in the traveling direction in the GPS data update 1 (or GPS data update 2) They are both from substantially coincides with the difference between the azimuth angle of the walking detection 1 calculated coordinate transformation matrix C m b, no recalculation of the coordinate transformation matrix C m b is required.

なお、仮に、GPSデータ更新1から歩行検出3までの間(あるいは、GPSデータ更新2から歩行検出4までの間)にユーザーが進行方向を変えたとすると、歩行検出3(あるいは歩行検出4)での慣性計測ユニット10の方位角insYaw(ψnb)とGPSデータ更新1(あるいはGPSデータ更新2)での進行方向の方位角gpsYaw(ψnm)との差が、座標変換行列C を算出した歩行検出1でのこれらの方位角の差と一致しなくなる。そのため、このような場合は、誤差推定部230は歩行検出3(あるいは歩行検出4)では状態ベクトルXの推定処理を行わない。しかしながら、慣性計測ユニット10の方位角は、進行方向を中心にほぼ左右対称に振れるので、ユーザーが進行方向を変えた場合でも、進行方向を変える前後で、慣性計測ユニット10の方位角と進行方向の方位角との差は変わらない。従って、ユーザーが進行方向を変えた後、再び直進すれば、直進開始後に最初にGPSデータが更新されてから次に歩行周期を検出したタイミグでは、ユーザーが進行方向を変える前と同様に、座標変換行列C を再計算することなく状態ベクトルXの推定処理を行うことができる。 If the user changes the direction of travel between GPS data update 1 and walk detection 3 (or between GPS data update 2 and walk detection 4), walk detection 3 (or walk detection 4) of the difference between the azimuth insYaw (ψ nb) and GPS data update 1 (or GPS data update 2) traveling direction of the azimuth angle gpsYaw (ψ nm) in the inertial measurement unit 10, calculates a coordinate transformation matrix C m b The difference between these azimuths in the detected walking detection 1 does not coincide. Therefore, in such a case, the error estimation unit 230 does not perform the state vector X estimation process in the walking detection 3 (or the walking detection 4). However, since the azimuth angle of the inertial measurement unit 10 can swing substantially symmetrically about the traveling direction, even if the user changes the traveling direction, the azimuth angle and the traveling direction of the inertial measurement unit 10 before and after changing the traveling direction. The difference from the azimuth angle is not changed. Therefore, if the user changes the traveling direction and then goes straight again, the timing when the GPS cycle is first updated after the start of the straight traveling and the next walking cycle is detected is the same as before the user changes the traveling direction. it is possible to perform the estimation process of the state vector X without recalculating the transformation matrix C m b.

1−5.効果
以上に説明したように、本実施形態では、ユーザーの歩行周期を検出するタイミングでは、慣性計測ユニット10の方位角とユーザーの進行方向の方位角との差がほぼ一定であることを利用し、歩行周期の検出タイミングで座標変換行列C を算出し、その後、GPSデータが得られた次の歩行周期の検出タイミングで、座標変換行列C を用いて慣性計測ユニット10の検出結果に基づく方位角とGPSユニット50の検出結果に基づく方位角との差をゼロに近づけてユーザーの状態を表す指標の誤差を推定する。従って、本実施形態によれば、GPSユニット50の検出結果が得られるタイミングが不定であって
も、誤差を精度よく推定できるとともに、GPSユニット50の検出結果が得られる毎に座標変換行列C を算出する必要もないので、処理負荷を低減させることができる。
1-5. Effect As described above, the present embodiment utilizes the fact that the difference between the azimuth angle of the inertial measurement unit 10 and the azimuth angle of the user's traveling direction is substantially constant at the timing of detecting the user's walking cycle. calculates a coordinate transformation matrix C m b at the detection timing of the walking cycle, then at the detection timing of the next walking cycle obtained is GPS data, the detection result of the inertial measurement unit 10 using the coordinate transformation matrix C m b The difference between the azimuth angle based on the azimuth angle and the azimuth angle based on the detection result of the GPS unit 50 is brought close to zero to estimate the error of the index representing the user state. Therefore, according to the present embodiment, even when the timing at which the detection result of the GPS unit 50 is obtained is indefinite, the error can be accurately estimated, and the coordinate transformation matrix C m is obtained every time the detection result of the GPS unit 50 is obtained. Since it is not necessary to calculate b , the processing load can be reduced.

また、本実施形態によれば、ユーザーが歩行を開始してから所定の期間(例えば、数歩の期間)における慣性計測ユニット10の検出結果を用いて座標変換行列C を算出するので、積分誤差等により生じる座標変換行列の誤差を低減させ、誤差の推定精度を向上させることができる。 Further, according to this embodiment, the predetermined period after the user has started walking (e.g., a period of a few steps) so to calculate a coordinate transformation matrix C m b using the detection result of the inertial measurement unit 10 in, It is possible to reduce the error of the coordinate transformation matrix caused by the integration error and improve the error estimation accuracy.

また、本実施形態によれば、GPSユニット50の検出結果が得られてから次の歩行周期の検出タイミングまでにユーザーが進行方向を変えると、当該歩行周期の検出タイミングでは、慣性計測ユニット10の検出結果に基づく方位角とGPSユニット50の検出結果に基づく方位角との差が、座標変換行列C の算出時とは異なってしまうことを考慮し、このような場合には誤差を推定しないので、誤差の推定精度の低下を抑制することができる。 In addition, according to the present embodiment, when the user changes the traveling direction from the detection result of the GPS unit 50 to the detection timing of the next walking cycle, the inertial measurement unit 10 is detected at the detection timing of the walking cycle. the detected results to the azimuth angle based on the azimuth angle based on the detection result of the GPS unit 50, considering that becomes different from that during the calculation of the coordinate transformation matrix C m b, estimate the error in this case Therefore, a decrease in error estimation accuracy can be suppressed.

また、本実施形態によれば、精度よく推定した誤差を用いて、ユーザーの速度、位置、姿勢角等の情報を精度よく補正することができる。さらに、本実施形態によれば、この精度よく補正したユーザーの速度、位置、姿勢等の情報を用いて、ユーザーの歩行運動を精度よく解析することができる。   Further, according to the present embodiment, information such as the user's speed, position, posture angle, and the like can be accurately corrected using the accurately estimated error. Furthermore, according to the present embodiment, it is possible to analyze the user's walking motion with high accuracy using the information such as the user's speed, position, posture, etc. corrected with high accuracy.

2.変形例
本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。以下、変形例について説明する。なお、上記実施形態と同一の構成については同一の符号を付して再度の説明を省略する。
2. The present invention is not limited to this embodiment, and various modifications can be made within the scope of the present invention. Hereinafter, modified examples will be described. In addition, about the structure same as the said embodiment, the same code | symbol is attached | subjected and description for the second time is abbreviate | omitted.

2−1.センサー
上記の実施形態では、加速度センサー12と角速度センサー14が慣性計測ユニット10として一体化された運動解析装置2に内蔵されているが、加速度センサー12と角速度センサー14は一体化されていなくてもよい。あるいは、加速度センサー12と角速度センサー14とが運動解析装置2に内蔵されずに、ユーザーに直接装着されてもよい。いずれの場合でも、2つのセンサーの各軸が平行になるように取り付けることが好ましい。また例えば、いずれか一方のセンサー座標系を上記の実施形態のbフレームとして、他方のセンサー座標系を当該bフレームに変換し、上記の実施形態を適用すればよい。
2-1. Sensor In the above embodiment, the acceleration sensor 12 and the angular velocity sensor 14 are built in the motion analysis apparatus 2 integrated as the inertial measurement unit 10, but the acceleration sensor 12 and the angular velocity sensor 14 are not integrated. Good. Alternatively, the acceleration sensor 12 and the angular velocity sensor 14 may be directly attached to the user without being built in the motion analysis apparatus 2. In any case, it is preferable to mount the two sensors so that their axes are parallel to each other. In addition, for example, any one of the sensor coordinate systems may be used as the b frame of the above embodiment, the other sensor coordinate system may be converted into the b frame, and the above embodiment may be applied.

また、上記の実施形態では、センサー(運動解析装置2(IMU10))のユーザーへの装着部位を腰として説明したが、腰以外の部位に装着することとしてもよい。好適な装着部位はユーザーの体幹(四肢以外の部位)である。しかしながら、体幹に限らず、腕以外の例えばユーザーの頭や足に装着することとしてもよい。   Further, in the above-described embodiment, the site where the sensor (the motion analysis apparatus 2 (IMU 10)) is attached to the user has been described as the waist, but it may be attached to a site other than the waist. A suitable wearing part is a user's trunk (parts other than limbs). However, it is not limited to the trunk, and may be worn on the user's head or feet other than the arms.

2−2.歩行検出
上記の実施形態では、歩行検出部240は、慣性計測ユニット10が検出した3軸加速度の合成加速度を用いて歩行周期を検出しているが、これに限らず、例えば、ユーザーの上下動の加速度(慣性計測ユニット10が検出したz軸(重力方向の軸)加速度)を用いて歩行周期を検出してもよい。この場合、歩行検出部240は、例えば、z軸加速度が閾値以上で極大値となるタイミングで2回に1回、歩行周期を検出してもよいし、z軸加速度が正から負にゼロクロスするタイミング(又は負から正にゼロクロスするタイミング)の2回に1回、歩行周期を検出してもよい。あるいは、歩行検出部240は、上下動の加速度(z軸加速度)を積分して上下動の速度(z軸速度)を算出し、算出した上下動の速度(z軸速度)を用いて歩行周期を検出してもよい。この場合、歩行検出部240は、例えば、当該速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値
の減少によってクロスするタイミングで2回に1回、歩行周期を検出してもよい。
2-2. Walking detection In the above embodiment, the walking detection unit 240 detects the walking cycle using the combined acceleration of the triaxial acceleration detected by the inertial measurement unit 10, but the present invention is not limited to this. The walking cycle may be detected using the acceleration (z-axis (gravity direction axis) acceleration detected by the inertial measurement unit 10). In this case, for example, the walking detection unit 240 may detect the walking cycle once every two times when the z-axis acceleration is equal to or greater than the threshold value and reaches a maximum value, or the z-axis acceleration zero-crosses from positive to negative. The walking cycle may be detected once every two times of timing (or timing of zero crossing from negative to positive). Alternatively, the walking detection unit 240 calculates the vertical movement speed (z-axis speed) by integrating the vertical movement acceleration (z-axis acceleration), and uses the calculated vertical movement speed (z-axis speed). May be detected. In this case, for example, the walking detection unit 240 sets the walking cycle once every two times at a timing when the speed crosses the threshold value near the median value between the maximum value and the minimum value by increasing the value or by decreasing the value. It may be detected.

また、上記の実施形態では、歩行検出部240が2歩(左右1歩ずつ)毎に歩行周期を検出しているが、1歩毎に歩行周期を検出するとともに右足か左足かを示すフラグを出力してもよい。この場合、座標変換行列算出部260は、ユーザーの歩行開始直後の数歩の間に、右足の歩行周期を検出したタイミングで右足用の座標変換行列C を一度だけ算出して保持し、左足の歩行周期を検出したタイミングで左足用の座標変換行列C を一度だけ算出して保持する。そして、方位角変換部270は、歩行周期が検出される毎に、フラグに応じて右足の歩行周期か左足の歩行周期かを判断し、右足の歩行周期であれば右足用の座標変換行列C を用いてリファレンスの方位角を算出し、左足の歩行周期であれば左足用の座標変換行列C を用いてリファレンスの方位角を算出してもよい。 In the embodiment described above, the walking detection unit 240 detects the walking cycle every two steps (one step on the left and right), but detects the walking cycle for each step and sets a flag indicating whether the right foot or the left foot. It may be output. In this case, the coordinate transformation matrix calculation unit 260, during a few steps immediately after the start user's walking, the coordinate transformation matrix C m b for the right foot and held by calculating only once at the timing of detecting a walking cycle of the right foot, the coordinate transformation matrix C m b for the left foot at the timing of detecting a walking cycle of the left foot and holds the calculated only once. Then, every time a walking cycle is detected, the azimuth conversion unit 270 determines whether it is a right foot walking cycle or a left foot walking cycle according to the flag, and if it is a right foot walking cycle, a right foot coordinate conversion matrix C calculating the azimuth of the reference using m b, the coordinate transformation matrix C m b for the left foot, if the walking period of the left foot may calculate the azimuth angle of the reference used.

2−3.リファレンスの方位角
上記の実施形態では、方位角変換部270は、GPSユニット50の検出結果(GPSデータ)を用いてリファレンスの方位角を算出しているが、これに限らず、GPS以外の全地球航法衛星システム(GNSS:Global Navigation Satellite System)の測位用衛星やGNSS以外の測位用衛星からの信号を用いてリファレンスの方位角を算出してもよい。例えば、WAAS(Wide Area Augmentation System)、QZSS(Quasi Zenith Satellite System)、GLONASS(GLObal NAvigation Satellite System)、GALILEO、BeiDou(BeiDou Navigation Satellite System)といった衛星測位システムのうち1つ、あるいは2つ以上を利用してもよい。また、屋内測位システム(IMES:Indoor Messaging System)等を利用してもよい。
2-3. Reference Azimuth In the above-described embodiment, the azimuth conversion unit 270 calculates the reference azimuth using the detection result (GPS data) of the GPS unit 50. The reference azimuth angle may be calculated using signals from positioning satellites of the Global Navigation Satellite System (GNSS) or positioning satellites other than GNSS. For example, one or more satellite positioning systems such as WAAS (Wide Area Augmentation System), QZSS (Quasi Zenith Satellite System), GLONASS (GLObal NAvigation Satellite System), GALILEO, and BeiDou (BeiDou Navigation Satellite System) are used. May be. Further, an indoor positioning system (IMES: Indoor Messaging System) or the like may be used.

また、上記の実施形態では、方位角変換部270は、GPSデータが取得(更新)された場合にリファレンスの方位角を計算しているが、GPSデータが得られた場合に、当該GPSデータの測位精度が基準値以上の場合(DOP値が基準値以下の場合)のみリファレンスの方位角を算出してもよい。   In the above embodiment, the azimuth angle conversion unit 270 calculates the reference azimuth angle when the GPS data is acquired (updated), but when the GPS data is obtained, The reference azimuth angle may be calculated only when the positioning accuracy is equal to or higher than the reference value (when the DOP value is equal to or lower than the reference value).

また、上記の実施形態では、座標変換行列算出部260がmフレームからbフレームへの座標変換行列C を算出し、方位角変換部270が座標変換行列C を用いてリファレンスの方位角gpsYaw(ψnb)を算出しているが、座標変換行列算出部260がbフレームからmフレームへの座標変換行列C (C の転置行列)を算出してもよい。この場合、例えば、誤差推定部230が、座標変換行列C を用いて、慣性計測ユニット10の検出結果に基づくbフレームの方位角insYaw(ψnb)をmフレームの方位角insYaw(ψnm)に変換し(誤差推定部230が方位角変換部としても機能し)、GPSデータから算出した進行方向の方位角gpsYaw(ψnm)をリファレンスの方位角として、insYaw(ψnm)とgpsYaw(ψnm)との差分を観測ベクトルZとすればよい。 Further, in the above embodiment, the coordinate transformation matrix calculation unit 260 calculates a coordinate transformation matrix C m b to b frames from m frames, the azimuth angle conversion unit 270 references using the coordinate transformation matrix C m b azimuth Although the angle gpsYaw (ψ nb ) is calculated, the coordinate conversion matrix calculation unit 260 may calculate the coordinate conversion matrix C b m (transposition matrix of C m b ) from the b frame to the m frame. In this case, for example, the error estimation unit 230 uses the coordinate transformation matrix C b m to change the azimuth angle insYaw (ψ nb ) of the b frame based on the detection result of the inertial measurement unit 10 to the azimuth angle insYaw (ψ nm ) of the m frame. ) (The error estimation unit 230 also functions as an azimuth angle conversion unit), and the azimuth angle gpsYaw (ψ nm ) in the traveling direction calculated from the GPS data is used as a reference azimuth angle, insYaw (ψ nm ) and gpsYaw ( What is necessary is just to make the difference with (ψ nm ) the observation vector Z.

2−4.誤差推定
上記の実施形態では、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定しているが、速度、姿勢角、加速度、角速度及び位置の一部をユーザーの状態を表す指標として、その誤差を推定してもよい。あるいは、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置以外のもの(例えば、移動距離)をユーザーの状態を表す指標として、その誤差を推定してもよい。
2-4. Error Estimation In the above-described embodiment, the error estimation unit 230 uses the velocity, posture angle, acceleration, angular velocity, and position as indices representing the user's state, and estimates an error of these indices using an extended Kalman filter. The error may be estimated using a part of the velocity, posture angle, acceleration, angular velocity, and position as an index representing the user's state. Alternatively, the error estimation unit 230 may estimate the error using an index (eg, movement distance) other than the speed, the posture angle, the acceleration, the angular velocity, and the position as an index representing the user state.

また、上記の実施形態では、誤差推定部230による誤差の推定に拡張カルマンフィルターを用いているが、パーティクルフィルターやH∞(Hインフィニティー)フィルター等の他の推定手段に代えてもよい。   In the above-described embodiment, the extended Kalman filter is used for error estimation by the error estimation unit 230, but other estimation means such as a particle filter or an H∞ (H infinity) filter may be used.

また、上記の実施形態では、誤差推定部230は、GPSデータが取得(更新)された場合に、次の歩行周期が検出されたタイミングで誤差推定処理を行っているが、GPSデータが得られた場合に測位精度が閾値以上の場合のみ、次の歩行周期が検出されたタイミングで誤差推定処理を行ってもよい。   In the above embodiment, when the GPS data is acquired (updated), the error estimation unit 230 performs the error estimation process at the timing when the next walking cycle is detected. However, the GPS data is obtained. In such a case, the error estimation process may be performed at the timing when the next walking cycle is detected only when the positioning accuracy is equal to or higher than the threshold.

また、上記の実施形態では、慣性計測ユニット10の検出結果に基づく方位角insYaw(ψnb)とGPSデータに基づく方位角gpsYaw(ψnb)との差を観測ベクトルZとして拡張カルマンフィルターを用いて誤差推定処理を行っているが、例えば、insYaw(ψnb)に代えて、地磁気センサー(第1センサーの一例)の検出結果に基づく方位角とgpsYaw(ψnb)との差を観測ベクトルZとしてもよい。この場合、地磁気センサーの3軸の座標系をbフレームとして座標変換行列C を算出すればよい。上記の実施形態と同様に、座標変換行列C の算出には加速度センサーを用いてもよく、座標変換行列C を算出した後は、当該加速度センサーを停止させてもよい。このようにすれば、加速度センサーで無駄に消費される電力を削減することができる。 Further, in the above embodiment, using an extended Kalman filter the difference between the azimuth angle insYaw based on the detection result of the inertial measurement unit 10 ([psi nb) and azimuth gpsYaw (ψ nb) based on GPS data as the observation vector Z While performing error estimation process, for example, instead of insYaw (ψ nb), the difference between the geomagnetic sensor (first sensor for example) of the detection result based on azimuth and gpsYaw (ψ nb) as an observation vector Z Also good. In this case, it may be calculated coordinate transformation matrix C m b as b-frame coordinate system of the three-axis geomagnetic sensor. Similar to the above embodiments, it may be an acceleration sensor for calculating the coordinate transformation matrix C m b, after calculating the coordinate transformation matrix C m b, may be the acceleration sensor is stopped. In this way, it is possible to reduce power that is wasted in the acceleration sensor.

2−5.その他
上記の実施形態では、積分処理部220がeフレームの速度、位置及び姿勢角を算出し、座標変換部280がこれをmフレームの速度、位置及び姿勢角に座標変換しているが、積分処理部220がmフレームの速度、位置及び姿勢角を算出してもよい。この場合、運動解析部290は、積分処理部220が算出したmフレームの速度、位置、姿勢角を用いて運動解析処理を行えばよいので、座標変換部280による速度、位置及び姿勢角の座標変換が不要になる。また、誤差推定部230はmフレームの速度、位置、姿勢角を用いて拡張カルマンフィルターによる誤差推定を行ってもよい。
2-5. Others In the above embodiment, the integration processing unit 220 calculates the e-frame speed, position, and orientation angle, and the coordinate conversion unit 280 performs coordinate conversion to the m-frame speed, position, and orientation angle. The processing unit 220 may calculate the speed, position, and posture angle of m frames. In this case, the motion analysis unit 290 may perform the motion analysis process using the m-frame speed, position, and posture angle calculated by the integration processing unit 220. Therefore, the coordinate of the speed, position, and posture angle by the coordinate conversion unit 280 may be used. No conversion is required. Further, the error estimation unit 230 may perform error estimation using an extended Kalman filter using the speed, position, and attitude angle of m frames.

また、上記の実施形態では、処理部20が画像データ、音データ、テキストデータ等の運動解析情報を生成しているが、これに限らず、例えば、処理部20は、推進効率やエネルギー消費量などの計算結果を送信し、当該計算結果を受信した表示装置3の処理部120が当該計算結果に応じた画像データ、音声データ、テキストデータ(アドバイス等)を作成してもよい。   In the above-described embodiment, the processing unit 20 generates motion analysis information such as image data, sound data, and text data. However, the present invention is not limited to this, and for example, the processing unit 20 includes propulsion efficiency and energy consumption. The processing unit 120 of the display device 3 that has received the calculation result may generate image data, audio data, text data (such as advice) according to the calculation result.

また、上記の実施形態では、処理部20が、計測ストップのコマンドを受信した後、ユーザーが行った運動を解析し、運動解析情報を生成する処理(図10のS25)を行っているが、この運動解析処理(後処理)は、処理部20が行わなくてもよい。例えば、処理部20が、記憶部30に記憶されている各種の情報をパーソナルコンピューター、スマートフォン、ネットワークサーバー等の機器に送信し、これらの機器が運動解析処理(後処理)を行ってもよい。   Moreover, in said embodiment, although the process part 20 receives the measurement stop command, it analyzes the exercise | movement which the user performed and performs the process (S25 of FIG. 10) which produces | generates exercise | movement analysis information. This motion analysis process (post-processing) may not be performed by the processing unit 20. For example, the processing unit 20 may transmit various types of information stored in the storage unit 30 to devices such as a personal computer, a smartphone, and a network server, and these devices may perform motion analysis processing (post-processing).

また、上記の実施形態では、表示装置3は、表示部170と音出力部180から運動解析情報を出力しているが、これに限らず、例えば、表示装置3に振動機構を設けて、振動機構を各種のパターンで振動させることにより各種情報を出力してもよい。   In the above embodiment, the display device 3 outputs the motion analysis information from the display unit 170 and the sound output unit 180. However, the display device 3 is not limited thereto. Various information may be output by vibrating the mechanism in various patterns.

また、上記の実施形態では、GPSユニット50は運動解析装置2に設けられているが、表示装置3に設けられていてもよい。この場合、表示装置3の処理部120がGPSユニット50からGPSデータを受け取って通信部140を介して運動解析装置2に送信し、運動解析装置2の処理部20が通信部40を介してGPSデータを受信し、受信したGPSデータをGPSデータテーブル320に付加すればよい。   In the above embodiment, the GPS unit 50 is provided in the motion analysis device 2, but may be provided in the display device 3. In this case, the processing unit 120 of the display device 3 receives GPS data from the GPS unit 50 and transmits it to the motion analysis device 2 via the communication unit 140, and the processing unit 20 of the motion analysis device 2 performs GPS via the communication unit 40. Data may be received and the received GPS data may be added to the GPS data table 320.

また、上記の実施形態では、運動解析装置2と表示装置3が別体となっているが、運動解析装置2と表示装置3が一体化された運動解析装置であってもよい。   Further, in the above embodiment, the motion analysis device 2 and the display device 3 are separate, but a motion analysis device in which the motion analysis device 2 and the display device 3 are integrated may be used.

また、上記の実施形態では、運動解析装置2がユーザーに装着されているが、これに限らず、慣性計測ユニット(慣性センサー)やGPSユニットをユーザーの胴体等に装着し、慣性計測ユニット(慣性センサー)やGPSユニットはそれぞれ検出結果をスマートフォン等の携帯情報機器やパーソナルコンピューター等の設置型の情報機器に送信し、これらの機器が受信した検出結果を用いてユーザーの運動を解析してもよい。あるいは、ユーザーの胴体等に装着された慣性計測ユニット(慣性センサー)やGPSユニットが検出結果をメモリーカード等の記録媒体に記録し、当該記録媒体をスマートフォンやパーソナルコンピューター等の情報機器が当該記録媒体から検出結果を読み出して運動解析処理を行ってもよい。   In the above embodiment, the motion analysis device 2 is attached to the user. However, the present invention is not limited to this, and an inertial measurement unit (inertia sensor) or a GPS unit is attached to the user's torso, etc. The sensor) and the GPS unit may transmit the detection result to a portable information device such as a smartphone or a stationary information device such as a personal computer, and analyze the user's movement using the detection result received by these devices. . Alternatively, an inertial measurement unit (inertial sensor) or GPS unit mounted on the user's body or the like records the detection result on a recording medium such as a memory card, and the information medium such as a smartphone or a personal computer records the recording medium. The motion analysis processing may be performed by reading out the detection result from.

また、上記の実施形態では、人の歩行を対象としていたが、本発明は、これに限らず、動物や歩行ロボット等の移動体の歩行にも同様に適用することができる。また、本発明は、歩行に限らず、登山、トレイルラン、スキー(クロスカントリーやスキージャンプも含む)、スノーボード、水泳、自転車の走行、スケート、ゴルフ、テニス、野球、リハビリテーション等の多種多様な運動に適用することができる。   Moreover, in said embodiment, although human walk was made into object, this invention is applicable not only to this but the walk of moving bodies, such as an animal and a walking robot, similarly. In addition, the present invention is not limited to walking, but includes various activities such as mountain climbing, trail running, skiing (including cross-country and ski jumping), snowboarding, swimming, cycling, skating, golf, tennis, baseball, rehabilitation, and the like. Can be applied to.

上述した各実施形態および各変形例は一例であって、これらに限定されるわけではない。例えば、各実施形態および各変形例を適宜組み合わせることも可能である。   Each embodiment and each modification mentioned above are examples, and are not limited to these. For example, it is possible to appropriately combine each embodiment and each modification.

本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。   The present invention includes configurations that are substantially the same as the configurations described in the embodiments (for example, configurations that have the same functions, methods, and results, or configurations that have the same objects and effects). In addition, the invention includes a configuration in which a non-essential part of the configuration described in the embodiment is replaced. In addition, the present invention includes a configuration that exhibits the same operational effects as the configuration described in the embodiment or a configuration that can achieve the same object. Further, the invention includes a configuration in which a known technique is added to the configuration described in the embodiment.

1 運動解析システム、2 運動解析装置、3 表示装置、10 慣性計測ユニット(IMU)、12 加速度センサー、14 角速度センサー、16 信号処理部、20 処理部、30 記憶部、40 通信部、50 GPSユニット、120 処理部、130 記憶部、140 通信部、150 操作部、160 計時部、170 表示部、180 音出力部、210 バイアス除去部、220 積分処理部、230 誤差推定部、240 歩行検出部、250 直進判定部、260 座標変換行列算出部、270 方位角変換部、280 座標変換部、290 運動解析部 DESCRIPTION OF SYMBOLS 1 Motion analysis system, 2 Motion analysis apparatus, 3 Display apparatus, 10 Inertial measurement unit (IMU), 12 Acceleration sensor, 14 Angular velocity sensor, 16 Signal processing part, 20 Processing part, 30 Storage part, 40 Communication part, 50 GPS unit , 120 processing unit, 130 storage unit, 140 communication unit, 150 operation unit, 160 timing unit, 170 display unit, 180 sound output unit, 210 bias removal unit, 220 integration processing unit, 230 error estimation unit, 240 walking detection unit, 250 rectilinear determination unit, 260 coordinate conversion matrix calculation unit, 270 azimuth angle conversion unit, 280 coordinate conversion unit, 290 motion analysis unit

Claims (11)

移動体の移動を伴う運動の周期における所定のタイミングで、前記移動体に取り付けられた第1センサーを基準とする第1座標系と前記移動体を基準とする第2座標系との間の座標変換行列を算出することと、
測位用衛星からの信号を受信する第2センサーの検出結果が得られた場合に、前記座標変換行列を用いて、前記第1センサーの検出結果に基づく前記移動体の方位角及び前記第2センサーの検出結果に基づく前記移動体の方位角のいずれか一方を変換することと、
前記第2センサーの検出結果が得られたタイミング以降の前記所定のタイミングで、変換した前記方位角と他方の前記方位角との差を用いて、前記移動体の状態を表す指標の誤差を推定することと、を含む、誤差推定方法。
Coordinates between a first coordinate system based on the first sensor attached to the moving body and a second coordinate system based on the moving body at a predetermined timing in a cycle of movement involving movement of the moving body Calculating a transformation matrix;
When the detection result of the second sensor that receives the signal from the positioning satellite is obtained, the azimuth angle of the moving body based on the detection result of the first sensor and the second sensor using the coordinate transformation matrix Converting any one of the azimuth angles of the moving body based on the detection result of
At the predetermined timing after the timing when the detection result of the second sensor is obtained, the error of the index representing the state of the moving body is estimated using the difference between the converted azimuth angle and the other azimuth angle. And an error estimation method.
前記第1センサーの検出結果を用いて、前記第1座標系での前記移動体の速度を算出し、算出した前記速度に基づいて前記座標変換行列を算出する、請求項1に記載の誤差推定方法。   The error estimation according to claim 1, wherein a speed of the moving body in the first coordinate system is calculated using a detection result of the first sensor, and the coordinate transformation matrix is calculated based on the calculated speed. Method. 前記所定のタイミングは、前記第1センサーの検出結果が所定の条件を満たしたタイミングである、請求項1又は2に記載の誤差推定方法。   The error estimation method according to claim 1, wherein the predetermined timing is a timing at which a detection result of the first sensor satisfies a predetermined condition. さらに、前記第1センサーの検出結果を用いて、前記周期を検出することを含み、
前記所定のタイミングは、前記周期を検出したタイミングである、請求項1乃至3のいずれか一項に記載の誤差推定方法。
Furthermore, using the detection result of the first sensor, detecting the cycle,
The error estimation method according to claim 1, wherein the predetermined timing is a timing at which the period is detected.
前記移動体が移動を開始してから所定の期間における前記第1センサーの検出結果を用いて前記座標変換行列を算出する、請求項1乃至4のいずれか一項に記載の誤差推定方法。   The error estimation method according to claim 1, wherein the coordinate transformation matrix is calculated using a detection result of the first sensor in a predetermined period after the moving body starts moving. さらに、前記移動体が直進しているか否かを判定することを含み、
前記第2センサーの検出結果が得られたタイミングから次の前記所定のタイミングまでの間に、前記移動体が直進していないと判定した場合には、当該次の前記所定のタイミングでは前記誤差を推定しない、請求項1乃至5のいずれか一項に記載の誤差推定方法。
And determining whether or not the moving object is traveling straight,
If it is determined that the moving body does not go straight between the timing at which the detection result of the second sensor is obtained and the next predetermined timing, the error is determined at the next predetermined timing. The error estimation method according to claim 1, wherein the error estimation method is not estimated.
前記第1センサーは、加速度センサー及び角速度センサーの少なくとも一方を含む、請求項1乃至6のいずれか一項に記載の誤差推定方法。   The error estimation method according to claim 1, wherein the first sensor includes at least one of an acceleration sensor and an angular velocity sensor. 前記第1センサーは、地磁気センサーである、請求項1乃至6のいずれか一項に記載の誤差推定方法。   The error estimation method according to claim 1, wherein the first sensor is a geomagnetic sensor. 請求項1乃至8のいずれか一項に記載の誤差推定方法を用いて前記誤差を推定することと、
推定した前記誤差を用いて、前記指標を補正することと、
補正した前記指標を用いて、前記移動体の運動を解析することと、を含む、運動解析方法。
Estimating the error using the error estimation method according to any one of claims 1 to 8,
Correcting the indicator using the estimated error;
Analyzing the motion of the moving body using the corrected index.
移動体の移動を伴う運動の周期における所定のタイミングで、前記移動体に取り付けられた第1センサーを基準とする第1座標系と前記移動体を基準とする第2座標系との間の座標変換行列を算出する座標変換行列算出部と、
測位用衛星からの信号を受信する第2センサーの検出結果が得られた場合に、前記座標変換行列を用いて、前記第1センサーの検出結果に基づく前記移動体の方位角及び前記第2センサーの検出結果に基づく前記移動体の方位角のいずれか一方を変換する方位角変換
部と、
前記第2センサーの検出結果が得られたタイミング以降の前記所定のタイミングで、変換した前記方位角と他方の前記方位角との差を用いて、前記移動体の状態を表す指標の誤差を推定する誤差推定部と、を含む、誤差推定装置。
Coordinates between a first coordinate system based on the first sensor attached to the moving body and a second coordinate system based on the moving body at a predetermined timing in a cycle of movement involving movement of the moving body A coordinate transformation matrix calculation unit for calculating a transformation matrix;
When the detection result of the second sensor that receives the signal from the positioning satellite is obtained, the azimuth angle of the moving body based on the detection result of the first sensor and the second sensor using the coordinate transformation matrix An azimuth angle conversion unit that converts any one of the azimuth angles of the moving body based on the detection result of
At the predetermined timing after the timing when the detection result of the second sensor is obtained, the error of the index representing the state of the moving body is estimated using the difference between the converted azimuth angle and the other azimuth angle. An error estimation unit.
移動体の移動を伴う運動の周期における所定のタイミングで、前記移動体に取り付けられた第1センサーを基準とする第1座標系と前記移動体を基準とする第2座標系との間の座標変換行列を算出することと、
測位用衛星からの信号を受信する第2センサーの検出結果が得られた場合に、前記座標変換行列を用いて、前記第1センサーの検出結果に基づく前記移動体の方位角及び前記第2センサーの検出結果に基づく前記移動体の方位角のいずれか一方を変換することと、
前記第2センサーの検出結果が得られたタイミング以降の前記所定のタイミングで、変換した前記方位角と他方の前記方位角との差を用いて、前記移動体の状態を表す指標の誤差を推定することと、をコンピューターに実行させる、プログラム。
Coordinates between a first coordinate system based on the first sensor attached to the moving body and a second coordinate system based on the moving body at a predetermined timing in a cycle of movement involving movement of the moving body Calculating a transformation matrix;
When the detection result of the second sensor that receives the signal from the positioning satellite is obtained, the azimuth angle of the moving body based on the detection result of the first sensor and the second sensor using the coordinate transformation matrix Converting any one of the azimuth angles of the moving body based on the detection result of
At the predetermined timing after the timing when the detection result of the second sensor is obtained, the error of the index representing the state of the moving body is estimated using the difference between the converted azimuth angle and the other azimuth angle. A program that causes a computer to execute.
JP2014068226A 2014-03-25 2014-03-28 Error estimation method, kinematic analysis method, error estimation device, and program Pending JP2015190850A (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2014068226A JP2015190850A (en) 2014-03-28 2014-03-28 Error estimation method, kinematic analysis method, error estimation device, and program
PCT/JP2015/001388 WO2015146048A1 (en) 2014-03-25 2015-03-12 Error estimation method, motion analysis method, error estimation device, and program
US15/128,954 US10288746B2 (en) 2014-03-25 2015-03-12 Error estimation method, motion analysis method, error estimation apparatus, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014068226A JP2015190850A (en) 2014-03-28 2014-03-28 Error estimation method, kinematic analysis method, error estimation device, and program

Publications (1)

Publication Number Publication Date
JP2015190850A true JP2015190850A (en) 2015-11-02

Family

ID=54425450

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014068226A Pending JP2015190850A (en) 2014-03-25 2014-03-28 Error estimation method, kinematic analysis method, error estimation device, and program

Country Status (1)

Country Link
JP (1) JP2015190850A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018054414A (en) * 2016-09-28 2018-04-05 カシオ計算機株式会社 Advancing direction estimation device, advancing direction estimation method and advancing direction estimation program
JP2018177121A (en) * 2017-04-19 2018-11-15 トヨタ自動車株式会社 Automatic driving system
WO2019087778A1 (en) * 2017-11-01 2019-05-09 日立オートモティブシステムズ株式会社 Mobile unit orientation sensor unit
JP2019530865A (en) * 2016-09-23 2019-10-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated User-specific learning for improved pedestrian motion modeling on mobile devices
CN111625755A (en) * 2020-05-21 2020-09-04 北京嘀嘀无限科技发展有限公司 Data processing method, device, server, terminal and readable storage medium
WO2021005655A1 (en) * 2019-07-05 2021-01-14 マクセル株式会社 Head-mounted display

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019530865A (en) * 2016-09-23 2019-10-24 クゥアルコム・インコーポレイテッドQualcomm Incorporated User-specific learning for improved pedestrian motion modeling on mobile devices
JP2018054414A (en) * 2016-09-28 2018-04-05 カシオ計算機株式会社 Advancing direction estimation device, advancing direction estimation method and advancing direction estimation program
JP2021096264A (en) * 2016-09-28 2021-06-24 カシオ計算機株式会社 Advancing direction estimation device, advancing direction estimation method and advancing direction estimation program
JP7115578B2 (en) 2016-09-28 2022-08-09 カシオ計算機株式会社 Traveling direction estimating device, traveling direction estimating method, and traveling direction estimating program
JP2018177121A (en) * 2017-04-19 2018-11-15 トヨタ自動車株式会社 Automatic driving system
WO2019087778A1 (en) * 2017-11-01 2019-05-09 日立オートモティブシステムズ株式会社 Mobile unit orientation sensor unit
CN111279152A (en) * 2017-11-01 2020-06-12 日立汽车系统株式会社 Attitude sensor device for moving body
JPWO2019087778A1 (en) * 2017-11-01 2020-11-12 日立オートモティブシステムズ株式会社 Posture sensor device for moving objects
WO2021005655A1 (en) * 2019-07-05 2021-01-14 マクセル株式会社 Head-mounted display
CN111625755A (en) * 2020-05-21 2020-09-04 北京嘀嘀无限科技发展有限公司 Data processing method, device, server, terminal and readable storage medium
CN111625755B (en) * 2020-05-21 2023-10-31 北京嘀嘀无限科技发展有限公司 Data processing method, device, server, terminal and readable storage medium

Similar Documents

Publication Publication Date Title
US10240945B2 (en) Correlation coefficient correction method, exercise analysis method, correlation coefficient correction apparatus, and program
US10288746B2 (en) Error estimation method, motion analysis method, error estimation apparatus, and program
JP6322960B2 (en) Inertial device, method and program
JP7342864B2 (en) Positioning program, positioning method, and positioning device
US20180180441A1 (en) Reference value generation method, exercise analysis method, reference value generation apparatus, and program
US20160029954A1 (en) Exercise analysis apparatus, exercise analysis system, exercise analysis method, and exercise analysis program
JP6268945B2 (en) Inertial device, method and program
JP7023234B2 (en) How to estimate pedestrian movement
US20160030807A1 (en) Exercise analysis system, exercise analysis apparatus, exercise analysis program, and exercise analysis method
US9677888B2 (en) Determining sensor orientation in indoor navigation
JP2015190850A (en) Error estimation method, kinematic analysis method, error estimation device, and program
JP2011503571A (en) Object orientation measurement
CN109725284B (en) Method and system for determining a direction of motion of an object
JP2016033473A (en) Position calculation method and position calculation device
JP2015188605A (en) Error estimation method, motion analysis method, error estimation device, and program
Sadi et al. New jump trajectory determination method using low-cost MEMS sensor fusion and augmented observations for GPS/INS integration
JP5821513B2 (en) Reference value generation method and reference value generation apparatus
TWI687705B (en) Method and system for tracking and determining a position of an object
JP2015184158A (en) Error estimation method, motion analysis method, error estimation device, and program
JP7035440B2 (en) Position measurement method, electronic equipment and positioning system
JP2009156721A (en) Object position detection method and apparatus
JP2017181169A (en) Performance monitoring device, performance monitoring system, performance monitoring method, and performance monitoring program
JP2016200398A (en) Positioning method, electronic equipment