JP2015184158A - Error estimation method, motion analysis method, error estimation device, and program - Google Patents
Error estimation method, motion analysis method, error estimation device, and program Download PDFInfo
- Publication number
- JP2015184158A JP2015184158A JP2014061549A JP2014061549A JP2015184158A JP 2015184158 A JP2015184158 A JP 2015184158A JP 2014061549 A JP2014061549 A JP 2014061549A JP 2014061549 A JP2014061549 A JP 2014061549A JP 2015184158 A JP2015184158 A JP 2015184158A
- Authority
- JP
- Japan
- Prior art keywords
- error
- sensor
- unit
- reference value
- mode
- 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
Links
Landscapes
- Traffic Control Systems (AREA)
- Position Fixing By Use Of Radio Waves (AREA)
- Navigation (AREA)
Abstract
Description
本発明は、誤差推定方法、運動解析方法、誤差推定装置及びプログラムに関する。 The present invention relates to an error estimation method, a motion analysis method, an error estimation device, and a program.
慣性センサーの検出結果を利用して移動体の位置や速度を算出する慣性航法が広く知られている。移動体として人を想定し、胴体に慣性センサーを装着した場合、人が移動する際には胴体の姿勢(姿勢角)が時々刻々変化するため、姿勢角を正確に推定できなければ進行方向を正確に特定できず、位置や速度の算出精度が低下する。 Inertial navigation that calculates the position and speed of a moving object using the detection result of an inertial sensor is widely known. If a person is assumed to be a moving body and an inertial sensor is attached to the torso, the posture (orientation angle) of the torso changes from moment to moment as the person moves. It cannot be specified accurately, and the calculation accuracy of the position and speed is lowered.
慣性センサーの検出結果から姿勢角を算出する場合、検出結果から回転量を算出して前回の姿勢角に積算(回転演算)する処理が繰り返される。ところが、慣性センサーの検出結果にはバイアス誤差が含まれるため、バイアス誤差等による姿勢角の誤差を正確に推定し、姿勢角を補正する必要がある。例えば、特許文献1には、GPS(Global Positioning System)を利用した電波航法装置と慣性航法装置の測定値から、カルマンフィルターにて慣性航法装置の測定誤差を推定する手法が記載されている。 When calculating the attitude angle from the detection result of the inertial sensor, the process of calculating the rotation amount from the detection result and integrating (rotating calculation) the previous attitude angle is repeated. However, since the detection result of the inertial sensor includes a bias error, it is necessary to accurately estimate the posture angle error due to the bias error and correct the posture angle. For example, Patent Document 1 describes a technique for estimating a measurement error of an inertial navigation device using a Kalman filter from measurement values of a radio navigation device and an inertial navigation device using GPS (Global Positioning System).
しかしながら、GPSの計測精度や計測タイミングによっては、必ずしも高い推定精度を確保できるとは限らない。そこで、GPSを利用した姿勢角誤差の推定手法とその他の姿勢角誤差の推定手法(例えば、移動体の動きの規則性を利用した誤差推定手法)を併用することが考えられる。しかし、2つの異なる手法を併用して姿勢角誤差を推定する場合、二重の推定がなされることになり、正しく推定されない場合がある。 However, high estimation accuracy is not always ensured depending on the GPS measurement accuracy and measurement timing. Thus, it is conceivable to use a posture angle error estimation method using GPS and another posture angle error estimation method (for example, an error estimation method using regularity of movement of a moving object). However, when the posture angle error is estimated by using two different methods in combination, double estimation is performed and the estimation may not be performed correctly.
本発明は、以上のような問題点に鑑みてなされたものであり、本発明のいくつかの態様によれば、移動体の状態を表す指標の誤差を精度よく推定することが可能な誤差推定方法、誤差推定装置及びプログラム、並びに、ユーザーの運動を精度よく解析することが可能な運動解析方法を提供することができる。 The present invention has been made in view of the above problems, and according to some aspects of the present invention, an error estimation that can accurately estimate an error of an index representing the state of a moving object. It is possible to provide a method, an error estimation device and program, 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モードのいずれか一方を選択することと、移動体の状態を表す指標の誤差を推定することと、を含み、前記誤差を推定することは、前記誤差を予測することと、前記第1モードを選択した場合に、第2センサーの検出結果に基づく第2参照値を用いずに、前記第1センサーの検出結果に基づく第1参照値と前記誤差のうちの第1誤差とを用いて、予測した前記誤差を補正することと、前記第2モードを選択した場合に、前記第1参照値を用いずに、前記第2参照値と前記第1誤差とを用いて、予測した前記誤差を補正することと、を含む。
[Application Example 1]
The error estimation method according to this application example selects one of the first mode and the second mode based on the detection result of the first sensor, and estimates an error of an index representing the state of the moving object. Estimating the error includes: predicting the error; and selecting the first mode without using a second reference value based on a detection result of a second sensor. The first reference value when the predicted error is corrected using the first reference value based on the detection result of one sensor and the first error among the errors, and when the second mode is selected. And correcting the predicted error using the second reference value and the first error.
本適用例に係る誤差推定方法によれば、移動体の状態を表す指標の誤差を、互いに異なる種類の参照値と同じ種類の誤差とを用いて補正する2つの異なるモードのいずれか一方を選択する。第1モードによる補正と第2モードによる補正が重複しないので、誤差を精度よく推定することができる。 According to the error estimation method according to this application example, one of two different modes for correcting the error of the index representing the state of the moving object using different types of reference values and the same type of error is selected. To do. Since the correction in the first mode and the correction in the second mode do not overlap, the error can be estimated with high accuracy.
[適用例2]
上記適用例に係る誤差推定方法において、前記第2センサーは、加速度センサー及び角速度センサーの少なくとも一方を含んでもよい。
[Application Example 2]
In the error estimation method according to the application example, the second 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, in the second mode, the error can be estimated using the reference value based on the detection result of the acceleration sensor or the angular velocity sensor.
[適用例3]
上記適用例に係る誤差推定方法において、前記第1センサーは、測位用衛星からの信号を受信するセンサー又は地磁気センサーであってもよい。
[Application Example 3]
In the error estimation method according to the application example, the first sensor may be a sensor that receives a signal from a positioning satellite or a geomagnetic sensor.
本適用例に係る誤差推定方法によれば、第1モードでは、測位用衛星からの信号を受信するセンサー又は地磁気センサーの検出結果に基づく参照値を用いて誤差を推定することができる。 According to the error estimation method according to this application example, in the first mode, the error can be estimated using a reference value based on a detection result of a sensor that receives a signal from a positioning satellite or a geomagnetic sensor.
[適用例4]
上記適用例に係る誤差推定方法において、前記第1センサーの検出結果が得られた場合には前記第1モードを選択し、前記第1センサーの検出結果が得られなかった場合には前記第2モードを選択してもよい。
[Application Example 4]
In the error estimation method according to the application example, when the detection result of the first sensor is obtained, the first mode is selected, and when the detection result of the first sensor is not obtained, the second mode is selected. A mode may be selected.
本適用例に係る誤差推定方法によれば、前記第1センサーの検出結果が得られた場合に第1モードを選択することができる。 According to the error estimation method according to this application example, the first mode can be selected when the detection result of the first sensor is obtained.
[適用例5]
上記適用例に係る誤差推定方法において、前記第1センサーの検出結果の精度が基準値以上の場合には前記第1モードを選択し、前記第1センサーの検出結果の精度が前記基準値未満の場合には前記第2モードを選択してもよい。
[Application Example 5]
In the error estimation method according to the application example, when the accuracy of the detection result of the first sensor is equal to or higher than a reference value, the first mode is selected, and the accuracy of the detection result of the first sensor is less than the reference value. In some cases, the second mode may be selected.
本適用例に係る誤差推定方法によれば、第1センサーの検出結果に基づく参照値の精度が基準値未満の場合には第2モードを選択するので、誤差の推定精度の低下を抑制することができる。 According to the error estimation method according to this application example, the second mode is selected when the accuracy of the reference value based on the detection result of the first sensor is less than the reference value, so that a decrease in error estimation accuracy is suppressed. Can do.
[適用例6]
上記適用例に係る誤差推定方法は、さらに、前記第1モードを選択した場合に、前記第2センサーの検出結果に基づく第3参照値と、前記誤差のうちの前記第1誤差とは異なる第2誤差とを用いて、予測した前記誤差を補正することを含んでもよい。
[Application Example 6]
In the error estimation method according to the application example, when the first mode is selected, a third reference value based on a detection result of the second sensor is different from the first error among the errors. And correcting the predicted error using two errors.
本適用例に係る誤差推定方法によれば、第1モードにおいて、第1センサーの検出結果に基づく第1参照値を用いた誤差推定と第2センサーの検出結果に基づく第3参照値を用いた誤差推定とを行うことができるので、第1モードでの誤差の推定精度をさらに向上させることができる。 According to the error estimation method according to this application example, in the first mode, the error estimation using the first reference value based on the detection result of the first sensor and the third reference value based on the detection result of the second sensor are used. Since error estimation can be performed, the accuracy of error estimation in the first mode can be further improved.
[適用例7]
本適用例に係る運動解析方法は、上記のいずれかの誤差推定方法を用いて前記誤差を推定することと、推定した前記誤差を用いて、前記指標を補正することと、補正した前記指
標を用いて、前記移動体の運動を解析することと、を含む。
[Application Example 7]
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.
[適用例8]
本適用例に係る誤差推定装置は、第1センサーの検出結果に基づいて、第1モードと第2モードのいずれか一方を選択するモード選択部と、移動体の状態を表す指標の誤差を推定する誤差推定部と、を含み、前記誤差推定部は、前記誤差を予測し、前記第1モードが選択された場合には、第2センサーの検出結果に基づく第2参照値を用いずに、前記第1センサーの検出結果に基づく第1参照値と前記誤差のうちの第1誤差とを用いて、予測した前記誤差を補正し、前記第2モードが選択された場合には、前記第1参照値を用いずに、前記第2参照値と前記第1誤差とを用いて、予測した前記誤差を補正する。
[Application Example 8]
The error estimation apparatus according to the application example estimates a mode selection unit that selects one of the first mode and the second mode based on the detection result of the first sensor, and an error of an index that represents the state of the moving body. An error estimation unit that predicts the error, and when the first mode is selected, without using a second reference value based on a detection result of the second sensor, When the predicted error is corrected using the first reference value based on the detection result of the first sensor and the first error among the errors, and the second mode is selected, the first The predicted error is corrected using the second reference value and the first error without using a reference value.
本適用例に係る誤差推定装置によれば、移動体の状態を表す指標の誤差を、互いに異なる種類の参照値と同じ種類の誤差とを用いて補正する2つの異なるモードのいずれか一方を選択する。第1モードによる補正と第2モードによる補正が重複しないので、誤差を精度よく推定することができる。 According to the error estimation device according to this application example, one of two different modes for correcting the error of the index representing the state of the moving object using different types of reference values and the same type of error is selected. To do. Since the correction in the first mode and the correction in the second mode do not overlap, the error can be estimated with high accuracy.
[適用例9]
本適用例に係るプログラムは、第1センサーの検出結果に基づいて、第1モードと第2モードのいずれか一方を選択することと、移動体の状態を表す指標の誤差を推定することと、をコンピューターに実行させ、前記誤差を推定することは、前記誤差を予測することと、前記第1モードを選択した場合に、第2センサーの検出結果に基づく第2参照値を用いずに、前記第1センサーの検出結果に基づく第1参照値と前記誤差のうちの第1誤差とを用いて、予測した前記誤差を補正することと、前記第2モードを選択した場合に、前記第1参照値を用いずに、前記第2参照値と前記第1誤差とを用いて、予測した前記誤差を補正することと、を含む。
[Application Example 9]
The program according to this application example selects one of the first mode and the second mode based on the detection result of the first sensor, estimates an error of an index representing the state of the moving object, To estimate the error is to predict the error and to select the first mode without using the second reference value based on the detection result of the second sensor. The first reference is obtained when the predicted error is corrected using the first reference value based on the detection result of the first sensor and the first error among the errors, and when the second mode is selected. Correcting the predicted error using the second reference value and the first error without using a value.
本適用例に係るプログラムによれば、移動体の状態を表す指標の誤差を、互いに異なる種類の参照値と同じ種類の誤差とを用いて補正する2つの異なるモードのいずれか一方を選択する。第1モードによる補正と第2モードによる補正が重複しないので、誤差を精度よく推定することができる。 According to the program according to this application example, one of two different modes for correcting the error of the index representing the state of the moving body using different types of reference values and the same type of error is selected. Since the correction in the first mode and the correction in the second mode do not overlap, the error can be estimated with high accuracy.
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説
明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
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(第2センサーの一例)は、加速度センサー12、角速度センサー14及び信号処理部16を含んで構成されている。 The inertial measurement unit 10 (an example of a second 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(第1センサーの一例)は、測位用衛星の一種であるGPS衛星から送信されるGPS衛星信号を受信し、当該GPS衛星信号を利用して測位計算を行ってnフレームにおけるユーザーの位置及び速度(大きさと向きを含むベクトル)を算出し、これらに時刻情報や測位精度情報を付したGPSデータを処理部20に出力する。なお、GPSを利用して、位置や速度を算出する方法や時刻情報を生成する方法については公知であるため、詳細な説明を省略する。 The GPS unit 50 (an example of a first 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 a travel route and a travel time. ) Is generated. And
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が記憶されている。運動解析プログラム300は、歩行検出処理(図11参照)を実行するための歩行検出プログラム301をサブルーチンとして含む。 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). The motion analysis program 300 includes a walking detection program 301 for executing a walking detection process (see FIG. 11) as a subroutine.
また、記憶部30には、センシングデータテーブル310、GPSデータテーブル320、算出データテーブル330及び運動解析情報340等が記憶される。 The storage unit 30 also stores a sensing data table 310, a GPS data table 320, a calculation data table 330, motion analysis information 340, 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は、ユーザーの運動に関する各種情報であり、本実施形態では、処理部20が算出した、歩行による移動に関する情報、歩行運動の評価指標に関する情報、
歩行に関するアドバイス、指導、警告等の情報を含む。
The motion analysis information 340 is various information related to the user's motion. In the present embodiment, the processing unit 20 calculates information related to movement by walking, information related to an evaluation index of walking motion,
Includes information on walking, advice, warnings, etc.
通信部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として機能する。
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 a bias removal unit 210, an integration processing unit 220, an error estimation unit 230, a walking detection unit 240, and a reference value. It functions as a calculation unit 250, a mode selection unit 260, a coordinate conversion unit 270, and a motion analysis unit 280.
バイアス除去部210は、新たに取得したセンシングデータに含まれる加速度(3軸加速度)及び角速度から、それぞれ、誤差推定部230が推定した加速度バイアスba及び角速度バイアスbωを減算し、加速度及び角速度を補正する処理を行う。なお、計測開始直後の初期状態では加速度バイアスba及び角速度バイアス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, as bias removal unit 210, the user's initial state is stationary, the sensing data from the inertial measurement unit To calculate the initial bias.
積分処理部220は、バイアス除去部210が補正した加速度及び角速度からeフレームの速度ve、位置pe及び姿勢角(ロール角φbe、ピッチ角θbe、ヨー角ψbe)を算出する処理を行う。具体的には、積分処理部220は、まず、ユーザーの初期状態は静止状態であるものとして、初期速度をゼロとし、あるいは、GPSデータに含まれる速度から初期速度を算出し、さらに、GPSデータに含まれる位置から初期位置を算出する。また、積分処理部220は、バイアス除去部210が補正したbフレームの3軸加速度から重力加速度の向きを特定してロール角φbeとピッチ角θbeの初期値を算出するとともに、GPSデータに含まれる速度からヨー角ψbeの初期値を算出し、eフレームの初期姿勢角とする。GPSデータが得られない場合はヨー角ψbeの初期値を例えばゼロとする。そして、積分処理部220は、算出した初期姿勢角から式(1)で表されるbフレームからeフレームへの座標変換行列(回転行列)Cb eの初期値を算出する。 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.
その後は、積分処理部220は、バイアス除去部210が補正した3軸角速度を積算(回転演算)して座標変換行列Cb eを算出し、式(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).
また、積分処理部220は、座標変換行列Cb eを用いて、バイアス除去部210が補正したbフレームの3軸加速度をeフレームの3軸加速度に変換し、重力加速度成分を除去して積算することでeフレームの速度veを算出する。また、積分処理部220は、eフレームの速度veを積算してeフレームの位置peを算出する。 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が推定した速度誤差δve、位置誤差δpe及び姿勢角誤差εeを用いて、速度ve、位置pe及び姿勢角を補正する処理も行う。 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フレームへの座標変換行列Cb m及びeフレームからmフレームへの座標変換行列Ce mも算出する。これらの座標変換行列は座標変換情報として後述する座標変換部270の座標変換処理に用いられる。 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 270 described later.
誤差推定部230は、積分処理部220が算出した速度・位置、姿勢角、バイアス除去部210が補正した加速度や角速度、GPSデータ等を用いて、ユーザーの状態を表す指標の誤差を推定する。本実施形態では、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置をユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定する。すなわち、誤差推定部230は、積分処理部220が算出した速度veの誤差(速度誤差)δve、積分処理部220が算出した姿勢角の誤差(姿勢角誤差)εe、加速度バイアスba、角速度バイアスbω及び積分処理部220が算出した位置peの誤差(位置誤差)δpeを拡張カルマンフィルターの状態変数とし、状態ベクトルXを式(3)のように定義する。 The error estimation unit 230 estimates an error of an index representing the user's state using the speed / position, posture angle calculated by the integration processing unit 220, acceleration and angular velocity corrected by the bias removal unit 210, GPS data, and the like. In the present 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. 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).
誤差推定部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.
また、誤差推定部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.
誤差推定の方法(状態ベクトルXの推定方法)としては、例えば、以下のようなものが挙げられる。 Examples of error estimation methods (state vector X estimation methods) include the following.
姿勢角誤差に基づく補正による誤差推定方法:
図7は、運動解析装置2を右腰に装着したユーザーが歩行動作(直進)をする場合のユーザーの移動を俯瞰した図である。また、図8は、ユーザーが歩行動作(直進)をする場合に慣性計測ユニット10の検出結果から算出したヨー角(方位角)の一例を示す図であり、横軸は時間、縦軸はヨー角(方位角)である。
Error estimation method by correction based on attitude angle error:
FIG. 7 is an overhead view of the movement of the user when the user wearing the motion analysis device 2 on the right waist performs a walking motion (straight forward). FIG. 8 is a diagram illustrating an example of the yaw angle (azimuth angle) calculated from the detection result 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 yaw. It is an angle (azimuth).
ユーザーの歩行動作に伴い、ユーザーに対する慣性計測ユニット10の姿勢が随時変化する。ユーザーが右足を踏み出した状態では、図7中の(2)や(4)に示すように、慣性計測ユニット10は進行方向(mフレームのx軸)に対して左側に傾いた姿勢となる。それに対して、ユーザーが左足を踏み出した状態では、図7中の(1)や(3)に示すように、慣性計測ユニット10は進行方向(mフレームのx軸)に対して右側に傾いた姿勢となる。つまり、慣性計測ユニット10の姿勢は、ユーザーの歩行動作に伴い、左右1歩ずつの2歩毎に周期的に変化することになる。図8では、例えば、右足を踏み出した状態でヨー角が極大となり(図8中の○)、左足を踏み出した状態でヨー角が極小となっている(図8中の●)。そこで、前回(2歩前)の姿勢角と今回の姿勢角は等しく、かつ、前回の姿勢角は真の姿勢であるものとして誤差を推定することができる。この方法では、観測ベクトルZ及び観測行列Hは、式(6)のようになる。式(6)において、O3,3は3行3列の零行列であり、I3は3行3列の単位行列であり、O3,9は3行9列の零行列である。式(6)のΨは式(7)で計算される。 As the user walks, the posture of the inertial measurement unit 10 with respect to the user changes at any time. 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 left 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 tilts to the right with respect to the traveling direction (the x axis of the m frame) as shown in (1) and (3) in FIG. Become posture. That is, the posture of the inertial measurement unit 10 periodically changes every two steps, one step left and right, with the user's walking motion. In FIG. 8, for example, the yaw angle is maximized when the right foot is stepped on (◯ in FIG. 8), and the yaw angle is minimized when the left foot is stepped on (● in FIG. 8). Therefore, the error can be estimated assuming that the previous posture angle (two steps before) and the current posture angle are equal and the previous posture angle is a true posture. In this method, the observation vector Z and the observation matrix H are as shown in Equation (6). In Equation (6), O 3,3 is a 3-by-3 zero matrix, I 3 is a 3-by-3 unit matrix, and O 3,9 is a 3-by-9 zero matrix. Ψ in equation (6) is calculated by equation (7).
式(7)において、Cb e(+)は今回の姿勢角であり、Cb e(−)は前回の姿勢角
である。式(6)の観測ベクトルZは前回の姿勢角と今回の姿勢角との差であり、この方法では、更新式(5)により、姿勢角誤差εeと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
In Equation (7), C b e (+) is the current posture angle, and C b e (−) is the previous posture angle. The observation vector Z in Equation (6) is the difference between the previous posture angle and the current posture angle. In this method, the state based on the difference between the posture angle error ε e and the observed value is obtained by the update equation (5). Correct the vector X and estimate the error.
角速度バイアスに基づく補正による誤差推定方法:
前回(2歩前)の姿勢角と今回の姿勢角は等しいが、前回の姿勢角は真の姿勢である必要はないものとして誤差を推定する方法である。この方法では、観測ベクトルZ及び観測行列Hは、式(8)のようになる。式(8)において、O3,9は3行9列の零行列であり、I3は3行3列の単位行列であり、O3,3は3行3列の零行列である。
Error estimation method by correction based on angular velocity bias:
This is a method of estimating an error on the assumption that the previous posture angle (two steps before) and the current posture angle are equal, but the previous posture angle does not have to be a true posture. In this method, the observation vector Z and the observation matrix H are as shown in Equation (8). In equation (8), O 3,9 is a 3-by-9 zero matrix, I 3 is a 3-by-3 unit matrix, and O 3,3 is a 3-by-3 zero matrix.
式(8)において、Cb e(+)は今回の姿勢角であり、Cb e(−)は前回の姿勢角である。また、τ−+は前回の姿勢角から今回の姿勢角に変わるまでの時間である。式(8)の観測ベクトルZは前回の姿勢角及び今回の姿勢角から算出される角速度バイアスであり、この方法では、更新式(5)により、角速度バイアスbωと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。 In Equation (8), C b e (+) is the current posture angle, and C b e (−) is the previous posture angle. Also, τ − + is the time until the previous posture angle changes to the current posture angle. The observation vector Z in the equation (8) is an angular velocity bias calculated from the previous posture angle and the current posture angle. In this method, based on the difference between the angular velocity bias bω and the observed value by the update equation (5). The state vector X is corrected to estimate the error.
方位角誤差に基づく補正による誤差推定方法:
前回(2歩前)のヨー角(方位角)と今回のヨー角(方位角)は等しく、かつ、前回のヨー角(方位角)は真のヨー角(方位角)であるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した前回のヨー角と今回のヨー角の差であり、更新式(5)により、方位角誤差εz eと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。
Error estimation method by correction based on azimuth error:
The previous yaw angle (azimuth angle) and the current yaw angle (azimuth angle) are the same, and the previous yaw angle (azimuth angle) is the true yaw angle (azimuth angle). This is an estimation method. In this method, the observed vector Z is the difference between the previous yaw angle calculated by the integration processing unit 220 and the current yaw angle, and is based on the difference between the azimuth error ε z e and the observed value by the update equation (5). The state vector X is corrected to estimate the error.
停止に基づく補正による誤差推定方法:
停止時は速度がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度veとゼロとの差であり、更新式(5)により、速度誤差δveに基づいて状態ベクトルXを補正し、誤差を推定する。
Error estimation method by correction based on stop:
This is a method of estimating the error on the assumption that the speed is zero at the time of stopping. In this method, the observation vector Z is the difference between the speed v e and zero integration processing unit 220 is calculated, the update equation (5), corrects the state vector X on the basis of the speed error .delta.v e, estimating the error To do.
静止に基づく補正による誤差推定方法:
静止時は速度がゼロであり、かつ、姿勢変化がゼロであるものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度veの誤差及び積分処理部220が算出した前回の姿勢角と今回の姿勢角との差であり、更新式(5)により、速度誤差δve及び姿勢角誤差εeに基づいて状態ベクトルXを補正し、誤差を推定する。
Error estimation method by correction based on stillness:
This is a method of estimating the error on the assumption that the speed is zero and the posture change is zero at the time of stationary. In this method, observation vector Z is the difference between the previous attitude angle and the current posture angle error and the integration processing unit 220 calculates the velocity v e of the integration processing unit 220 is calculated, the update equation (5), correcting the state vector X on the basis of the speed error .delta.v e and attitude angle error epsilon e, estimating the error.
GPSの観測値に基づく補正による誤差推定方法:
積分処理部220が算出した速度ve、位置peあるいはヨー角ψbeとGPSデータから算出される速度、位置あるいは方位角(eフレームに変換後の速度、位置、方位角)は等しいものとして誤差を推定する方法である。この方法では、観測ベクトルZは積分処理部220が算出した速度、位置あるいはヨー角とGPSデータから算出される速度、位
置速度あるいは方位角との差であり、更新式(5)により、速度誤差δve、位置誤差δpeあるいは方位角誤差εz eと観測値との差に基づいて状態ベクトルXを補正し、誤差を推定する。このうち、GPSデータから算出される方位角をリファレンスとする「GPSの方位角に基づく補正による誤差推定方法」では、観測ベクトルZ及び観測行列Hは、式(9)のようになる。式(9)において、ψINSは積分処理部220が算出したヨー角ψbeから算出される方位角であり、ψrefはリファレンスの方位角である。また、式(9)において、O1,3は1行3列の零行列であり、O1,9は1行9列の零行列である。式(9)の各偏微分は式(10)で計算される。また、式(10)のn1,n2,n3,d1,d2,d3は式(11)で計算される。
Error estimation method by correction based on GPS observations:
It is assumed that the speed v e , the position p e or the yaw angle ψ be calculated by the integration processing unit 220 and the speed, position or azimuth calculated from the GPS data (speed, position and azimuth converted to e frame) are equal. This is a method for estimating the error. In this method, the observation vector Z is the difference between the speed, position or yaw angle calculated by the integration processing unit 220 and the speed, position speed or azimuth calculated from the GPS data. .delta.v e, corrects the state vector X on the basis of the difference between the observed value and the position error .delta.p e or azimuth error epsilon z e, estimating the error. Among these, in the “error estimation method by correction based on the azimuth angle of GPS” using the azimuth angle calculated from the GPS data as a reference, the observation vector Z and the observation matrix H are expressed by Equation (9). In Expression (9), ψ INS is an azimuth angle calculated from the yaw angle ψ be calculated by the integration processing unit 220, and ψ ref is a reference azimuth angle. In Equation (9), 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 (9) is calculated by equation (10). Further, n 1, n 2, n 3, d 1, d 2, d 3 of the formula (10) is calculated by the equation (11).
このうち、「姿勢角誤差に基づく補正による誤差推定方法」、「方位角誤差に基づく補正による誤差推定方法」、「角速度バイアスに基づく補正による誤差推定方法」(以下、「姿勢角を用いた誤差推定方法」と総称する)は、GPSデータのような外部情報が不要であり、かつ、歩行時にも適用できるという利点がある。これらの手法では、いずれも前
回(2歩前)の姿勢角(方位角)と今回の姿勢角(方位角)が等しいことが条件となっているため、2歩毎のほぼ同じ姿勢角のタイミングで誤差を推定することが必要となる。
Among these, “Error estimation method based on correction based on attitude angle error”, “Error estimation method based on correction based on azimuth angle error”, “Error estimation method based on correction based on angular velocity bias” (hereinafter referred to as “error using attitude angle”) The term “estimation method” is an advantage that external information such as GPS data is unnecessary and can be applied during walking. In these methods, since it is a condition that the posture angle (azimuth angle) of the previous time (two steps before) and the current posture angle (azimuth angle) are equal, the timing of almost the same posture angle every two steps. It is necessary to estimate the error.
図6に戻り、歩行検出部240は、慣性計測ユニット10の検出結果(具体的には、バイアス除去部210が補正したセンシングデータ)を用いて、ユーザーの歩行周期(歩行タイミング)を検出する処理を行う。図7及び図8で説明したように、ユーザーの歩行時にはユーザーの姿勢が周期的に(2歩(左右1歩ずつ)毎に)変化するため、慣性計測ユニット10が検出する加速度も周期的に変化する。図9は、ユーザーの歩行時に慣性計測ユニット10が検出した3軸加速度の一例を示す図である。図9において、横軸は時間であり、縦軸は加速度値である。図9に示すように、3軸加速度は周期的に変化しており、特にz軸(重力方向の軸)加速度は、周期性をもって規則的に変化していることがわかる。このz軸加速度は、ユーザーの上下動の加速度を反映しており、z軸加速度が所定の閾値以上の極大値となる時から次に閾値以上の極大値となるまでの期間が1歩の期間に相当する。そして、右足を踏み出している状態の1歩と左足を踏み出している状態の1歩が交互に繰り返される。 Returning to FIG. 6, the walking detection unit 240 detects the user's walking cycle (walking timing) using the detection result of the inertial measurement unit 10 (specifically, sensing data corrected by the bias removing unit 210). I do. As described with reference to FIGS. 7 and 8, since the user's posture changes periodically (every two steps (one step on each of the left and right)) when the user walks, the acceleration detected by the inertial measurement unit 10 also periodically Change. FIG. 9 is a diagram illustrating an example of the triaxial acceleration 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 acceleration value. As shown in FIG. 9, it can be seen that the triaxial acceleration changes periodically, and in particular, the z axis (axis in the direction of gravity) acceleration changes regularly with periodicity. This z-axis acceleration reflects the acceleration of the user's vertical movement, and the period from when the z-axis acceleration reaches a maximum value greater than a predetermined threshold to the next maximum value greater than the threshold is one step. It corresponds to. Then, one step when the right foot is stepped on and one step when the left foot is stepped on are alternately repeated.
そこで、本実施形態では、歩行検出部240は、慣性計測ユニット10が検出するz軸加速度(ユーザーの上下動の加速度に相当する)が所定の閾値以上の極大値となる2回毎に1回、歩行周期を検出する。ただし、実際には、慣性計測ユニット10が検出するz軸加速度には高周波のノイズ成分が含まれるため、歩行検出部240は、z軸加速度をローパスフィルターを通過させてノイズが除去されたz軸加速度を用いて歩行周期を検出する。 Therefore, in the present embodiment, the walking detection unit 240 is performed once every two times when the z-axis acceleration (corresponding to the acceleration of the user's vertical movement) detected by the inertial measurement unit 10 becomes a maximum value equal to or greater than a predetermined threshold. Detecting the walking cycle. However, since the z-axis acceleration detected by the inertial measurement unit 10 actually includes a high-frequency noise component, the gait detection unit 240 passes the z-axis acceleration through a low-pass filter to remove the noise. The walking cycle is detected using acceleration.
参照値算出部250は、GPSデータ(GPSユニット50の検出結果)が得られた(更新された)タイミングに同期して、GPSデータを用いて、誤差推定の参照値(リファレンス)を生成する。参照値算出部250は、例えば、参照値としてユーザーの進行方向の方位角を算出する。この場合、参照値算出部250は、例えば、GPSデータに含まれる速度の向きから進行方向の方位角を算出してもよいし、2つのGPSデータに含まれる2つの位置から進行方向の方位角を算出してもよいし、GPSデータに方位角の情報が含まれている場合には当該方位角を進行方向の方位角としてもよい。 The reference value calculation unit 250 generates a reference value (reference) for error estimation using GPS data in synchronization with the timing at which GPS data (detection result of the GPS unit 50) is obtained (updated). For example, the reference value calculation unit 250 calculates the azimuth angle of the user's traveling direction as the reference value. In this case, for example, the reference value calculation unit 250 may calculate the azimuth angle of the traveling direction from the direction of the speed included in the GPS data, or the azimuth angle of the traveling direction from the two positions included in the two GPS data. May be calculated, or when the GPS data includes azimuth information, the azimuth may be the azimuth of the traveling direction.
モード選択部260は、GPSデータ(GPSユニット50の検出結果)に基づいて、誤差推定部230の誤差推定モードとして、第1モードと第2モードのいずれか一方を選択する。本実施形態では、モード選択部260は、歩行検出部240が歩行周期(2歩分の周期)を検出したタイミングで、前回歩行周期が検出された後にGPSデータが更新されていた場合には第1モードを選択し、更新されていなければ第2モードを選択する。モード選択部260は、例えば、歩行周期が検出された時刻を記憶し、GPSデータテーブル320に含まれる最新のGPSデータの時刻321と、歩行周期が検出された時刻とを比較して、GPSデータが更新されたか否かを判定することができる。 The mode selection unit 260 selects either the first mode or the second mode as the error estimation mode of the error estimation unit 230 based on the GPS data (the detection result of the GPS unit 50). In this embodiment, the mode selection unit 260 is the timing when the GPS data is updated after the previous walking cycle is detected at the timing when the walking detection unit 240 detects the walking cycle (cycle for two steps). 1 mode is selected, and if not updated, the second mode is selected. For example, the mode selection unit 260 stores the time when the walking cycle is detected, compares the time 321 of the latest GPS data included in the GPS data table 320 with the time when the walking cycle is detected, and sets the GPS data. It can be determined whether or not has been updated.
誤差推定部230は、モード選択部260が第1モードを選択した場合には、予測式(4)により予測した状態ベクトルXを、センシングデータ(慣性計測ユニット10の検出結果)に基づく第2参照値を用いずに、GPSデータ(GPSユニット50の検出結果)に基づく第1参照値と状態ベクトルXに含まれる状態変数のうちの第1状態変数(ユーザーの状態を表す指標の誤差のうちの第1誤差の一例)とを用いて、更新式(5)により補正する。また、誤差推定部230は、モード選択部260が第2モードを選択した場合には、予測式(4)により予測した状態ベクトルXを、GPSデータ(GPSユニット50の検出結果)に基づく第1参照値を用いずに、センシングデータ(慣性計測ユニット10の検出結果)に基づく第2参照値と状態ベクトルXに含まれる第1状態変数とを用いて、更新式(5)により補正する。要するに、誤差推定部230は、第1モードでは、積分処
理部220の算出結果に基づく第2参照値を用いずに、参照値算出部250がGPSデータから算出した第1参照値を用いて観測ベクトルZを算出し、HXが第1状態変数の値となるような観測行列Hを設定する。また、誤差推定部230は、第2モードでは、参照値算出部250がGPSデータから算出した第1参照値を用いずに、積分処理部220の算出結果に基づく第2参照値を用いて観測ベクトルZを算出し、HXが第1状態変数の値となるような観測行列Hを設定する。
When the mode selection unit 260 selects the first mode, the error estimation unit 230 uses the state vector X predicted by the prediction formula (4) as a second reference based on sensing data (detection result of the inertial measurement unit 10). The first reference value based on the GPS data (detection result of the GPS unit 50) and the first state variable included in the state vector X without using the value (of the error of the index indicating the user state) And an update equation (5). In addition, when the mode selecting unit 260 selects the second mode, the error estimating unit 230 uses the state vector X predicted by the prediction formula (4) as the first based on the GPS data (the detection result of the GPS unit 50). Without using the reference value, the second reference value based on the sensing data (detection result of the inertial measurement unit 10) and the first state variable included in the state vector X are used to correct by the update formula (5). In short, in the first mode, the error estimation unit 230 does not use the second reference value based on the calculation result of the integration processing unit 220 but uses the first reference value calculated by the reference value calculation unit 250 from the GPS data. A vector Z is calculated, and an observation matrix H is set such that HX becomes the value of the first state variable. Further, in the second mode, the error estimation unit 230 does not use the first reference value calculated from the GPS data by the reference value calculation unit 250, but uses the second reference value based on the calculation result of the integration processing unit 220. A vector Z is calculated, and an observation matrix H is set such that HX becomes the value of the first state variable.
例えば、誤差推定部230は、第1モードでは、「GPSの方位角に基づく補正による誤差推定方法」を用いて、参照値算出部250が算出する方位角を参照値ψref(第1参照値に相当する)として式(9)により観測ベクトルZを算出し、式(9)の観測行列Hを設定してHXとして方位角誤差(第1状態変数に相当する)を算出し、更新式(5)により状態ベクトルXを補正する。また、例えば、誤差推定部230は、第2モードでは、「姿勢角誤差に基づく補正による誤差推定方法」を用いて、積分処理部220が算出した前回の座標変換行列を参照値Cb e(−)(第2参照値に相当する)として式(6)及び式(7)により観測ベクトルZを算出し、式(6)の観測行列Hを設定してHXとして3次元の姿勢角誤差(方角誤差を要素として含む)を算出し、更新式(5)により状態ベクトルXを補正する。この第1モードでの状態ベクトルXの補正と第2モードでの状態ベクトルXの補正では、ともにZやHXとして、方位角誤差(第1状態変数に相当する)が計算されている。要するに、誤差推定部230は、状態ベクトルXに含まれる同じ状態変数の差分(Z−HX)を用いて状態ベクトルXを補正する2つの異なる誤差推定方法(以下、「重複する補正を行う2つの誤差推定方法」という)を併用する場合、第1モードと第2モードでいずれか一方のみを排他的に選択する。このように、重複する補正を行う2つの誤差推定方法のいずれか一方を排他的に選択することで、二重の推定がなされることがなく、誤差の推定精度の低下を抑制することができる。 For example, in the first mode, the error estimation unit 230 uses the “error estimation method based on correction based on the GPS azimuth angle” to calculate the azimuth angle calculated by the reference value calculation unit 250 as the reference value ψ ref (first reference value). The observation vector Z is calculated by the equation (9) as the equation (9), the observation matrix H of the equation (9) is set, the azimuth error (corresponding to the first state variable) is calculated as HX, and the update equation ( The state vector X is corrected by 5). In addition, for example, in the second mode, the error estimation unit 230 uses the “error estimation method by correction based on the attitude angle error” as the reference value C b e (the previous coordinate transformation matrix calculated by the integration processing unit 220. -) (Corresponding to the second reference value), the observation vector Z is calculated by the equations (6) and (7), the observation matrix H of the equation (6) is set, and a three-dimensional attitude angle error ( Direction error is included as an element), and the state vector X is corrected by the update equation (5). In both the correction of the state vector X in the first mode and the correction of the state vector X in the second mode, an azimuth error (corresponding to the first state variable) is calculated as Z and HX. In short, the error estimation unit 230 uses two different error estimation methods (hereinafter referred to as “two overlapping corrections” for correcting the state vector X using the difference (Z−HX) of the same state variables included in the state vector X. When the error estimation method is used in combination, only one of the first mode and the second mode is exclusively selected. As described above, by exclusively selecting one of the two error estimation methods for performing overlapping correction, double estimation is not performed, and a decrease in error estimation accuracy can be suppressed. .
また、誤差推定部は、モード選択部260が第1モードを選択した場合には、さらに、予測式(4)により予測した状態ベクトルXを、センシングデータ(慣性計測ユニット10の検出結果)に基づく第3参照値と状態ベクトルXに含まれる状態変数のうちの第2状態変数(ユーザーの状態を表す指標の誤差のうちの第2誤差の一例)とを用いて、更新式(5)により補正する。要するに、誤差推定部230は、第1モードでは、参照値算出部250がGPSデータから算出した第1参照値と積分処理部220の算出結果に基づく第3参照値とを用いて観測ベクトルZを算出し、HXの要素が第1状態変数の値及び第2状態変数の値となるような観測行列Hを設定する。 Further, when the mode selection unit 260 selects the first mode, the error estimation unit further uses the state vector X predicted by the prediction formula (4) based on the sensing data (the detection result of the inertial measurement unit 10). Using the third reference value and the second state variable of the state variables included in the state vector X (an example of the second error of the error of the index representing the user's state), correction is performed by the update equation (5) To do. In short, in the first mode, the error estimation unit 230 calculates the observation vector Z using the first reference value calculated from the GPS data by the reference value calculation unit 250 and the third reference value based on the calculation result of the integration processing unit 220. The observation matrix H is calculated so that the elements of HX are the values of the first state variable and the second state variable.
例えば、誤差推定部230は、第1モードでは、「GPSの方位角に基づく補正による誤差推定方法」を用いて、参照値算出部250が算出する方位角を参照値ψref(第1参照値に相当する)とするとともに、「角速度バイアスに基づく補正による誤差推定方法」を用いて、積分処理部220が算出した前回の座標変換行列を参照値Cb e(−)(第3参照値に相当する)として、式(9)のZと式(8)のZを合わせた観測ベクトルを算出する。さらに、誤差推定部230は、式(9)の観測行列Hと式(8)の観測行列Hとを合わせた観測行列を設定し、方角誤差(第1状態変数に相当する)の値と角速度バイアス(第2状態変数に相当する)の値を要素とするHXを算出し、更新式(5)により状態ベクトルXを補正する。要するに、誤差推定部230は、第1モードでは、状態ベクトルXに含まれる異なる状態変数の差分(Z−HX)を用いて状態ベクトルXを補正する2つの異なる誤差推定方法(以下、「重複しない補正を行う2つの誤差推定方法」という)を同時に適用する。このように、重複しない補正を行う2つの誤差推定方法を同時に適用しても、二重の推定がなされることはなく、誤差の推定精度を向上させることができる。 For example, in the first mode, the error estimation unit 230 uses the “error estimation method based on correction based on the GPS azimuth angle” to calculate the azimuth angle calculated by the reference value calculation unit 250 as the reference value ψ ref (first reference value). And the previous coordinate transformation matrix calculated by the integration processing unit 220 using the “error estimation method by correction based on the angular velocity bias” is referred to as a reference value C b e (−) (the third reference value). As a result, an observation vector obtained by combining Z in Expression (9) and Z in Expression (8) is calculated. Further, the error estimation unit 230 sets an observation matrix obtained by combining the observation matrix H of Expression (9) and the observation matrix H of Expression (8), and the value of the direction error (corresponding to the first state variable) and the angular velocity. HX having a bias (corresponding to the second state variable) as an element is calculated, and the state vector X is corrected by the update equation (5). In short, in the first mode, the error estimation unit 230 corrects the state vector X using the difference (Z−HX) of different state variables included in the state vector X (hereinafter, “not overlapping”). "Two error estimation methods for correction" are applied simultaneously. As described above, even if two error estimation methods for performing non-overlapping correction are applied at the same time, double estimation is not performed, and the error estimation accuracy can be improved.
座標変換部270は、積分処理部220が算出したbフレームからmフレームへの座標変換情報(座標変換行列Cb m)を用いて、バイアス除去部210が補正したbフレーム
の加速度及び角速度をそれぞれmフレームの加速度及び角速度に変換する座標変換処理を行う。また、座標変換部270は、積分処理部220が算出したeフレームからmフレームへの座標変換情報(座標変換行列Ce m)を用いて、積分処理部220が算出したeフレームの速度、位置及び姿勢角をそれぞれmフレームの速度、位置及び姿勢角に変換する座標変換処理を行う。
The coordinate conversion unit 270 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 acceleration and angular velocity of the b frame corrected by the bias removal unit 210, respectively. A coordinate conversion process is performed to convert the acceleration and angular velocity of m frames. In addition, the coordinate conversion unit 270 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.
運動解析部280は、座標変換部270が座標変換した後のmフレームの加速度、角速度、速度、位置及び姿勢角を用いて各種の演算を行ってユーザーの運動を解析し、運動解析情報340を生成する処理を行う。本実施形態では、運動解析部280は、ユーザーの歩行における、移動経路、移動速度、移動時間等の移動に関する情報、前傾の度合い、左右の動きの差、推進効率、エネルギー消費量、エネルギー効率等の歩行運動の評価指標に関する情報、より良い歩行のためのアドバイスや指導の情報、姿勢が悪いことを示す警告情報(表示装置3に警告表示や警告音等を出力させるための情報)等を含む運動解析情報340を生成する。 The motion analysis unit 280 performs various calculations using the m-frame acceleration, angular velocity, speed, position, and posture angle after the coordinate conversion unit 270 performs coordinate conversion, analyzes the user's motion, and generates motion analysis information 340. Generate the process. In the present embodiment, the motion analysis unit 280 includes information on movement such as a movement route, movement speed, and movement time, 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 340 including is generated.
処理部20は、この運動解析情報340を表示装置3に送信し、運動解析情報340は、表示装置3の表示部170にテキスト、画像、図形等で表示され、あるいは、音出力部180から音声やブザー音等で出力される。基本的には、運動解析情報340を表示部170に表示させることで、ユーザーは運動解析情報を知りたい時に表示部170を見て確認することができ、ユーザーに注意を喚起したい情報(警告情報等)を少なくとも音として出力させることで、ユーザーは常に表示部170を見ながら歩行する必要もなくなる。 The processing unit 20 transmits the motion analysis information 340 to the display device 3, and the motion analysis information 340 is displayed on the display unit 170 of the display device 3 as text, an image, a figure, or the like, Or buzzer sound. Basically, by displaying the motion analysis information 340 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 he / she wants to call attention to the user. 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は、初期バイアスを用いて(S15で加速度バイアスba及び角速度バイアスbωを推定した後は、加速度バイアスba及び角速度バイアスbωを用いて)、S3で取得したセンシングデータに含まれる加速度と角速度からバイアスを除去して補正し、補正した加速度と角速度によりセンシングデータテーブル310を更新する(S4)。 Next, the sensing processing section 20, (after estimating the acceleration bias b a and angular velocity bias b omega at S15, 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データから参照値(例えば、方位角の参照値)を算出し(S7)、GPSデータ更新フラグをオンする(S8)。一方、GPSデータが更新されなかった場合は(S6のN)、処理部20は、S7の処理及びS8の処理を行わない。 Next, when the GPS data is updated (Y in S6), the processing unit 20 calculates a reference value (for example, an azimuth reference value) from the GPS data (S7), and turns on the GPS data update flag (S7). 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)。この歩行検出処理の手順の一例は後述する。 Next, the processing unit 20 performs a walking detection process (S9). An example of the procedure of the walking detection process will be described later.
次に、処理部20は、歩行検出処理(S9)により歩行周期を検出した場合(S10のY)、GPSデータ更新フラグがオンであれば(S11のY)、第1モードを選択し(S12)、第1モードで誤差推定処理を行い(S13)、GPSデータ更新フラグをオフする(S14)。処理部20は、S13において、センシングデータから算出した第2参照値を用いずに、S7で算出した第1参照値と第1状態変数とを用いてカルマンフィルターを適用し、速度誤差δve、姿勢角誤差εe、加速度バイアスba、角速度バイアスbω及び位置誤差δpeを推定する。また、処理部20は、S13において、センシングデータに基づく第3参照値を算出し、第3参照値と第2状態変数とを用いてカルマンフィルターを適用し、速度誤差δve、姿勢角誤差εe、加速度バイアスba、角速度バイアスbω及び位置誤差δpeを推定する。 Next, when the walking cycle is detected by the walking detection process (S9) (Y in S10), the processing unit 20 selects the first mode if the GPS data update flag is on (Y in S11) (S12). ), Error estimation processing is performed in the first mode (S13), and the GPS data update flag is turned off (S14). Processing unit 20, in S13, to apply the Kalman filter used without using the second reference value calculated from the sensing data, the first reference value calculated in S7 and the first state variable, speed error .delta.v e, attitude angle error epsilon e, acceleration bias b a, the angular bias b omega and position error .delta.p e estimates. The processing unit 20, in S13, to calculate the third reference value based on the sensing data, to apply the Kalman filter using the third reference value and a second state variable, speed error .delta.v e, attitude angle error ε e , acceleration bias b a , angular velocity bias b ω and position error δp e are estimated.
また、処理部20は、GPSデータ更新フラグがオフであれば(S11のN)、第2モードを選択し(S15)、第2モードで誤差推定処理を行う(S16)。処理部20は、S16において、センシングデータに基づく第2参照値を算出し、GPSデータに基づく第1参照値を用いずに、第2参照値と第1状態変数とを用いてカルマンフィルターを適用し、速度誤差δve、姿勢角誤差εe、加速度バイアスba、角速度バイアスbω及び位置誤差δpeを推定する。 If the GPS data update flag is off (N in S11), the processing unit 20 selects the second mode (S15), and performs error estimation processing in the second mode (S16). In S16, the processing unit 20 calculates the second reference value based on the sensing data, and applies the Kalman filter using the second reference value and the first state variable without using the first reference value based on the GPS data. and, speed error .delta.v e, attitude angle error epsilon e, acceleration bias b a, the angular bias b omega and position error .delta.p e estimates.
次に、処理部20は、S13又はS16で推定した速度誤差δve、姿勢角誤差εe及び位置誤差δpeを用いて、速度、位置及び姿勢角をそれぞれ補正し、で補正した速度、位置及び姿勢角により算出データテーブル330を更新する(S17)。 Then, the processing unit 20 uses the speed error .delta.v e, attitude angle error epsilon e and position error .delta.p e estimated in S13 or S16, the speed, position and orientation angle was corrected, respectively, in the corrected speed, position Then, the calculation data table 330 is updated with the attitude angle (S17).
また、処理部20は、歩行周期を検出しなかった場合は(S10のN)、S11〜S17の処理を行わない。 Moreover, the process part 20 does not perform the process of S11-S17, when a walk period is not detected (N of S10).
次に、処理部20は、センシングデータテーブル310に記憶されているセンシングデータ(bフレームの加速度及び角速度)及び算出データテーブル330に記憶されている算出データ(eフレームの速度、位置及び姿勢角)を、mフレームの加速度、角速度、速度、位置及び姿勢角に座標変換する(S18)。処理部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 into m frame acceleration, angular velocity, velocity, position, and posture angle (S18). 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.
次に、処理部20は、S18で座標変換した後のmフレームの加速度、角速度、速度、位置及び姿勢角を用いて、ユーザーの運動をリアルタイムに解析し、運動解析情報を生成する(S19)。 Next, the processing unit 20 analyzes the user's motion in real time using the m-frame acceleration, angular velocity, velocity, position, and posture angle after the coordinate conversion in S18, and generates motion analysis information (S19). .
次に、処理部20は、S19で生成した運動解析情報を表示装置3に送信する(S20)。表示装置3に送信された運動解析情報は、ユーザーの歩行中にリアルタイムにフィードバックされる。なお、本明細書において「リアルタイム」とは、処理対象の情報が取得されたタイミングで処理を開始することを意味する。したがって、情報の取得から処理完了までにある程度の時間差がある場合も含む。 Next, the processing unit 20 transmits the motion analysis information generated in S19 to the display device 3 (S20). 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は、計測ストップのコマンドを受信するまで(S21のNかつS22のN)、前回センシングデータを取得してからサンプリング周期Δtが経過する毎に(S21のY)、S3以降の処理を繰り返す。計測ストップのコマンドを受信すると(S22のY)、S18で座標変換して時系列に記憶したmフレームの加速度、角速度、速度、位置及び姿勢角やS19の解析結果を用いて、ユーザーが行った運動を解析し、運動解析
情報を生成する(S23)。S23において、処理部20は、計測ストップのコマンドを受信すると、直ちに運動解析処理を行ってもよいし、ユーザーの操作による運動解析コマンドを受信した場合に運動解析処理を行ってもよい。また、処理部20は、S23で生成した運動解析情報を表示装置3に送信してもよいし、パーソナルコンピューターやスマートフォン等の機器に送信してもよいし、メモリーカードに記録してもよい。
Then, the processing unit 20 receives a measurement stop command (N in S21 and N in S22) every time the sampling period Δt elapses after acquiring the previous sensing data (Y in S21), and after S3 Repeat the process. When a measurement stop command is received (Y in S22), the user performed using the m-frame acceleration, angular velocity, velocity, position, posture angle, and the analysis result of S19, which are coordinate-converted in S18 and stored in time series. The motion is analyzed, and motion analysis information is generated (S23). In S23, the processing unit 20 may perform the motion analysis process immediately upon receiving the measurement stop command, 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 S23 to the display device 3, may transmit the information to a device such as a personal computer or a smartphone, or may record the information on a memory card.
なお、図10では、処理部20は、計測スタートのコマンドを受信しなければ(S1のN)、S1〜S23の処理を行わないが、過去に記憶させたmフレームの加速度、角速度、速度、位置及び姿勢角やS19の解析結果を用いてS23の処理を行ってもよい。 In FIG. 10, if the processing unit 20 does not receive the measurement start command (N in S1), the processing of S1 to S23 is not performed, but the m-frame acceleration, angular velocity, speed, The process of S23 may be performed using the position and orientation angle and the analysis result of S19.
図11は、歩行検出処理(図10のS9の処理)の手順の一例を示すフローチャート図である。処理部20(歩行検出部240)は、記憶部30に記憶されている歩行検出プログラム301を実行することにより、図11のフローチャートの手順で歩行検出処理を実行する。 FIG. 11 is a flowchart showing an example of the procedure of the walking detection process (the process of S9 in FIG. 10). The processing unit 20 (walking detection unit 240) executes the walking detection process according to the procedure of the flowchart of FIG. 11 by executing the walking detection program 301 stored in the storage unit 30.
図11に示すように、処理部20は、図10のS4で補正した加速度に含まれるz軸加速度をローパスフィルター処理し(S100)、ノイズを除去する。 As shown in FIG. 11, the processing unit 20 performs low-pass filter processing on the z-axis acceleration included in the acceleration corrected in S4 of FIG. 10 (S100), and removes noise.
次に、処理部20は、S100でローパス処理したz軸加速度が閾値以上かつ極大値の場合に(S110のY)、歩行検出有効フラグがオンであれば(S120のY)、このタイミングで歩行周期を検出する(S130)。そして、処理部20は、歩行検出有効フラグをオフし(S140)、歩行検出処理を終了する。 Next, when the z-axis acceleration subjected to low-pass processing in S100 is equal to or greater than the threshold value and the maximum value (Y in S110), the processing unit 20 walks at this timing if the walking detection valid flag is on (Y in S120). The period is detected (S130). And the process part 20 turns off a walk detection effective flag (S140), and complete | finishes a walk detection process.
一方、z軸加速度が閾値以上かつ極大値の場合に(S110のY)、歩行検出有効フラグがオフであれば(S120のN)、歩行周期を検出せずに、歩行検出有効フラグをオンし(S150)、歩行検出処理を終了する。なお、処理部20は、z軸加速度が閾値未満か極大値でなければ(S110のN)、S120以降の処理を行わずに歩行処理を終了する。 On the other hand, if the z-axis acceleration is equal to or greater than the threshold value and the maximum value (Y in S110) and the walking detection valid flag is off (N in S120), the walking detection valid flag is turned on without detecting the walking cycle. (S150), the walking detection process is terminated. If the z-axis acceleration is not less than the threshold value or the maximum value (N in S110), the processing unit 20 ends the walking process without performing the processes after S120.
1−5.効果
本実施形態によれば、重複する補正を行う2つの誤差推定方法のいずれか一方を排他的に選択しながら重複させずに併用するので、ユーザーの状態を表す指標の誤差を精度よく推定することができる。
1-5. Effect According to the present embodiment, since either one of two error estimation methods for performing overlapping correction is exclusively selected and used without overlapping, an error of an index representing the user state is accurately estimated. be able to.
また、本実施形態によれば、歩行周期の検出タイミングにおいて、直近にGPSデータが得られた場合には、相対的に信頼性の高い第1モードで誤差推定を行うことができ、直近にGPSデータが得られなかった場合でも第2モードで誤差推定を行うことができる。 Further, according to the present embodiment, when GPS data is obtained most recently at the detection timing of the walking cycle, error estimation can be performed in the first mode with relatively high reliability, and the GPS Even when data is not obtained, error estimation can be performed in the second mode.
また、本実施形態によれば、第1モードにおいて、重複しない補正を行う2つの誤差推定方法を同時に適用するので、二重の推定がなされることもなく、第1精度での誤差の推定精度を向上させることができる。 In addition, according to the present embodiment, in the first mode, two error estimation methods that perform non-overlapping corrections are applied simultaneously, so that double estimation is not performed, and error estimation accuracy with the first accuracy is achieved. Can be improved.
また、本実施形態によれば、精度よく推定した誤差を用いて、ユーザーの速度、位置、姿勢角等の情報を精度よく補正することができる。さらに、本実施形態によれば、この精度よく補正したユーザーの速度、位置、姿勢等の情報を用いて、ユーザーの歩行運動を精度よく解析することができる。 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に内蔵されずに、ユーザーに直接装着されてもよい。いずれの場合でも、例えば、いずれか一方のセンサー座標系を上記の実施形態の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 either case, 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は、ユーザーの上下動の加速度(z軸加速度)が閾値以上で極大値となるタイミングで歩行周期を検出しているが、これに限らず、例えば、上下動の加速度(z軸加速度)が正から負に変化する(ゼロクロスする)タイミング(又は負から正にゼロクロスするタイミング)で歩行周期を検出してもよい。あるいは、歩行検出部240は、上下動の加速度(z軸加速度)を積分して上下動の速度(z軸速度)を算出し、算出した上下動の速度(z軸速度)を用いて歩行周期を検出してもよい。この場合、歩行検出部240は、例えば、当該速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。また、例えば、歩行検出部240は、x軸、y軸、z軸の合成加速度を算出し、算出した合成加速度を用いて歩行周期を検出してもよい。この場合、歩行検出部240は、例えば、当該合成加速度が、極大値と極小値の中央値付近の閾値を値の増加によって、あるいは値の減少によってクロスするタイミングで歩行周期を検出してもよい。
2-2. Walking detection In the above-described embodiment, the walking detection unit 240 detects the walking cycle at a timing when the acceleration of the user's vertical movement (z-axis acceleration) becomes a maximum value when the threshold value is greater than or equal to the threshold value. The walking cycle may be detected at a timing at which vertical acceleration (z-axis acceleration) changes from positive to negative (zero crossing) (or timing at which 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 detector 240 may detect the walking cycle 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. Further, for example, the walking detection unit 240 may calculate the combined acceleration of the x-axis, the y-axis, and the z-axis, and detect the walking cycle using the calculated combined acceleration. In this case, for example, the walking detection unit 240 may detect the walking cycle at a timing when the resultant acceleration 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. .
2−3.モード選択
上記の実施形態では、モード選択部260は、GPSデータが更新された場合に第1モードを選択し、GPSデータが更新されなかった場合に第2モードを選択しているが、GPSデータが更新された場合、当該GPSデータの測位精度が基準値以上の場合(DOP値が基準値以下の場合)には第1モードを選択し、当該測位精度が基準値未満の場合(DOP値が基準値よりも大きい場合)には第2モードを選択してもよい。
2-3. Mode Selection In the above embodiment, the mode selection unit 260 selects the first mode when the GPS data is updated, and selects the second mode when the GPS data is not updated. When the positioning accuracy of the GPS data is greater than or equal to the reference value (when the DOP value is less than or equal to the reference value), the first mode is selected, and when the positioning accuracy is less than the reference value (the DOP value is The second mode may be selected when it is larger than the reference value.
2−4.参照値算出
上記の実施形態では、参照値算出部250は、GPS衛星からの信号を用いて参照値を算出しているが、GPS以外の全地球航法衛星システム(GNSS:Global Navigation Satellite System)の測位用衛星やGNSS以外の測位用衛星からの信号を用いて参照速度を算出してもよい。あるいは、参照値算出部250は地磁気センサーの検出信号を用いて方位角の参照値を算出してもよい。例えば、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-4. Reference Value Calculation In the above-described embodiment, the reference value calculation unit 250 calculates a reference value using a signal from a GPS satellite, but a global navigation satellite system (GNSS) other than GPS is used. The reference speed may be calculated using signals from positioning satellites or positioning satellites other than GNSS. Alternatively, the reference value calculation unit 250 may calculate the reference value of the azimuth using the detection signal of the geomagnetic sensor. 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.
2−5.誤差推定
上記の実施形態では、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置を
ユーザーの状態を表す指標とし、拡張カルマンフィルターを用いてこれらの指標の誤差を推定しているが、速度、姿勢角、加速度、角速度及び位置の一部をユーザーの状態を表す指標として、その誤差を推定してもよい。あるいは、誤差推定部230は、速度、姿勢角、加速度、角速度及び位置以外のもの(例えば、移動距離)をユーザーの状態を表す指標として、その誤差を推定してもよい。
2-5. 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は、第1モードと第2モードで、方位角の参照値と方位角誤差とを用いて状態ベクトルXを補正する、重複する補正を行う2つの誤差推定方法を排他的に選択しているが、これに限らず、例えば、距離の参照値と距離誤差とを用いて状態ベクトルXを補正する、重複する補正を行う2つの誤差推定方法を排他的に選択してもよい。具体的には、状態ベクトルXの状態変数として距離の誤差を定義し、誤差推定部230は、第1モードでは、GPSデータに基づく距離の参照値を第1参照値、距離の誤差を第1状態変数として、第1参照値と第1状態変数とを用いて状態ベクトルXを補正する。また、誤差推定部230は、第2モードでは、センシングデータに基づく距離の参照値(例えば、加速度から歩幅を推定し、歩幅と歩数を掛けて距離の参照値を算出する等)を第2参照値、距離の誤差を第1状態変数として、第1参照値と第1状態変数とを用いて状態ベクトルXを補正する。 Further, in the above embodiment, the error estimation unit 230 corrects the state vector X using the reference value of the azimuth angle and the azimuth angle error in the first mode and the second mode, and performs two corrections that perform overlapping correction. Although the error estimation method is exclusively selected, the present invention is not limited to this. For example, two error estimation methods for correcting the state vector X using the distance reference value and the distance error and performing overlapping correction are excluded. May be selected. Specifically, a distance error is defined as a state variable of the state vector X. In the first mode, the error estimation unit 230 uses a distance reference value based on GPS data as a first reference value, and a distance error as a first error. The state vector X is corrected using the first reference value and the first state variable as the state variables. Further, in the second mode, the error estimation unit 230 refers to the distance reference value based on the sensing data (for example, estimating the step length from the acceleration and calculating the distance reference value by multiplying the step length and the number of steps). The state vector X is corrected using the first reference value and the first state variable with the error of the value and distance as the first state variable.
また、上記の実施形態では、誤差推定部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.
2−6.その他
上記の実施形態では、積分処理部220がeフレームの速度、位置及び姿勢角を算出し、座標変換部270がこれをmフレームの速度、位置及び姿勢角に座標変換しているが、積分処理部220がmフレームの速度、位置及び姿勢角を算出してもよい。この場合、運動解析部280は、積分処理部220が算出したmフレームの速度、位置、姿勢角を用いて運動解析処理を行えばよいので、座標変換部270による速度、位置及び姿勢角の座標変換が不要になる。また、誤差推定部230はmフレームの速度、位置、姿勢角を用いて拡張カルマンフィルターによる誤差推定を行ってもよい。
2-6. Others In the above embodiment, the integration processing unit 220 calculates the speed, position, and posture angle of the e frame, and the coordinate conversion unit 270 converts the coordinate to the speed, position, and posture angle of the m frame. The processing unit 220 may calculate the speed, position, and posture angle of m frames. In this case, the motion analysis unit 280 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 270 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のS23)を行っているが、この運動解析処理(後処理)は、処理部20が行わなくてもよい。例えば、処理部20が、記憶部30に記憶されている各種の情報をパーソナルコンピューター、スマートフォン、ネットワークサーバー等の機器に送信し、これらの機器が運動解析処理(後処理)を行ってもよい。 Moreover, in said embodiment, although the process part 20 receives the measurement stop command, it performs the process (S23 of FIG. 10) which analyzes the exercise | movement which the user performed and 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 運動解析部 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 reference value calculation unit, 260 mode selection unit, 270 coordinate conversion unit, 280 motion analysis unit
Claims (9)
移動体の状態を表す指標の誤差を推定することと、を含み、
前記誤差を推定することは、
前記誤差を予測することと、
前記第1モードを選択した場合に、第2センサーの検出結果に基づく第2参照値を用いずに、前記第1センサーの検出結果に基づく第1参照値と前記誤差のうちの第1誤差とを用いて、予測した前記誤差を補正することと、
前記第2モードを選択した場合に、前記第1参照値を用いずに、前記第2参照値と前記第1誤差とを用いて、予測した前記誤差を補正することと、を含む、誤差推定方法。 Selecting one of the first mode and the second mode based on the detection result of the first sensor;
Estimating an error of an index representing a state of a moving object,
Estimating the error is
Predicting the error;
When the first mode is selected, without using the second reference value based on the detection result of the second sensor, the first reference value based on the detection result of the first sensor and the first error of the errors, Correcting the predicted error using
Correcting the predicted error using the second reference value and the first error without using the first reference value when the second mode is selected, including error estimation Method.
推定した前記誤差を用いて、前記指標を補正することと、
補正した前記指標を用いて、前記移動体の運動を解析することと、を含む、運動解析方法。 Estimating the error using the error estimation method according to any one of claims 1 to 6,
Correcting the indicator using the estimated error;
Analyzing the motion of the moving body using the corrected index.
移動体の状態を表す指標の誤差を推定する誤差推定部と、を含み、
前記誤差推定部は、
前記誤差を予測し、前記第1モードが選択された場合には、第2センサーの検出結果に基づく第2参照値を用いずに、前記第1センサーの検出結果に基づく第1参照値と前記誤差のうちの第1誤差とを用いて、予測した前記誤差を補正し、前記第2モードが選択された場合には、前記第1参照値を用いずに、前記第2参照値と前記第1誤差とを用いて、予測した前記誤差を補正する、誤差推定装置。 A mode selection unit that selects one of the first mode and the second mode based on the detection result of the first sensor;
An error estimator for estimating an error of an index representing the state of the moving object,
The error estimator is
When the error is predicted and the first mode is selected, the first reference value based on the detection result of the first sensor and the second reference value based on the detection result of the second sensor are not used. The predicted error is corrected using the first error of the errors, and when the second mode is selected, the first reference value is not used but the second reference value and the first error are selected. An error estimation apparatus that corrects the predicted error using one error.
移動体の状態を表す指標の誤差を推定することと、をコンピューターに実行させ、
前記誤差を推定することは、
前記誤差を予測することと、
前記第1モードを選択した場合に、第2センサーの検出結果に基づく第2参照値を用いずに、前記第1センサーの検出結果に基づく第1参照値と前記誤差のうちの第1誤差とを用いて、予測した前記誤差を補正することと、
前記第2モードを選択した場合に、前記第1参照値を用いずに、前記第2参照値と前記第1誤差とを用いて、予測した前記誤差を補正することと、を含む、プログラム。 Selecting one of the first mode and the second mode based on the detection result of the first sensor;
Estimating the error of the index representing the state of the moving object, and causing the computer to execute,
Estimating the error is
Predicting the error;
When the first mode is selected, without using the second reference value based on the detection result of the second sensor, the first reference value based on the detection result of the first sensor and the first error of the errors, Correcting the predicted error using
And correcting the predicted error using the second reference value and the first error without using the first reference value when the second mode is selected.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014061549A JP2015184158A (en) | 2014-03-25 | 2014-03-25 | 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 |
PCT/JP2015/001388 WO2015146048A1 (en) | 2014-03-25 | 2015-03-12 | Error estimation method, motion analysis method, error estimation device, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014061549A JP2015184158A (en) | 2014-03-25 | 2014-03-25 | Error estimation method, motion analysis method, error estimation device, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015184158A true JP2015184158A (en) | 2015-10-22 |
Family
ID=54350848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014061549A Pending JP2015184158A (en) | 2014-03-25 | 2014-03-25 | Error estimation method, motion analysis method, error estimation device, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015184158A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017227591A (en) * | 2016-06-24 | 2017-12-28 | セイコーエプソン株式会社 | Signal processing circuit, physical quantity detection device, attitude arithmetic unit, electronic apparatus, and movable body |
JP2019060620A (en) * | 2017-09-25 | 2019-04-18 | カシオ計算機株式会社 | Movement state determining device, electronic timepiece, movement state determination method and program |
JP2019060618A (en) * | 2017-09-25 | 2019-04-18 | カシオ計算機株式会社 | Satellite radio wave receiver, electronic timepiece, positioning control method and program |
-
2014
- 2014-03-25 JP JP2014061549A patent/JP2015184158A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017227591A (en) * | 2016-06-24 | 2017-12-28 | セイコーエプソン株式会社 | Signal processing circuit, physical quantity detection device, attitude arithmetic unit, electronic apparatus, and movable body |
JP2019060620A (en) * | 2017-09-25 | 2019-04-18 | カシオ計算機株式会社 | Movement state determining device, electronic timepiece, movement state determination method and program |
JP2019060618A (en) * | 2017-09-25 | 2019-04-18 | カシオ計算機株式会社 | Satellite radio wave receiver, electronic timepiece, positioning control method and program |
JP7006080B2 (en) | 2017-09-25 | 2022-01-24 | カシオ計算機株式会社 | Movement state determination device, electronic clock, movement state determination method and program |
JP7210874B2 (en) | 2017-09-25 | 2023-01-24 | カシオ計算機株式会社 | Satellite radio wave receiver, electronic clock, positioning control method and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015146046A1 (en) | Correlation coefficient correction method, motion analysis method, correlation coefficient correction device, and program | |
WO2015146047A1 (en) | Reference-value generation method, motion analysis method, reference-value generation device, and program | |
WO2015146048A1 (en) | Error estimation method, motion analysis method, error estimation device, and program | |
JP6322960B2 (en) | Inertial device, method and program | |
US20160029954A1 (en) | Exercise analysis apparatus, exercise analysis system, exercise analysis method, and exercise analysis program | |
US20210254979A1 (en) | Method of estimating a metric of interest related to the motion of a body | |
JP7005946B2 (en) | Wearable devices and control methods for wearable devices | |
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 | |
CN105311816A (en) | Notification device, exercise analysis system, notification method, and exercise support device | |
JP5176145B2 (en) | Direction detection method and apparatus, and movement history calculation method and apparatus | |
JP2015190850A (en) | Error estimation method, kinematic analysis method, error estimation device, and program | |
JP2016116743A (en) | Exercise support device, exercise support method, and program | |
JP2016033473A (en) | Position calculation method and position calculation device | |
US20160030806A1 (en) | Exercise ability evaluation method, exercise ability evaluation apparatus, exercise ability calculation method, and exercise ability calculation apparatus | |
JP2018068396A (en) | Motion analysis device, motion analysis system, and motion analysis method | |
JP2013076606A (en) | Positioning device, positioning method, and program | |
JP2015188605A (en) | Error estimation method, motion analysis method, error estimation device, and program | |
JP5821513B2 (en) | Reference value generation method and reference value generation apparatus | |
JP2015184158A (en) | Error estimation method, motion analysis method, error estimation device, and program | |
TWI687705B (en) | Method and system for tracking and determining a position of an object | |
JP2016032579A (en) | Exercise capacity calculation method, exercise capacity calculation device, exercise capacity calculation system and program | |
JP7035440B2 (en) | Position measurement method, electronic equipment and positioning system | |
JP7512629B2 (en) | Exercise data acquisition device, exercise data acquisition method, and program |