JP2013108865A - Inertial navigation operation method and inertia navigation operation device - Google Patents

Inertial navigation operation method and inertia navigation operation device Download PDF

Info

Publication number
JP2013108865A
JP2013108865A JP2011254702A JP2011254702A JP2013108865A JP 2013108865 A JP2013108865 A JP 2013108865A JP 2011254702 A JP2011254702 A JP 2011254702A JP 2011254702 A JP2011254702 A JP 2011254702A JP 2013108865 A JP2013108865 A JP 2013108865A
Authority
JP
Japan
Prior art keywords
error
value
inertial navigation
user
parameter
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.)
Granted
Application number
JP2011254702A
Other languages
Japanese (ja)
Other versions
JP5906687B2 (en
JP2013108865A5 (en
Inventor
Imei Cho
イメイ 丁
Chikashi Uchida
周志 内田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2011254702A priority Critical patent/JP5906687B2/en
Publication of JP2013108865A publication Critical patent/JP2013108865A/en
Publication of JP2013108865A5 publication Critical patent/JP2013108865A5/ja
Application granted granted Critical
Publication of JP5906687B2 publication Critical patent/JP5906687B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Navigation (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a new method of inertial navigation operation which considers moving situations of a user.SOLUTION: Moving situations of a user are determined by a moving situation determination part 20. By a parameter value setting part 40, value of a parameter related to prescribed error estimation processing for estimating errors included in operation value related to the inertial navigation operation performed by an INS 10 is set based on the determination result of the moving situations. An error estimation processing part 50 performs error estimation processing by using set parameter value, and the INS 10 corrects the operation value by using the error estimated by the error estimation processing, and performs the inertial navigation operation.

Description

本発明は、慣性航法演算を行う方法等に関する。   The present invention relates to a method for performing inertial navigation calculation.

いわゆるシームレス測位やモーションセンシング、姿勢制御など様々な分野において、センサーの活用が注目されている。センサーとしては、加速度センサーやジャイロセンサー、圧力センサー、地磁気センサーなどが広く知られている。センサーの計測結果を利用して慣性航法演算を行って移動体(例えば自転車や自動車、電車、船、飛行機など)の位置算出を行う技術も考案されている。   In various fields such as so-called seamless positioning, motion sensing, and attitude control, the use of sensors is drawing attention. As sensors, acceleration sensors, gyro sensors, pressure sensors, geomagnetic sensors, and the like are widely known. A technique for calculating the position of a moving body (for example, a bicycle, a car, a train, a ship, an airplane, etc.) by performing inertial navigation calculation using the measurement result of the sensor has been devised.

その中でも、慣性航法等を利用して人間自身の位置を算出する技術が、特許文献1や特許文献2に開示されている。   Among them, Patent Literature 1 and Patent Literature 2 disclose techniques for calculating the position of a person using inertial navigation or the like.

米国特許第7245254号明細書US Pat. No. 7,245,254 米国特許公開第2010/0198511号明細書US Patent Publication No. 2010/0198511

歩行用の位置算出の技術では、位置算出の精度が、もっぱら位置算出装置に搭載される慣性センサーの計測誤差に依存する。そのため、慣性センサーの計測誤差を補正することが必要となる。ユーザーは、常に歩行で移動するとは限らず、ユーザーの移動状況は常に変化する。例えば、ユーザーの身体の一部に位置算出装置を装着して日常的にユーザーの位置を慣性航法演算で求める状況を想定した場合、ユーザーは、歩行の他にも、自転車に乗って移動したり、自動車に乗って移動したり、エレベーターに乗って移動したりと、ユーザーの移動状況は随時変化する。   In the position calculation technique for walking, the accuracy of position calculation depends solely on the measurement error of the inertial sensor mounted on the position calculation device. Therefore, it is necessary to correct the measurement error of the inertial sensor. The user does not always move by walking, and the movement situation of the user always changes. For example, assuming a situation in which a position calculation device is attached to a part of the user's body and the user's position is obtained by inertial navigation calculation on a daily basis, the user can move on a bicycle in addition to walking. When the user moves on a car or moves on an elevator, the movement status of the user changes from time to time.

慣性センサーの計測誤差は、このようなユーザーの移動状況に応じて変化すると考えられる。つまり、歩行時であれば、ユーザーの足の運びや身体の上下動に起因して、慣性センサーの計測誤差は大きくなる傾向がある。しかし、ユーザーが静止している状況や身体的運動が不要の何らかの移動体に乗っている状況であれば、慣性センサーの計測誤差は小さくなる傾向がある。   It is considered that the measurement error of the inertial sensor changes according to such a movement situation of the user. That is, during walking, the measurement error of the inertial sensor tends to increase due to the user's foot movement and vertical movement of the body. However, the measurement error of the inertial sensor tends to be small if the user is standing still or riding a moving object that does not require physical exercise.

本発明は上述した課題に鑑みて為されたものであり、ユーザーの移動状況を考慮した新たな慣性航法演算の手法を提案することを目的とする。   The present invention has been made in view of the above-described problems, and an object of the present invention is to propose a new inertial navigation calculation method in consideration of a user's movement status.

以上の課題を解決するための第1の形態は、ユーザーの移動状況を判定することと、所定の慣性航法演算に係る演算結果及び演算過程の値の何れか(以下、「演算値」という。)に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、前記移動状況の判定結果に基づいて設定することと、前記パラメーターの値を用いて前記誤差推定処理を実行することと、前記誤差推定処理によって推定された誤差を用いて前記演算値を補正して前記慣性航法演算を行うことと、を含む慣性航法演算方法である。   In the first embodiment for solving the above-described problems, either the user's movement status is determined, or a calculation result or a calculation process value related to a predetermined inertial navigation calculation (hereinafter referred to as “calculation value”). Setting a parameter value related to a predetermined error estimation process for estimating an error included in () based on the determination result of the movement status; and executing the error estimation process using the parameter value; And performing the inertial navigation calculation by correcting the calculated value using the error estimated by the error estimation process.

また、他の形態として、ユーザーの移動状況を判定する判定部と、所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、前記移動状況の判定結果に基づいて設定する設定部と、前記パラメーターの値を用いて前記誤差推定処理を実行する誤差推定処理部と、前記誤差推定処理によって推定された誤差を用いて前記演算値を補正して前記慣性航法演算を行う慣性航法演算部と、を備えた慣性航法演算装置を構成することとしてもよい。   As another form, a determination unit that determines a user's movement status, and a parameter value related to a predetermined error estimation process that estimates an error included in a calculation value related to a predetermined inertial navigation calculation, A setting unit configured to set based on the determination result; an error estimation processing unit that executes the error estimation process using the parameter value; and the calculation value is corrected using the error estimated by the error estimation process. An inertial navigation calculation device including an inertial navigation calculation unit that performs the inertial navigation calculation may be configured.

この第1の形態等によれば、ユーザーの移動状況を判定し、所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、移動状況の判定結果に基づいて設定する。これにより、ユーザーの移動状況に基づいて、誤差推定処理に係るパラメーターの値を適正化し、演算値に含まれる誤差を正しく推定できる。これによって、より正確な位置を算出できる新たな慣性航法演算の手法を実現できる。   According to the first aspect and the like, the user's movement situation is determined, and the parameter value related to the predetermined error estimation process for estimating the error included in the calculation value related to the predetermined inertial navigation calculation is determined. Set based on the results. Thereby, based on a user's movement condition, the value of the parameter which concerns on an error estimation process is optimized, and the error contained in a calculation value can be estimated correctly. As a result, a new inertial navigation calculation method capable of calculating a more accurate position can be realized.

また、第2の形態として、第1の形態の慣性航法演算方法において、前記慣性航法演算は、前記ユーザーの加速度の計測値を用いた航法演算であり、前記誤差推定処理は、前記パラメーターを前記計測値の誤差に基づくパラメーターとするカルマンフィルター処理である、慣性航法演算方法を構成することとしてもよい。   Further, as a second mode, in the inertial navigation calculation method according to the first mode, the inertial navigation calculation is a navigation calculation using a measured value of the acceleration of the user, and the error estimation process includes the parameter An inertial navigation calculation method, which is a Kalman filter process using a parameter based on an error of a measurement value, may be configured.

この第2の形態によれば、慣性航法演算は、ユーザーの加速度の計測値を用いた航法演算であるが、この加速度の計測値には誤差が含まれ得る。そこで、移動状況の判定結果に基づいて設定するパラメーターを、加速度の計測値の誤差に基づくパラメーターとする。そして、この計測値の誤差に基づくパラメーターとするカルマンフィルター処理を実行することで、演算値に含まれる誤差を正しく見積もることが可能となる。   According to the second embodiment, the inertial navigation calculation is a navigation calculation using a measurement value of the user's acceleration, but the measurement value of the acceleration may include an error. Therefore, a parameter set based on the determination result of the movement state is a parameter based on an error in the acceleration measurement value. Then, by executing the Kalman filter process using the parameter based on the error of the measurement value, it is possible to correctly estimate the error included in the calculated value.

また、第3の形態として、第2の形態の慣性航法演算方法において、前記パラメーターを、所定の空間座標系を規定する各軸に係るパラメーターを含むこととし、前記設定することは、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づき前記パラメーターの値を設定することを含む、慣性航法演算方法を構成することとしてもよい。   Further, as a third form, in the inertial navigation calculation method of the second form, the parameter includes a parameter relating to each axis defining a predetermined spatial coordinate system, and the setting is performed in the direction of gravity. An inertial navigation calculation method including setting the value of the parameter based on the fact that the error variance is larger than the error variance in the other direction may be configured.

例えば、ユーザーが歩行する際には身体が上下動するため、上下方向の加速度の計測値に含まれる誤差は大きくなり、その分散も大きくなる傾向がある。そこで、第3の形態のように、所定の空間座標系において、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づきパラメーターの値を設定する。これにより、演算値に含まれる誤差をより正しく見積もることが可能となる。   For example, when the user walks, the body moves up and down, so that the error included in the measured value of acceleration in the vertical direction tends to increase and the variance tends to increase. Therefore, as in the third embodiment, parameter values are set based on the fact that the variance of errors in the gravitational direction is greater than the variance of errors in other directions in a predetermined spatial coordinate system. This makes it possible to more accurately estimate the error included in the calculated value.

また、第4の形態として、第3の形態の慣性航法演算方法において、前記移動状況を判定することは、少なくとも歩行状況及び静止状況の何れであるかを判定することを含み、前記設定することは、重力方向の誤差の分散が、前記移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づき前記パラメーターの値を設定することを含む、慣性航法演算方法を構成することとしてもよい。   In addition, as a fourth mode, in the inertial navigation calculation method according to the third mode, the determination of the moving state includes determining whether it is at least a walking state or a stationary state, and the setting is performed. An inertial navigation calculation including setting the value of the parameter based on the fact that the variance of the error in the gravitational direction is larger when the determination result of the moving situation is a walking situation than in a stationary situation A method may be configured.

ユーザーが歩行している状況では、静止している状況と比べて重力方向の誤差が大きくなり、その分散も大きくなる傾向がある。そこで、第4の形態のように、少なくとも歩行状況及び静止状況の何れであるかを判定する。そして、重力方向の誤差の分散が、移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づきパラメーターの値を設定することで、演算値に含まれる誤差をより正しく見積もることが可能となる。   In the situation where the user is walking, the error in the direction of gravity is larger and the variance tends to be larger than in the situation where the user is stationary. Therefore, as in the fourth embodiment, it is determined whether the situation is at least a walking situation or a stationary situation. Then, by setting the parameter value based on the fact that the variance of the error in the gravitational direction is larger than that in the stationary situation when the judgment result of the moving situation is the walking situation, the error included in the calculated value Can be estimated more accurately.

また、第5の形態として、第2〜第4の何れかの形態の慣性航法演算方法において、前記移動状況を判定することは、少なくとも歩行状況であるかを判定することを含み、前記移動状況の判定結果が歩行状況である場合に、前記ユーザーの上下方向の加速度の計測値に基づいて前記ユーザーの歩幅及び一歩所要時間を検出することと、前記歩幅及び一歩所要時間と、前記ユーザーの移動方向とに基づいて、歩行時における前記ユーザーの速度ベクトルを算出することと、を含み、前記誤差推定処理は、前記移動状況の判定結果が歩行状況である場合に、前記パラメーターを前記計測値の誤差に基づくパラメーターとし、前記速度ベクトルを観測値とするカルマンフィルター処理である、慣性航法演算方法を構成することとしてもよい。   Further, as a fifth aspect, in the inertial navigation calculation method according to any one of the second to fourth aspects, the determination of the movement state includes at least determining whether the movement state is present, and the movement state If the determination result is a walking situation, detecting the user's stride and one-step required time based on a measured value of acceleration in the vertical direction of the user, the stride and one-step required time, and the movement of the user And calculating the speed vector of the user during walking based on the direction, and the error estimation process sets the parameter to the measured value when the determination result of the movement state is a walking state. An inertial navigation calculation method, which is a Kalman filter process using the velocity vector as an observation value as a parameter based on an error, may be configured.

この第5の形態によれば、少なくとも歩行状況であるかを判定し、歩行状況である場合に、ユーザーの上下方向の加速度の計測値に基づいてユーザーの歩幅及び一歩所要時間を検出する。ユーザーの上下方向の加速度と歩幅との間には相関がある。また、上下方向の加速度の時系列変化のピーク値から、一歩所要時間を割り出すことができる。歩幅及び一歩所要時間と、ユーザーの移動方向とを用いれば、歩行時におけるユーザーの速度ベクトルを算出することができる。そして、移動状況の判定結果が歩行状況である場合に、パラメーターを加速度の計測値の誤差に基づくパラメーターとし、算出した速度ベクトルを観測値とするカルマンフィルター処理を行うことで、演算値に含まれる誤差を適切に推定することができる。   According to the fifth aspect, it is determined whether or not the user is in a walking situation, and when the user is in a walking situation, the user's stride and the time required for one step are detected based on the measured value of acceleration in the vertical direction of the user. There is a correlation between the user's vertical acceleration and stride. Further, the time required for one step can be determined from the peak value of the time-series change in the vertical acceleration. By using the stride and the time required for one step and the moving direction of the user, the speed vector of the user during walking can be calculated. Then, when the determination result of the moving situation is a walking situation, the parameter is a parameter based on the error of the acceleration measurement value, and the calculated value is included in the calculated value by performing the Kalman filter processing using the calculated velocity vector as an observation value. The error can be estimated appropriately.

また、第6の形態として、第2〜第5の何れかの形態の慣性航法演算方法において、前記移動状況を判定することは、少なくとも前記ユーザーが移動体へ乗った状況であるかを判定することを含み、前記誤差推定処理は、前記移動状況の判定結果が移動体へ乗った状況である場合に、前記パラメーターを前記計測値の誤差に基づくパラメーターとし、所定の制約速度ベクトルを観測値とするカルマンフィルター処理である、慣性航法演算方法を構成することとしてもよい。   Further, as a sixth aspect, in the inertial navigation calculation method according to any one of the second to fifth aspects, the determination of the movement state determines at least whether or not the user is on a moving body. The error estimation processing includes determining the parameter as a parameter based on the error of the measurement value and determining a predetermined constraint velocity vector as an observed value when the determination result of the movement condition is a condition of riding on a moving object. It is also possible to constitute an inertial navigation calculation method that is Kalman filter processing.

この第6の形態によれば、少なくともユーザーが移動体へ乗った状況であるかを判定する。そして、移動状況の判定結果が移動体へ乗った状況である場合に、パラメーターを計測値の誤差に基づくパラメーターとし、所定の制約速度ベクトルを観測値とするカルマンフィルター処理を行う。ユーザーが移動体へ乗った状況であれば、ユーザーの移動方向は移動体の移動方向と一致する。そのため、移動体の移動方向に基づいて制約速度ベクトルを設定することで、演算値に含まれる誤差を適切に推定することができる。   According to the sixth aspect, it is determined whether or not at least the user is on the moving body. Then, when the determination result of the moving state is a state of riding on the moving body, the Kalman filter process is performed using the parameter as a parameter based on the error of the measurement value and the predetermined restricted velocity vector as the observation value. If the user is on the moving body, the moving direction of the user matches the moving direction of the moving body. Therefore, the error included in the calculated value can be appropriately estimated by setting the restricted speed vector based on the moving direction of the moving body.

全体システムのシステム構成の説明図。Explanatory drawing of the system configuration | structure of the whole system. INSのシステム構成の説明図。1 is an explanatory diagram of a system configuration of INS. FIG. INS演算システムのシステム構成図。The system block diagram of an INS calculation system. 慣性航法演算装置の機能構成の一例を示すブロック図。The block diagram which shows an example of a function structure of an inertial navigation calculating apparatus. 入力誤差共分散行列設定用データのデータ構成の一例を示す図。The figure which shows an example of the data structure of the data for input error covariance matrix setting. 歩幅モデルデータのデータ構成の一例を示す図。The figure which shows an example of a data structure of step length model data. メイン処理の流れを示すフローチャート。The flowchart which shows the flow of a main process.

以下、図面を参照して、本発明の好適な実施形態の一例について説明する。但し、本発明を適用可能な実施形態が以下説明する実施形態に限定されるわけでないことは勿論である。   Hereinafter, an example of a preferred embodiment of the present invention will be described with reference to the drawings. However, it goes without saying that embodiments to which the present invention can be applied are not limited to the embodiments described below.

1.原理
1−1.全体システム
図1は、本実施形態における全体システム1の概略構成を示す図である。全体システム1は、INS(Inertial Navigation System)10と、移動状況判定部20と、観測情報生成部30と、パラメーター値設定部40と、誤差推定処理部50とを備えて構成される。但し、これらの機能部は一例として記載したものであり、必ずしもこれら全ての機能部を必須構成要素としなければならないわけではない。
1. Principle 1-1. Overall System FIG. 1 is a diagram showing a schematic configuration of an overall system 1 in the present embodiment. The overall system 1 includes an INS (Inertial Navigation System) 10, a movement status determination unit 20, an observation information generation unit 30, a parameter value setting unit 40, and an error estimation processing unit 50. However, these functional units are described as examples, and all of these functional units do not necessarily have to be essential components.

以下参照する図面では、センサーのブロックを二重の実線で示し、センサーの計測結果を利用して演算処理を行う処理ブロックを1本の実線で示す。処理ブロックは、例えば電子機器に搭載されるプロセッサー(ホストプロセッサー)が処理主体となる。なお、各処理ブロックの処理の主体は、本発明を適用するシステムに応じて適宜設定可能である。   In the drawings to be referred to below, a sensor block is indicated by a double solid line, and a processing block that performs arithmetic processing using the sensor measurement result is indicated by a single solid line. For example, a processor (host processor) mounted on an electronic device is a processing entity of the processing block. The subject of processing of each processing block can be appropriately set according to the system to which the present invention is applied.

本実施形態では、2種類の座標系を定義する。第1の座標系は、センサーに対応付けられた三次元直交座標系でなるローカル座標系(センサー座標系)である。本実施形態では、ローカル座標系の3軸をx軸、y軸及びz軸と表記する。   In this embodiment, two types of coordinate systems are defined. The first coordinate system is a local coordinate system (sensor coordinate system) composed of a three-dimensional orthogonal coordinate system associated with a sensor. In the present embodiment, the three axes of the local coordinate system are denoted as x-axis, y-axis, and z-axis.

第2の座標系は、慣性航法演算を行う際の基準とする空間座標系である絶対座標系である。絶対座標系は、例えば北東下座標系として知られるNED(North East Down)座標系であり、重力方向の軸を含む座標系である。本実施形態では、絶対座標系の3軸をX軸、Y軸及びZ軸と表記する。   The second coordinate system is an absolute coordinate system that is a spatial coordinate system used as a reference when performing inertial navigation calculation. The absolute coordinate system is, for example, an NED (North East Down) coordinate system known as a northeast lower coordinate system, and is a coordinate system including an axis in the gravity direction. In the present embodiment, the three axes of the absolute coordinate system are expressed as an X axis, a Y axis, and a Z axis.

加速度や速度には、大きさの他に方向がある。本明細書では、原則として、加速度や速度と言ったときは加速度や速度の大きさ(スカラー量)を表すものとし、加速度ベクトルや速度ベクトルと言ったときは大きさ(スカラー量)に加えて方向を表すものとする。また、各座標系において定義される諸量を明確にするため、各諸量を表す文言の先頭に座標系の種類を付して説明する。例えば、ローカル座標系で表した加速度ベクトルのことを「ローカル座標加速度ベクトル」と称し、絶対座標系で表した加速度ベクトルのことを「絶対座標加速度ベクトル」と称する。他の諸量についても同様である。   In addition to magnitude, acceleration and speed have directions. In this specification, in principle, acceleration and velocity refer to the magnitude of acceleration and velocity (scalar amount), and acceleration and velocity vectors refer to magnitude (scalar amount). It shall represent the direction. In addition, in order to clarify various quantities defined in each coordinate system, a description will be given with the type of the coordinate system added to the head of the word representing each quantity. For example, an acceleration vector expressed in the local coordinate system is referred to as “local coordinate acceleration vector”, and an acceleration vector expressed in the absolute coordinate system is referred to as “absolute coordinate acceleration vector”. The same applies to other quantities.

INS10は、慣性航法システムとして知られ、自立的な測位が可能に構成されたシステムである。INS10は、加速度センサー5Aやジャイロセンサー5Bといった慣性センサーや、これらの慣性センサーをパッケージ化したIMU(Inertial Measurement Unit)によって計測された計測結果に基づいて、位置や速度(速度ベクトル)、姿勢角等を演算して出力する。IMUは、慣性計測ユニットとして知られるセンサーユニットであり、ローカル座標系で表した加速度ベクトル及び角速度を計測して出力可能に構成されている。   The INS 10 is known as an inertial navigation system, and is a system configured to be capable of autonomous positioning. The INS 10 is based on measurement results measured by an inertial sensor such as an acceleration sensor 5A and a gyro sensor 5B, or an IMU (Inertial Measurement Unit) in which these inertial sensors are packaged. Is calculated and output. The IMU is a sensor unit known as an inertial measurement unit, and is configured to be able to measure and output an acceleration vector and an angular velocity expressed in a local coordinate system.

図2は、INS10のシステム構成の一例を示す図である。INS10は、慣性センサーとして、加速度センサー5Aと、ジャイロセンサー5Bとを有する。また、処理ブロックとして、姿勢情報算出部11と、絶対座標加速度ベクトル算出部13と、絶対座標速度ベクトル算出部15と、絶対座標位置算出部17と、重力算出部18と、補正部19とを有する。INS10は、誤差推定処理部50によって推定された誤差を用いて演算値を補正して慣性航法演算を行う慣性航法演算部である。   FIG. 2 is a diagram illustrating an example of a system configuration of the INS 10. The INS 10 includes an acceleration sensor 5A and a gyro sensor 5B as inertial sensors. As processing blocks, an attitude information calculation unit 11, an absolute coordinate acceleration vector calculation unit 13, an absolute coordinate velocity vector calculation unit 15, an absolute coordinate position calculation unit 17, a gravity calculation unit 18, and a correction unit 19 are provided. Have. The INS 10 is an inertial navigation calculation unit that performs an inertial navigation calculation by correcting the calculation value using the error estimated by the error estimation processing unit 50.

加速度センサー5Aは、加速度をローカル座標系で計測するセンサーである。また、ジャイロセンサー5Bは、角速度をローカル座標系で計測するセンサーである。これらのセンサーには、例えばMEMS(Micro Electro Mechanical Systems)の技術を利用したMEMSセンサーが用いられる。   The acceleration sensor 5A is a sensor that measures acceleration in a local coordinate system. The gyro sensor 5B is a sensor that measures the angular velocity in the local coordinate system. For these sensors, for example, MEMS sensors using the technology of MEMS (Micro Electro Mechanical Systems) are used.

姿勢情報算出部11は、ジャイロセンサー5Bによって計測された角速度と、姿勢情報記憶部11Aに記憶されている姿勢情報とを用いて、最新の姿勢情報を算出する。姿勢情報は、例えば、クォータニオンや方向余弦行列(DCM(Direction Cosine Matrix))、オイラー角といった、各種の姿勢表現に基づき定義される姿勢を示す情報のことを意味する。姿勢情報算出部11は、算出した最新の姿勢情報を姿勢情報記憶部11Aに記憶させる。   The posture information calculation unit 11 calculates the latest posture information using the angular velocity measured by the gyro sensor 5B and the posture information stored in the posture information storage unit 11A. The posture information means information indicating postures defined based on various posture expressions such as quaternions, direction cosine matrices (DCM), and Euler angles. The posture information calculation unit 11 stores the calculated latest posture information in the posture information storage unit 11A.

絶対座標加速度ベクトル算出部13は、加速度センサー5Aによって計測されたローカル座標加速度ベクトルと、姿勢情報算出部11から入力した姿勢情報とを用いて、最新の絶対座標加速度ベクトルを算出する。具体的には、ローカル座標系における加速度ベクトルを絶対座標系に座標変換し、最新の絶対座標加速度ベクトルを算出する。座標変換は公知の技術を適用可能であるため、説明を省略する。絶対座標加速度ベクトル算出部13は、算出した最新の絶対座標加速度ベクトルを絶対座標加速度ベクトル記憶部13Aに記憶させる。   The absolute coordinate acceleration vector calculation unit 13 calculates the latest absolute coordinate acceleration vector using the local coordinate acceleration vector measured by the acceleration sensor 5A and the posture information input from the posture information calculation unit 11. Specifically, the acceleration vector in the local coordinate system is coordinate-converted to the absolute coordinate system, and the latest absolute coordinate acceleration vector is calculated. A known technique can be applied to the coordinate conversion, and thus description thereof is omitted. The absolute coordinate acceleration vector calculation unit 13 stores the calculated latest absolute coordinate acceleration vector in the absolute coordinate acceleration vector storage unit 13A.

絶対座標速度ベクトル算出部15は、絶対座標加速度ベクトル算出部13から入力した絶対座標加速度ベクトルと、重力算出部18から入力した重力情報と、絶対座標速度ベクトル記憶部15Aに記憶された絶対座標速度ベクトルとを用いて、絶対座標速度ベクトルを算出する。この際、重力方向及びコリオリの力を重力情報に基づいて補正する。地球は楕円形をしているため、地球中心から見た緯度と地理学上の緯度とは異なる。そのため、重力方向についての補正が必要であり、地球は宇宙の慣性空間に対して回転しているため、コリオリの力の補正も必要となる。   The absolute coordinate velocity vector calculation unit 15 includes the absolute coordinate acceleration vector input from the absolute coordinate acceleration vector calculation unit 13, the gravity information input from the gravity calculation unit 18, and the absolute coordinate velocity stored in the absolute coordinate velocity vector storage unit 15A. An absolute coordinate velocity vector is calculated using the vector. At this time, the gravity direction and the Coriolis force are corrected based on the gravity information. Since the earth is elliptical, the latitude seen from the center of the earth is different from the geographical latitude. Therefore, it is necessary to correct the direction of gravity, and since the earth is rotating with respect to the inertial space of the universe, it is also necessary to correct the Coriolis force.

絶対座標速度ベクトル算出部15は、上記のように重力方向を加味して、絶対座標加速度ベクトルを積算して得られた相対速度ベクトルを、絶対座標速度ベクトル記憶部15Aに記憶された絶対座標速度ベクトルに加算することで最新の絶対座標速度ベクトルを算出する。そして、算出した最新の絶対座標速度ベクトル記憶部15Aに記憶させる。   The absolute coordinate velocity vector calculation unit 15 adds the relative velocity vector obtained by integrating the absolute coordinate acceleration vector in consideration of the direction of gravity as described above, and stores the absolute coordinate velocity stored in the absolute coordinate velocity vector storage unit 15A. The latest absolute coordinate velocity vector is calculated by adding to the vector. Then, the latest calculated absolute coordinate velocity vector storage unit 15A is stored.

絶対座標位置算出部17は、絶対座標速度ベクトル算出部15から入力した絶対座標速度ベクトルを積算して得られた相対位置ベクトルを、絶対座標位置記憶部17Aに記憶された絶対座標位置に加算することで絶対座標位置を算出する。そして、算出した最新の絶対位置座標を絶対座標位置記憶部17Aに記憶させる。   The absolute coordinate position calculation unit 17 adds the relative position vector obtained by integrating the absolute coordinate velocity vector input from the absolute coordinate velocity vector calculation unit 15 to the absolute coordinate position stored in the absolute coordinate position storage unit 17A. Thus, the absolute coordinate position is calculated. Then, the calculated latest absolute position coordinates are stored in the absolute coordinate position storage unit 17A.

重力算出部18は、絶対座標位置算出部17から入力した絶対座標位置を用いて、重力情報を算出して、絶対座標速度ベクトル算出部15に出力する。   The gravity calculation unit 18 calculates gravity information using the absolute coordinate position input from the absolute coordinate position calculation unit 17 and outputs the gravity information to the absolute coordinate velocity vector calculation unit 15.

補正部19は、誤差推定処理部50によって推定された誤差情報を用いて、各算出部で算出された積算値を補正する。具体的には、姿勢情報記憶部11Aに記憶された姿勢情報を、誤差情報に含まれる姿勢角誤差を用いて補正する。また、ジャイロセンサー5Bからの角速度計測値と加速度センサー5Aからの加速度計測値を、誤差情報に含まれる角速度バイアスと加速度バイアスを用いてそれぞれ補正する。   The correction unit 19 corrects the integrated value calculated by each calculation unit using the error information estimated by the error estimation processing unit 50. Specifically, the posture information stored in the posture information storage unit 11A is corrected using the posture angle error included in the error information. Further, the angular velocity measurement value from the gyro sensor 5B and the acceleration measurement value from the acceleration sensor 5A are respectively corrected using the angular velocity bias and the acceleration bias included in the error information.

また、絶対座標速度ベクトル記憶部15Aに記憶された絶対座標速度ベクトルを、誤差情報に含まれる速度ベクトル誤差を用いて補正し、絶対座標位置記憶部17Aに記憶された絶対座標位置を、誤差情報に含まれる位置誤差を用いて補正する。   Further, the absolute coordinate velocity vector stored in the absolute coordinate velocity vector storage unit 15A is corrected using the velocity vector error included in the error information, and the absolute coordinate position stored in the absolute coordinate position storage unit 17A is converted into error information. Is corrected using the position error included in.

INS10からは、最終的に、姿勢情報と、絶対座標速度ベクトルと、絶対座標位置と、加速度ベクトルと、角速度との演算値が出力される。これらの演算値のうち、絶対座標位置は、所定の慣性航法演算に係る演算結果の値の一例である。また、それ以外の諸量は、所定の慣性航法演算に係る演算過程の値の一例である。   INS 10 finally outputs calculation values of posture information, absolute coordinate velocity vector, absolute coordinate position, acceleration vector, and angular velocity. Among these calculated values, the absolute coordinate position is an example of a value of a calculation result related to a predetermined inertial navigation calculation. The other quantities are examples of values of a calculation process related to a predetermined inertial navigation calculation.

また、図2では図示を省略しているが、INS10は、加速度センサー5Aからの加速度計測値に含まれる誤差(以下、「加速度誤差」と称す。)と、ジャイロセンサー5Bからの角速度計測値に含まれる誤差(以下、「角速度誤差」と称す。)とを演算し、それらの演算値を誤差推定処理部50に出力する。   Although not shown in FIG. 2, the INS 10 includes an error included in the acceleration measurement value from the acceleration sensor 5A (hereinafter referred to as “acceleration error”) and an angular velocity measurement value from the gyro sensor 5B. The included error (hereinafter referred to as “angular velocity error”) is calculated, and the calculated value is output to the error estimation processing unit 50.

移動状況判定部20は、ユーザーの移動状況を判定する。具体的には、移動状況判定部20は、例えばINS10によって演算されたINS演算結果(姿勢情報、速度ベクトル、位置、加速度、角速度)等の情報に基づいて、ユーザーが歩行している状況(以下、「歩行状況」と称す。)であるか、静止している状況(以下、「静止状況」と称す。)であるか、ユーザーが移動体へ乗った状況(以下、「乗車状況」と称す。)であるかを判定する。移動体としては、四輪自動車や二輪自動車、電車、自転車、エレベーターといった、ユーザーが日常的に利用する移動体を想定することができる。   The movement status determination unit 20 determines the movement status of the user. Specifically, the movement status determination unit 20 is based on information such as an INS calculation result (posture information, velocity vector, position, acceleration, angular velocity) calculated by, for example, the INS 10 (hereinafter referred to as a user walking). , “Walking situation”), stationary situation (hereinafter referred to as “stationary situation”), or situation where the user gets on the moving body (hereinafter referred to as “ride situation”). .). As the moving body, it is possible to assume a moving body used by the user on a daily basis, such as a four-wheeled vehicle, a two-wheeled vehicle, a train, a bicycle, and an elevator.

静止状況では、原理的には、加速度ベクトルや角速度、速度ベクトル等の値がゼロとなるため、この状態を検知することで、静止状況を判定できる。歩行状況では、例えば上下方向の加速度が非常に短い周期で振動する。そのため、この状態を検知することで、歩行状況を判定できる。また、乗車状況では、ユーザーが静止しているのであれば、原理的には、移動体の進行方向にのみ加速度が検出される。そのため、例えば、一定時間以上、同一の軸方向に対して、略同一の大きさの加速度が検知されたか否かを判定することで、ユーザーが移動体に乗っている状況であるか否かが判定できる。   In a stationary situation, in principle, values such as an acceleration vector, an angular velocity, and a velocity vector are zero, so that the stationary situation can be determined by detecting this state. In a walking situation, for example, the vertical acceleration vibrates at a very short period. Therefore, the walking situation can be determined by detecting this state. In a riding situation, if the user is stationary, in principle, acceleration is detected only in the traveling direction of the moving body. Therefore, for example, it is determined whether or not the user is on the moving body by determining whether or not accelerations of substantially the same magnitude are detected for the same axial direction for a certain time or more. Can be judged.

図1に戻り、観測情報生成部30は、移動状況判定部20の判定結果に基づいて、誤差推定処理部50が誤差推定処理を行う際に用いる観測情報を生成する。   Returning to FIG. 1, the observation information generation unit 30 generates observation information used when the error estimation processing unit 50 performs the error estimation processing based on the determination result of the movement status determination unit 20.

具体的には、ユーザーの移動状況が「歩行状況」である場合は、ユーザーの上下方向の加速度に基づいて、歩幅及び一歩に要した時間(以下、「一歩所要時間」と称す。)を検出する。そして、歩幅と、一歩所要時間と、ユーザーの移動方向とに基づいて、ユーザーの歩行時における速度ベクトル(以下、「歩行時速度ベクトル」と称す。)を算出し、それを観測情報とする。ユーザーの移動方向は、例えば、地磁気センサー等の方位センサーを装置に搭載しておくことで計測してもよいし、衛星測位システムの一種であるGPS(Global Positioning System)を利用したGPSセンサーを装置に搭載しておくことで計測してもよい。   Specifically, when the user's movement state is “walking state”, the stride and the time required for one step (hereinafter referred to as “one step required time”) are detected based on the vertical acceleration of the user. To do. Then, based on the stride, the time required for one step, and the moving direction of the user, a speed vector when the user is walking (hereinafter referred to as a “speed vector during walking”) is calculated and used as observation information. The direction of movement of the user may be measured, for example, by installing an orientation sensor such as a geomagnetic sensor in the device, or a GPS sensor using a GPS (Global Positioning System) which is a kind of satellite positioning system. It may be measured by installing it in

ユーザーの移動状況が「静止状況」である場合は、理想的にはユーザーの速度がゼロ(速度ベクトルがゼロベクトル)となるはずである。そのため、例えば、「絶対座標系におけるユーザーの各軸の速度成分=0」を観測情報として与えることができる。   If the user's movement status is “stationary”, the user's speed should ideally be zero (the velocity vector is zero vector). Therefore, for example, “the velocity component of each axis of the user in the absolute coordinate system = 0” can be given as the observation information.

ユーザーの移動状況が「乗車状況」である場合は、ユーザーが乗っている移動体の進行方向を検出して、所定の制約速度ベクトルを観測情報とする。本実施形態においては、移動体として四輪自動車を想定する。通常、四輪自動車はジャンプや横滑りすることはないため、四輪自動車に対する上下方向や左右方向の速度成分をゼロと仮定し、「移動体の縦横方向の速度成分=0」を観測情報として与える。   When the movement status of the user is “boarding status”, the traveling direction of the moving body on which the user is riding is detected, and a predetermined restricted velocity vector is used as observation information. In the present embodiment, a four-wheeled vehicle is assumed as the moving body. Normally, four-wheeled vehicles do not jump or skid, so it is assumed that the vertical and horizontal speed components of a four-wheeled vehicle are zero, and the “velocity component in the vertical and horizontal directions of the moving object = 0” is given as observation information. .

なお、移動体として四輪自動車以外を想定することとしてもよいのは勿論である。例えば、エレベーターを考えた場合、エレベーターは上下方向以外に移動することはないため、「移動体の前後左右方向の速度成分=0」を観測情報として与えることができる。   Of course, the moving body may be assumed to be other than a four-wheeled vehicle. For example, when an elevator is considered, since the elevator does not move in any direction other than the vertical direction, “velocity component in the longitudinal direction of the moving body = 0” can be given as observation information.

パラメーター値設定部40は、INS10が行う慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を設定する。このパラメーター値の設定方法については、詳細に後述する。   The parameter value setting unit 40 sets a parameter value related to a predetermined error estimation process for estimating an error included in a calculated value related to the inertial navigation calculation performed by the INS 10. The method for setting this parameter value will be described later in detail.

誤差推定処理部50は、観測情報生成部30によって生成された観測情報を用いて、INS10によって演算された演算値に含まれる誤差を推定する所定の誤差推定処理を行う。誤差推定処理として、本実施形態では、カルマンフィルター処理を適用する場合を一例として説明する。   The error estimation processing unit 50 uses the observation information generated by the observation information generation unit 30 to perform a predetermined error estimation process for estimating an error included in the calculated value calculated by the INS 10. As the error estimation processing, in the present embodiment, a case where Kalman filter processing is applied will be described as an example.

具体的には、INS10により演算される姿勢情報の誤差(姿勢誤差)、絶対座標速度ベクトルの誤差(速度ベクトル誤差)、絶対座標位置の誤差(位置誤差)、加速度センサー5Aのバイアス(加速度バイアス)及びジャイロセンサー5Bのバイアス(ジャイロバイアス)を成分とする状態ベクトル「x」を設定する。また、INS10から演算値として出力される加速度誤差及び角速度誤差を入力誤差ベクトル「u」として設定する。また、観測情報生成部30によって生成された観測情報を観測ベクトル「z」として設定する。   Specifically, attitude information error (attitude error) calculated by INS10, absolute coordinate velocity vector error (velocity vector error), absolute coordinate position error (position error), acceleration sensor 5A bias (acceleration bias) And a state vector “x” having a component of the bias (gyro bias) of the gyro sensor 5B as a component. Further, an acceleration error and an angular velocity error output as calculation values from the INS 10 are set as an input error vector “u”. Further, the observation information generated by the observation information generation unit 30 is set as an observation vector “z”.

上記のように状態ベクトル「x」、入力誤差ベクトル「u」及び観測ベクトル「z」を設定し、カルマンフィルターの理論に基づく予測演算(時刻更新)及び補正演算(観測更新)を行って、状態ベクトル「x」の推定値(状態推定値)を求める。状態推定値の各成分が、慣性航法演算に係る演算値に含まれる誤差となる。   As described above, the state vector “x”, the input error vector “u”, and the observation vector “z” are set, the prediction calculation (time update) and the correction calculation (observation update) based on the Kalman filter theory are performed, and the state An estimated value (state estimated value) of the vector “x” is obtained. Each component of the state estimated value becomes an error included in the calculated value related to the inertial navigation calculation.

誤差推定処理部50によって推定された誤差情報は、INS10にフィードバックされる。そして、前述したように、このフィードバックされた誤差情報に基づいて、INS10の各処理ブロックで実行される積算が、誤差情報を用いて補正部19によって補正される。つまり、誤差推定処理によって推定された誤差を用いて演算値が補正されて慣性航法演算が行われる。   The error information estimated by the error estimation processing unit 50 is fed back to the INS 10. As described above, based on the fed back error information, the integration executed in each processing block of the INS 10 is corrected by the correction unit 19 using the error information. That is, the calculated value is corrected using the error estimated by the error estimation process, and the inertial navigation calculation is performed.

1−2.パラメーター値の設定
本実施形態において、カルマンフィルター処理における状態方程式は、次式(1)で与えられる。

Figure 2013108865
1-2. Setting of Parameter Value In this embodiment, the state equation in Kalman filter processing is given by the following equation (1).
Figure 2013108865

ここで、「x」は状態ベクトルであり、「u」は入力誤差ベクトルであり、「v」はプロセス誤差ベクトルである。また、「F」、「A」、「B」は、それぞれのベクトルを状態空間に変換するための行列である。   Here, “x” is a state vector, “u” is an input error vector, and “v” is a process error vector. “F”, “A”, and “B” are matrices for converting each vector into a state space.

本実施形態において、入力誤差ベクトル「u」は、加速度センサー5Aによって計測された3次元の加速度(加速度計測値)及びジャイロセンサー5Bによって計測された3次元の角速度(角速度計測値)の合計6成分のそれぞれの誤差とする。ユーザーの歩行時には、加速度センサー5Aやジャイロセンサー5Bといった慣性センサーは、歩行運動によって絶えず振動や衝撃を受ける。このため、これらの慣性センサーからの出力値は、ユーザーの真の加速度や角速度を示したものであるとは限らず、大きな誤差を含み得る。また、それらの誤差も大きくばらつく傾向がある。   In the present embodiment, the input error vector “u” is a total of six components of the three-dimensional acceleration (acceleration measurement value) measured by the acceleration sensor 5A and the three-dimensional angular velocity (angular velocity measurement value) measured by the gyro sensor 5B. Let each error be. When the user walks, inertial sensors such as the acceleration sensor 5A and the gyro sensor 5B are constantly subjected to vibrations and shocks by walking motion. For this reason, the output values from these inertial sensors do not necessarily indicate the true acceleration or angular velocity of the user, and may include large errors. Also, these errors tend to vary greatly.

そこで、入力誤差ベクトル「u」の各成分の共分散を考える。このとき、入力誤差ベクトル「u」の各成分の共分散は、角速度及び加速度の誤差の分散値を対角成分とする対角行列で表すことができる。詳細には、入力誤差の共分散を表す行列として、次式(2)に示すような入力誤差ベクトル「u」の共分散行列「Qu」(以下、「入力誤差共分散行列」と称す。)を定義することができる。

Figure 2013108865
Therefore, consider the covariance of each component of the input error vector “u”. At this time, the covariance of each component of the input error vector “u” can be represented by a diagonal matrix with the angular velocity and acceleration error variance values as diagonal components. Specifically, as a matrix representing the covariance of the input error, a covariance matrix “Qu” of the input error vector “u” as shown in the following equation (2) (hereinafter referred to as “input error covariance matrix”): Can be defined.
Figure 2013108865

式(2)において、「σgx」、「σgy」及び「σgz」それぞれの二乗値は、ローカル座標系のx軸、y軸及びz軸周りの角速度の誤差の分散値である。また、「σax」、「σay」及び「σaz」それぞれの二乗値は、それぞれローカル座標系のx軸、y軸及びz軸の加速度の誤差の分散値である。 In equation (2), the square values of “σ gx ”, “σ gy ”, and “σ gz ” are variance values of errors in angular velocities around the x-axis, y-axis, and z-axis of the local coordinate system. In addition, the square values of “σ ax ”, “σ ay ”, and “σ az ” are variance values of the error of acceleration on the x-axis, y-axis, and z-axis of the local coordinate system, respectively.

また、式(1)において、「v」は、角速度及び加速度に含まれるプロセス誤差を成分とするプロセス誤差ベクトルであり、システムに固有のノイズである。プロセス誤差ベクトル「v」の各成分の共分散は、角速度及び加速度のバイアスの分散値を対角成分とする対角行列で表すことができる。具体的には、次式(3)に示すようなプロセス誤差ベクトル「v」の共分散行列「Qv」を定義することができる。

Figure 2013108865
In Expression (1), “v” is a process error vector whose component is a process error included in angular velocity and acceleration, and is noise inherent in the system. The covariance of each component of the process error vector “v” can be represented by a diagonal matrix with the angular velocity and acceleration bias variance values as diagonal components. Specifically, a covariance matrix “Qv” of the process error vector “v” as shown in the following equation (3) can be defined.
Figure 2013108865

式(3)において、「σgbx」、「σgby」及び「σgbz」それぞれの二乗値は、ローカル座標系のx軸、y軸及びz軸周りの角速度のバイアスの分散値である。また、「σabx」、「σaby」及び「σabz」それぞれの二乗値は、ローカル座標系のx軸、y軸及びz軸の加速度のバイアスの分散値である。 In Equation (3), the square values of “σ gbx ”, “σ gby ”, and “σ gbz ” are dispersion values of the bias of the angular velocity around the x-axis, y-axis, and z-axis of the local coordinate system. Also, the square values of “σ abx ”, “σ aby ”, and “σ abz ” are variance values of the bias of acceleration on the x-axis, y-axis, and z-axis of the local coordinate system.

このとき、式(1)の状態方程式を離散時間系の状態方程式として書き直すと、次式(4)のようになる。

Figure 2013108865
At this time, when the state equation of equation (1) is rewritten as a state equation of a discrete time system, the following equation (4) is obtained.
Figure 2013108865

但し、下付きの添え字の「k」は、k番目の演算ステップであることを示す。また、右辺第1項の「φk」は、ステップ「k」からステップ「k+1」への状態ベクトル「x」の遷移を表す状態遷移行列である。右辺第2項の「wu」は離散化後の入力誤差を示し、右辺第3項の「wv」は離散化後のプロセス誤差を示す。 However, the subscript “k” indicates the k-th calculation step. Also, “φ k ” in the first term on the right side is a state transition matrix that represents the transition of the state vector “x” from step “k” to step “k + 1”. “Wu” in the second term on the right side indicates an input error after discretization, and “wv” in the third term on the right side indicates a process error after discretization.

このとき、状態ベクトル「x」の誤差共分散「P」の更新式は、次式(5)のように書き表すことができる。

Figure 2013108865
At this time, the update equation of the error covariance “P” of the state vector “x” can be expressed as the following equation (5).
Figure 2013108865

但し、「QUk」は入力誤差「wu」の共分散行列であり、「QVk」はプロセス誤差「wv」の共分散行列である。本実施形態において特徴的であるのは、式(5)において、誤差を表すパラメーター(誤差パラメーター)として、プロセス誤差「wv」の共分散行列「QVk」の他に、入力誤差「wu」の共分散行列「QUk」を加えた点にある。 However, “QU k ” is a covariance matrix of input error “wu”, and “QV k ” is a covariance matrix of process error “wv”. What is characteristic in the present embodiment is that in equation (5), as a parameter (error parameter) representing an error, in addition to the covariance matrix “QV k ” of the process error “wv”, the input error “wu” The covariance matrix “QU k ” is added.

そして、本実施形態では、ユーザーの移動状況の判定結果に基づいて、異なる入力誤差共分散行列「Qu」を設定することによって、「QUk」を調整することができる。ここで、入力誤差共分散行列「Qu」は、パラメーター値設定部40が移動状況判定部20の判定結果に基づいて設定するパラメーターであり、ユーザーの加速度及び角速度の計測値の誤差に基づくパラメーターの一例である。なお、プロセス誤差「wv」の共分散行列「QVk」については、例えば固定値を設定することができる。 In this embodiment, “QU k ” can be adjusted by setting a different input error covariance matrix “Qu” based on the determination result of the user's movement status. Here, the input error covariance matrix “Qu” is a parameter set by the parameter value setting unit 40 based on the determination result of the movement state determination unit 20, and is a parameter based on the error of the measurement values of the acceleration and angular velocity of the user. It is an example. For example, a fixed value can be set for the covariance matrix “QV k ” of the process error “wv”.

具体的に説明する。ユーザーの移動状況に応じて、大小関係が異なる分散値(パラメーター値)を設定する。歩行状況では、ユーザーが静止している状況と比べて、加速度センサーにより計測される加速度に誤差が混入し易く、誤差の分散(ばらつき)も大きくなる傾向がある。歩行時には、ユーザーが腕や足を前後に動かし、身体を上下動させながら進行するため、振動や衝撃による影響を受け易いためである。そのため、移動状況の判定結果が歩行状況である場合は、各軸の誤差の分散値を静止状況の場合と比べて大きく設定する。   This will be specifically described. Set dispersion values (parameter values) with different magnitudes depending on the user's movement status. In a walking situation, compared to a situation where the user is stationary, an error is likely to be mixed into the acceleration measured by the acceleration sensor, and the variance (variation) of the error tends to increase. This is because during walking, the user moves while moving his / her arms and legs back and forth and moves up and down, so that the user is easily affected by vibration and impact. Therefore, when the determination result of the movement situation is the walking situation, the error variance value of each axis is set larger than that in the stationary situation.

また、乗車状況については、静止状況と比べて相対的に大きな分散値を設定する。乗車状況では、たとえユーザーが静止していたとしても、移動体の振動や衝撃に伴い、ユーザーの身体も振動や衝撃による影響を受ける。その結果、静止状況と比べて慣性センサーの計測結果に誤差が混入し易く、誤差の分散も大きくなる傾向があるためである。   In addition, a relatively large variance value is set for the boarding situation as compared to the stationary situation. In the riding situation, even if the user is stationary, the user's body is also affected by the vibration and impact due to the vibration and impact of the moving body. As a result, an error is likely to be mixed in the measurement result of the inertial sensor as compared with the stationary state, and the variance of the error tends to increase.

また、各移動状況について、加速度に対する分散値を、角速度に対する分散値と比べて相対的に大きく設定することとしてもよい。これは、角速度と比べて加速度の方が誤差の影響を受け易いためである。つまり、歩行時や静止時には、ユーザーの姿勢はそれほど大きくは変化しないため、ジャイロセンサーにより計測される角速度に大きな誤差が混入するとは考えにくいためである。   Also, for each movement situation, the variance value for acceleration may be set relatively large compared to the variance value for angular velocity. This is because acceleration is more susceptible to errors than angular velocity. That is, the user's posture does not change so much when walking or standing still, and it is unlikely that a large error will be mixed in the angular velocity measured by the gyro sensor.

なお、加速度及び角速度の各成分について、x軸〜z軸に係る分散値として全て同じ値を設定することとしてもよいが、座標軸毎に異なる値を設定することとしてもよい。例えば、移動状況に関わらず、重力方向の誤差の分散値を他方向の誤差の分散値より大きく設定することとしてもよい。これは、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づきパラメーターの値を設定することに相当する。   In addition, about each component of acceleration and angular velocity, it is good also as setting all the same values as the dispersion value which concerns on an x-axis-z-axis, but it is good also as setting a different value for every coordinate axis. For example, the variance value of the error in the direction of gravity may be set larger than the variance value of the error in the other direction regardless of the movement state. This corresponds to setting the parameter value based on the fact that the variance of the error in the direction of gravity is greater than the variance of the error in the other direction.

また、歩行時には、特にユーザーの体の上下動に起因して、重力方向に誤差が重畳し易い。そこで、重力方向の誤差の分散値を、移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きく設定することとしてもよい。これは、重力方向の誤差の分散が、移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づきパラメーターの値を設定することに相当する。   Further, when walking, an error is likely to be superimposed in the direction of gravity, particularly due to the vertical movement of the user's body. Therefore, the variance value of the error in the gravity direction may be set larger when the determination result of the movement situation is the walking situation than in the stationary situation. This is equivalent to setting the parameter value based on the fact that the variance of the error in the direction of gravity is greater when the determination result of the movement situation is the walking situation than in the stationary situation.

これらの場合は、例えば、ローカル座標系の各検出軸のうち、重力方向の軸に最も近い軸を感度軸として検出する。そして、検出した感度軸の誤差の分散値を、他の検出軸の誤差の分散値よりも大きく設定する。つまり、慣性演算装置(慣性センサー)がユーザーに装着された状態において、ローカル座標系と絶対座標系との相対関係を判定し、その相対関係に基づいて、特定方向の検出軸に対する誤差の分散値を大きく設定する。   In these cases, for example, the axis closest to the axis in the gravitational direction among the detection axes in the local coordinate system is detected as the sensitivity axis. Then, the error variance value of the detected sensitivity axis is set larger than the error variance value of the other detection axes. In other words, with the inertial calculation device (inertial sensor) attached to the user, the relative relationship between the local coordinate system and the absolute coordinate system is determined, and based on the relative relationship, the error variance value for the detection axis in a specific direction Set a larger value.

入力誤差共分散行列「Qu」はローカル座標系を基準として定められる行列であるが、上記のようにローカル座標系と絶対座標系との相対関係を判定することで、入力誤差共分散行列「Qu」は、空間座標系を規定する各軸に係るパラメーターを含む行列と等価となる。重力方向に対応する感度軸を判定した上で、その感度軸に対する加速度の誤差の分散値を、他の検出軸に対する加速度の誤差の分散値よりも大きく設定する。   The input error covariance matrix “Qu” is a matrix determined with reference to the local coordinate system. As described above, the input error covariance matrix “Qu” is determined by determining the relative relationship between the local coordinate system and the absolute coordinate system. "Is equivalent to a matrix including parameters related to each axis defining the spatial coordinate system. After determining the sensitivity axis corresponding to the gravity direction, the variance value of the acceleration error with respect to the sensitivity axis is set larger than the variance value of the acceleration error with respect to the other detection axes.

上記のように移動状況の判定結果に基づいて入力誤差共分散行列「Qu」を設定したならば、式(4)及び(5)に従って、状態ベクトル「x」及び誤差共分散「P」の予測演算を行う。そして、観測情報生成部30によって観測情報が生成・出力されるタイミングで、従来公知のカルマンフィルターの補正演算の演算式(観測更新の演算式)に従って、状態ベクトル「x」及び誤差共分散「P」の補正演算を行う。   If the input error covariance matrix “Qu” is set based on the determination result of the movement situation as described above, the prediction of the state vector “x” and the error covariance “P” is performed according to the equations (4) and (5). Perform the operation. Then, at the timing when the observation information is generated and output by the observation information generation unit 30, the state vector “x” and the error covariance “P” according to the conventionally known Kalman filter correction calculation formula (observation update calculation formula). ”Is performed.

2.実施例
次に、原理で説明した慣性航法演算装置を適用した電子機器の実施例について説明する。但し、本発明を適用可能な実施例が以下説明する実施例に限定されるわけではないことは勿論である。
2. Example Next, an example of an electronic apparatus to which the inertial navigation calculation device described in the principle is applied will be described. However, it goes without saying that the embodiments to which the present invention can be applied are not limited to the embodiments described below.

図3は、本実施例におけるINS演算システムの概略構成の一例を示す図である。INS演算システムは、人間に搭載される慣性航法演算装置1000を備えて構成される。慣性航法演算装置1000は、例えばユーザーの右腰に装着して利用される。ユーザーがウオーキングやランニング等の運動を行う際に、右腰に装置を装着した状態で運動を行う。位置等の情報を履歴的に記憶しておくことで、ユーザーは後から移動経路を確認したり、慣性航法演算装置1000をパソコン等に接続することで、運動記録等の各種の情報の編集を行うことができる。   FIG. 3 is a diagram illustrating an example of a schematic configuration of the INS calculation system according to the present embodiment. The INS calculation system includes an inertial navigation calculation device 1000 mounted on a human. The inertial navigation calculation device 1000 is used, for example, by being worn on the user's right waist. When a user performs an exercise such as walking or running, the user exercises with the device attached to the right waist. By storing information such as position historically, users can edit various information such as exercise records by checking the movement route later or connecting the inertial navigation calculation device 1000 to a personal computer or the like. It can be carried out.

また、本実施例では、ユーザーがウオーキングやランニング等の運動を行う場合に限らず、日常的に慣性航法演算装置を装着して、位置等の演算を行う場合も想定している。つまり、移動状況として歩行状況ばかりでなく、各種の移動体(自動車や自転車、エレベーター等)に乗った状態で移動する状況を想定する。   Further, in the present embodiment, not only when the user performs exercises such as walking and running, it is assumed that the inertial navigation calculation device is worn on a daily basis to calculate the position and the like. That is, not only the walking situation but also a situation where the user moves while riding on various moving bodies (automobiles, bicycles, elevators, etc.) is assumed.

慣性航法演算装置1000は、加速度センサー5A及びジャイロセンサー5Bを有するセンサーユニットとしてのIMU500を具備し、IMU500に対応付けられたローカル座標系における加速度及び角速度を計測する。また、慣性航法演算装置1000は、参照値生成装置を有し、ユーザーの位置、速度ベクトル及び姿勢角といった各諸量の検出値を補正する際の参照値を生成する。そして、生成した参照値を用いて、原理で説明したようにINS演算結果を補正する。   Inertial navigation calculation apparatus 1000 includes IMU 500 as a sensor unit having acceleration sensor 5A and gyro sensor 5B, and measures acceleration and angular velocity in a local coordinate system associated with IMU 500. In addition, the inertial navigation calculation apparatus 1000 includes a reference value generation apparatus, and generates a reference value when correcting detected values of various amounts such as a user position, a velocity vector, and an attitude angle. Then, using the generated reference value, the INS calculation result is corrected as described in the principle.

2−1.機能構成
図4は、慣性航法演算装置1000の機能構成の一例を示すブロック図である。慣性航法演算装置1000は、主要な機能構成として、処理部100と、操作部200と、表示部300と、音出力部400と、IMU500と、方位センサー550と、記憶部600とを備えて構成される。
2-1. Functional Configuration FIG. 4 is a block diagram illustrating an example of a functional configuration of the inertial navigation calculation apparatus 1000. The inertial navigation calculation apparatus 1000 includes a processing unit 100, an operation unit 200, a display unit 300, a sound output unit 400, an IMU 500, an orientation sensor 550, and a storage unit 600 as main functional configurations. Is done.

処理部100は、記憶部600に記憶されているシステムプログラム等の各種プログラムに従って慣性航法演算装置1000の各部を統括的に制御する制御装置及び演算装置であり、CPU(Central Processing Unit)やDSP(Digital Signal Processor)等のプロセッサーを有して構成される。   The processing unit 100 is a control device and a calculation device that comprehensively control each unit of the inertial navigation calculation device 1000 according to various programs such as a system program stored in the storage unit 600, and is a CPU (Central Processing Unit) or DSP (DSP). (Digital Signal Processor).

操作部200は、例えばタッチパネルやボタンスイッチ等により構成される入力装置であり、押下されたキーやボタンの信号を処理部100に出力する。この操作部200の操作により、運動の開始や運動の終了といった各種指示入力がなされる。   The operation unit 200 is an input device configured by, for example, a touch panel or a button switch, and outputs a pressed key or button signal to the processing unit 100. By operating the operation unit 200, various instructions such as start of exercise and end of exercise are input.

表示部300は、LCD(Liquid Crystal Display)等により構成され、処理部100から入力される表示信号に基づいた各種表示を行う。表示部300には、慣性航法演算に係る演算値等の情報が表示される。   The display unit 300 is configured by an LCD (Liquid Crystal Display) or the like, and performs various displays based on display signals input from the processing unit 100. The display unit 300 displays information such as a calculation value related to the inertial navigation calculation.

音出力部400は、スピーカー等を有して構成される音出力装置であり、処理部100から出力される音出力信号に基づいた各種音出力を行う。音出力部400からは、音声ガイダンスや、歩行或いは走行に係るペース音等が音出力される。   The sound output unit 400 is a sound output device configured with a speaker or the like, and performs various sound outputs based on the sound output signal output from the processing unit 100. The sound output unit 400 outputs sound guidance, a pace sound related to walking or running, and the like.

IMU500は、慣性計測ユニットとして知られるセンサーユニットであり、例えば加速度センサー5Aとジャイロセンサー5Bとがこれに含まれる。IMU500によって計測された加速度及び角速度は、処理部100に随時出力される。   The IMU 500 is a sensor unit known as an inertial measurement unit, and includes, for example, an acceleration sensor 5A and a gyro sensor 5B. The acceleration and angular velocity measured by the IMU 500 are output to the processing unit 100 as needed.

方位センサー550は、ユーザーの移動方向を検出するためのセンサーであり、例えば地磁気センサーを有して構成される。方位センサー550によって検出されたユーザーの移動方向は、処理部100に随時出力される。   The direction sensor 550 is a sensor for detecting the moving direction of the user, and includes, for example, a geomagnetic sensor. The moving direction of the user detected by the direction sensor 550 is output to the processing unit 100 as needed.

記憶部600は、ROM(Read Only Memory)やフラッシュROM、RAM(Random Access Memory)等の記憶装置によって構成され、慣性航法演算装置1000のシステムプログラムや、INS演算等の各種機能を実現するための各種プログラム、データ等を記憶している。また、各種処理の処理中データ、処理結果などを一時的に記憶するワークエリアを有する。   The storage unit 600 is configured by a storage device such as a ROM (Read Only Memory), a flash ROM, or a RAM (Random Access Memory), and implements a system program of the inertial navigation calculation device 1000 and various functions such as an INS calculation. Various programs and data are stored. In addition, it has a work area for temporarily storing data being processed and results of various processes.

2−2.データ構成
記憶部600には、プログラムとして、処理部100により読み出され、メイン処理(図7参照)として実行されるメインプログラム610が記憶されている。メイン処理については、フローチャートを用いて詳細に後述する。
2-2. The data configuration storage unit 600 stores a main program 610 that is read by the processing unit 100 as a program and executed as a main process (see FIG. 7). The main process will be described later in detail using a flowchart.

また、記憶部600には、データとして、IMU計測データ620と、演算データ630と、演算誤差データ640と、入力誤差共分散行列設定用データ650と、歩幅モデルデータ660と、歩行時観測情報670と、乗車時観測情報680と、静止時観測情報690とが記憶される。   In addition, the storage unit 600 includes, as data, IMU measurement data 620, calculation data 630, calculation error data 640, input error covariance matrix setting data 650, stride model data 660, and walking observation information 670. And boarding observation information 680 and stationary observation information 690 are stored.

IMU計測データ620は、IMU500の計測結果のデータである。例えば、加速度センサー5Aによって計測された加速度(計測加速度)と、ジャイロセンサー5Bによって計測された角速度(計測角速度)とが時系列に記憶される。   The IMU measurement data 620 is measurement result data of the IMU 500. For example, acceleration (measurement acceleration) measured by the acceleration sensor 5A and angular velocity (measurement angular velocity) measured by the gyro sensor 5B are stored in time series.

演算データ630は、慣性航法演算に係る演算結果や演算過程に係る演算値が記憶されたデータである。図2のINS10の慣性航法演算の演算過程で求められる各諸量に係る処理中データや、演算結果として求められる絶対座標位置等のデータがこれに含まれる。   The calculation data 630 is data in which calculation results related to the inertial navigation calculation and calculation values related to the calculation process are stored. This includes in-process data relating to various quantities obtained in the calculation process of the inertial navigation calculation of the INS 10 in FIG. 2 and data such as absolute coordinate positions obtained as calculation results.

演算誤差データ640は、誤差算出処理を行うことで算出したINS演算誤差が記憶されたデータである。図1の誤差推定処理部50の誤差推定処理の結果として得られるINS演算結果の誤差がこれに含まれる。   The calculation error data 640 is data in which the INS calculation error calculated by performing the error calculation process is stored. This includes an error of the INS calculation result obtained as a result of the error estimation processing of the error estimation processing unit 50 of FIG.

入力誤差共分散行列設定用データ650は、入力誤差共分散行列を設定するために用いられるデータであり、そのデータ構成例を図5に示す。入力誤差共分散行列設定用データ650には、移動状況650Aと、パラメーターセット650Bとが対応付けて定められている。   The input error covariance matrix setting data 650 is data used to set the input error covariance matrix, and a data configuration example is shown in FIG. In the input error covariance matrix setting data 650, a movement state 650A and a parameter set 650B are defined in association with each other.

移動状況650Aには、歩行状況や乗車状況、静止状況といったユーザーの移動状況が定められている。また、パラメーターセット650Bは、対応する移動状況650Aについて、入力誤差共分散行列「Qu」の対角成分に設定する6種類の分散値の組(パラメーター値のセット)が定められている。   The movement status 650A defines a user's movement status such as a walking status, a boarding status, and a stationary status. In the parameter set 650B, six types of dispersion value sets (parameter value sets) to be set as diagonal components of the input error covariance matrix “Qu” are determined for the corresponding movement state 650A.

歩幅モデルデータ660は、ユーザーの歩幅をモデル化したデータであり、そのデータ構成の一例を図6に示す。実験を行った結果、人間が歩行する場合、その上下方向の加速度と歩幅との間には、正の相関があることが発見された。そこで、本実施例では、上下方向の加速度「x」を変数とし、歩幅「y」を関数値とする一次関数で近似した歩幅推測モデル式を歩幅モデルデータ660として定めている。   The stride model data 660 is data modeling the stride of the user, and an example of the data configuration is shown in FIG. As a result of experiments, it was discovered that when a human walks, there is a positive correlation between the vertical acceleration and the stride. Therefore, in this embodiment, the stride model data 660 is defined as a stride estimation model equation approximated by a linear function having the vertical acceleration “x” as a variable and the stride “y” as a function value.

歩行時観測情報670は、ユーザーの移動状況が「歩行状況」である場合に設定するカルマンフィルター処理の観測情報である。ユーザーの歩幅及び一歩所要時間と、ユーザーの移動方向とに基づいて算出される歩行時速度ベクトル670Aがこれに含まれる。   The walking observation information 670 is Kalman filter processing observation information that is set when the movement status of the user is “walking status”. This includes a walking speed vector 670A that is calculated based on the user's stride and one-step required time, and the user's moving direction.

乗車時観測情報680は、ユーザーの移動状況が「乗車状況」である場合に設定するカルマンフィルター処理の観測情報である。移動体の進行方向以外の速度成分をゼロとする移動時制約速度ベクトル680Aがこれに含まれる。   The on-board observation information 680 is Kalman filter processing observation information that is set when the movement status of the user is “boarding status”. This includes a moving speed restriction speed vector 680A in which speed components other than the moving direction of the moving body are zero.

静止時観測情報690は、ユーザーの移動状況が「静止状況」である場合に設定するカルマンフィルター処理の観測情報である。絶対座標系における速度成分をゼロとする静止時制約速度ベクトル690Aがこれに含まれる。   The stationary observation information 690 is Kalman filter processing observation information that is set when the movement status of the user is “stationary status”. This includes a stationary time limit speed vector 690A in which the speed component in the absolute coordinate system is zero.

2−3.処理の流れ
図7は、記憶部600に記憶されているメインプログラム610に従って処理部100が実行するメイン処理の流れを示すフローチャートである。
2-3. Processing Flow FIG. 7 is a flowchart showing a flow of main processing executed by the processing unit 100 in accordance with the main program 610 stored in the storage unit 600.

最初に、処理部100は、初期設定を行う(ステップA1)。具体的には、誤差推定処理で用いる各種パラメーター(カルマンフィルター処理の演算パラメーター)の値を初期設定する。また、重力方向に最も近い慣性センサーの検出軸を判定する。   First, the processing unit 100 performs initial setting (step A1). Specifically, the values of various parameters (calculation parameters for Kalman filter processing) used in error estimation processing are initialized. Further, the detection axis of the inertial sensor closest to the direction of gravity is determined.

そして、処理部100は、IMU500からデータの取得を開始し、取得したデータをIMU計測データ620として記憶部600に記憶させる(ステップA3)。次いで、処理部100は、IMU計測データ620を用いて慣性航法演算処理を行い、その演算結果を演算データ630として記憶部600に記憶させる(ステップA5)。   And the process part 100 starts acquisition of data from IMU500, and memorize | stores the acquired data in the memory | storage part 600 as IMU measurement data 620 (step A3). Next, the processing unit 100 performs inertial navigation calculation processing using the IMU measurement data 620, and stores the calculation result in the storage unit 600 as calculation data 630 (step A5).

その後、処理部100は、IMU500の計測結果や、慣性航法演算処理に係る演算値に基づいて、ユーザーの移動状況を判定する移動状況判定処理を行う(ステップA7)。そして、処理部100は、記憶部600に記憶された入力誤差共分散行列設定用データ650を参照して、ステップA7で判定した移動状況に基づいて入力誤差共分散行列を設定する(ステップA9)。   Thereafter, the processing unit 100 performs a movement status determination process for determining the movement status of the user based on the measurement result of the IMU 500 and the calculated value related to the inertial navigation calculation process (step A7). Then, the processing unit 100 refers to the input error covariance matrix setting data 650 stored in the storage unit 600, and sets the input error covariance matrix based on the movement status determined in step A7 (step A9). .

次いで、処理部100は、ステップA9で設定した入力誤差共分散行列に基づき、式(4)及び(5)に従って、カルマンフィルターの予測演算を行う(ステップA11)。つまり、状態ベクトル「x」及び誤差共分散「P」を予測する演算を行う。   Next, the processing unit 100 performs a Kalman filter prediction calculation according to the equations (4) and (5) based on the input error covariance matrix set in step A9 (step A11). That is, an operation for predicting the state vector “x” and the error covariance “P” is performed.

その後、処理部100は、ユーザーの移動状況が「歩行状況」であるか否かを判定する(ステップA13)。「歩行状況」ではないと判定した場合は(ステップA13;No)、処理部100は、ステップA17へと処理を移行する。   Thereafter, the processing unit 100 determines whether or not the movement status of the user is a “walking status” (step A13). When it determines with it not being a "walking condition" (step A13; No), the process part 100 transfers a process to step A17.

それに対し、「歩行状況」であると判定した場合は(ステップA13;Yes)、処理部100は、歩行時速度ベクトル670Aを算出し、歩行時観測情報670として設定する(ステップA15)。   On the other hand, when it determines with it being a "walking condition" (step A13; Yes), the process part 100 calculates the speed vector 670A at the time of a walk, and sets it as the observation information 670 at the time of a walk (step A15).

具体的には、上下方向の加速度に対するピーク判定を行い、前回の加速度のピークから今回の加速度のピークまでの時間を一歩所要時間として算出する。また、記憶部600に記憶された歩幅モデルデータ660を参照して、ユーザーの歩幅を判定する。そして、一歩所要時間及び歩幅と、方位センサー550によって検出されたユーザーの移動方向とに基づいて、歩行時におけるユーザーの速度ベクトル(歩行時速度ベクトル)を算出する。   Specifically, a peak determination is made for vertical acceleration, and the time from the previous acceleration peak to the current acceleration peak is calculated as the time required for one step. The user's stride is determined with reference to the stride model data 660 stored in the storage unit 600. Then, based on the time required for one step and the step length and the moving direction of the user detected by the azimuth sensor 550, the user's speed vector during walking (speed vector during walking) is calculated.

次いで、処理部100は、ユーザーの移動状況が「乗車状況」であるか否かを判定し(ステップA17)、「乗車状況」ではないと判定した場合は(ステップA17;No)、ステップA21へと処理を移行する。また、「乗車状況」であると判定した場合は(ステップA17;Yes)、処理部100は、移動時制約速度ベクトル680Aを乗車時観測情報680として設定する(ステップA19)。   Next, the processing unit 100 determines whether or not the movement status of the user is “boarding status” (step A17), and if it is determined that the movement status is not “boarding status” (step A17; No), the process proceeds to step A21. And migrate the process. In addition, when it is determined that the state is “boarding state” (step A <b> 17; Yes), the processing unit 100 sets the travel time restricted speed vector 680 </ b> A as the boarding time observation information 680 (step A <b> 19).

次いで、処理部100は、ユーザーの移動状況が「静止状況」であるか否かを判定し(ステップA21)、「静止状況」ではないと判定した場合は(ステップA21;No)、ステップA25へと処理を移行する。また、「静止状況」であると判定した場合は(ステップA21;Yes)、処理部100は、静止時制約速度ベクトル690Aを静止時観測情報690として設定する(ステップA23)。   Next, the processing unit 100 determines whether or not the movement status of the user is “stationary status” (step A21). If the processing unit 100 determines that the movement status is not “stationary status” (step A21; No), the processing unit 100 proceeds to step A25. And migrate the process. When it is determined that the state is “still state” (step A21; Yes), the processing unit 100 sets the stationary restriction speed vector 690A as the stationary observation information 690 (step A23).

次いで、処理部100は、カルマンフィルターの補正演算を実行する(ステップA25)。具体的には、ステップA15、A19及びA23の何れかにおいて設定した観測情報を用いて、カルマンフィルターの理論に基づく補正演算を行う。そして、その演算結果を演算誤差として演算誤差データ640に記憶させる。   Next, the processing unit 100 executes a Kalman filter correction calculation (step A25). Specifically, the correction calculation based on the theory of the Kalman filter is performed using the observation information set in any of steps A15, A19, and A23. Then, the calculation result is stored in the calculation error data 640 as a calculation error.

次いで、処理部100は、ステップA5で求めたINS演算結果を出力する(ステップA27)。そして、処理部100は、処理を終了するか否かを判定し(ステップA29)、処理を継続すると判定した場合は(ステップA29;No)、補正処理を行う(ステップA31)。つまり、演算誤差データ640に記憶されている各演算結果の誤差(補正量)を用いて、演算データ630に含まれる各演算結果を補正する。   Next, the processing unit 100 outputs the INS calculation result obtained in Step A5 (Step A27). And the process part 100 determines whether a process is complete | finished (step A29), and when it determines with continuing a process (step A29; No), a correction process is performed (step A31). That is, each calculation result included in the calculation data 630 is corrected using an error (correction amount) of each calculation result stored in the calculation error data 640.

一方、ステップA29において処理を終了すると判定した場合は(ステップA29;Yes)、処理部100は、メイン処理を終了する。   On the other hand, when it determines with complete | finishing a process in step A29 (step A29; Yes), the process part 100 complete | finishes a main process.

3.作用効果
本実施形態によれば、ユーザーの移動状況を判定し、所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、移動状況の判定結果に基づいて設定する。具体的には、ユーザーの移動状況に応じて、カルマンフィルター処理で用いるパラメーターである入力誤差共分散行列「Qu」の値を設定する。これにより、ユーザーの移動状況に基づいて、誤差推定処理に係るパラメーターの値を適正化することができる。適正化したパラメーターの値を用いて誤差推定処理を実行することで、演算値に含まれる誤差を正しく推定することができる。このようにして推定した誤差を用いれば、慣性航法演算に係る演算値を適切に補正できる。
3. According to the present embodiment, the movement status of the user is determined, and the parameter value related to the predetermined error estimation process for estimating the error included in the calculated value related to the predetermined inertial navigation calculation is determined based on the determination result of the moving status. Set based on. Specifically, the value of the input error covariance matrix “Qu”, which is a parameter used in the Kalman filter process, is set in accordance with the movement status of the user. Thereby, based on a user's movement condition, the value of the parameter concerning error estimation processing can be optimized. By executing the error estimation process using the optimized parameter values, it is possible to correctly estimate the error included in the calculated value. If the error estimated in this way is used, the calculation value related to the inertial navigation calculation can be corrected appropriately.

入力誤差共分散行列「Qu」を固定値とすると、次のような問題が生ずる。誤差共分散「P」が真値よりも過度に大きく算出された場合、1ステップ前の状態ベクトル「x」の値よりも観測値「z」を信用するようにフィルターが作用し、求められる状態ベクトル「x」の推定値が観測値に引きずられる現象が生じる。一方、誤差共分散「P」が真値よりも過度に小さく算出された場合は、観測値「z」よりも1ステップ前の状態ベクトル「x」の値を信用するようにフィルターが作用し、状態推定値が不安定になる問題が生ずる。   When the input error covariance matrix “Qu” is a fixed value, the following problem occurs. When the error covariance “P” is calculated to be excessively larger than the true value, the filter acts so as to trust the observed value “z” rather than the value of the state vector “x” one step before, and the obtained state A phenomenon occurs in which the estimated value of the vector “x” is dragged to the observed value. On the other hand, when the error covariance “P” is calculated to be excessively smaller than the true value, the filter acts to trust the value of the state vector “x” one step before the observed value “z”, There arises a problem that the state estimation value becomes unstable.

ユーザーの移動状況によって、ユーザーの身体に取り付けた慣性センサー(慣性演算装置)の計測値に含まれる誤差(ノイズ)の大きさが変化する。歩行中は、絶えず振動や衝撃を受けるために、特に重力方向の計測値に誤差が混入し易い。一方、ユーザーが静止している場合や移動体に乗っている状況では、歩行の場合と比べて、重力方向の計測値に誤差が混入しにくい。この傾向に基づき、ユーザーの移動状況に応じて入力誤差共分散行列「Qu」を可変にすることで、カルマンフィルターの入力に含まれる誤差を補償し、状態ベクトル「x」の誤差共分散「P」を真値に近付けることができる。その結果、上記の問題が解消され、慣性航法演算の誤差を正しく推定することが可能となる。   The magnitude of the error (noise) included in the measurement value of the inertial sensor (inertia calculation device) attached to the user's body changes depending on the movement state of the user. During walking, it is subject to vibrations and shocks constantly, so errors are particularly likely to be mixed into the measured values in the direction of gravity. On the other hand, when the user is stationary or riding on a moving body, it is difficult for errors to be mixed in the measured values in the direction of gravity compared to walking. Based on this tendency, the error included in the input of the Kalman filter is compensated by making the input error covariance matrix “Qu” variable according to the movement state of the user, and the error covariance “P” of the state vector “x”. Can be brought closer to the true value. As a result, the above problem is solved, and it is possible to correctly estimate the error of the inertial navigation calculation.

4.変形例
本発明を適用可能な実施例は、上記の実施例に限定されることなく、本発明の趣旨を逸脱しない範囲で適宜変更可能であることは勿論である。以下、変形例について説明する。
4). Modifications Embodiments to which the present invention can be applied are not limited to the above-described embodiments, and can be changed as appropriate without departing from the spirit of the present invention. Hereinafter, modified examples will be described.

4−1.観測情報
衛星測位システムを利用して算出した位置や速度ベクトル等の情報を観測情報として、上記の実施形態と同様に誤差推定を行うことも可能である。
4-1. Observation Information It is also possible to perform error estimation in the same manner as in the above embodiment using information such as position and velocity vector calculated using a satellite positioning system as observation information.

例えば、衛星測位システムの一種であるGPSを利用して、ユーザーの位置及び速度ベクトルを算出する。そして、GPSの演算結果の出力タイミングにおいて、位置及び速度ベクトルを観測情報として用いて、カルマンフィルターの理論に基づく補正演算を行うこととしてもよい。なお、位置及び速度ベクトルの算出方法は従来公知であるため、ここでは詳細な説明を省略する。   For example, the user's position and velocity vector are calculated using GPS, which is a kind of satellite positioning system. Then, at the output timing of the GPS calculation result, the correction calculation based on the Kalman filter theory may be performed using the position and velocity vectors as observation information. In addition, since the calculation method of a position and a velocity vector is conventionally well-known, detailed description is abbreviate | omitted here.

また、他にも、RF(Radio Frequency)タグから位置情報等の情報を取得して、観測情報として利用することとしてもよい。この場合は、慣性航法演算装置に、RFタグに埋め込まれた位置情報を読み取るためのタグリーダーを具備しておく。そして、所定位置に予め配置されたRFタグに慣性航法演算装置を翳すことで位置情報を取得し、この位置情報を観測情報として用いて、カルマンフィルターの理論に基づく補正演算を行うこととしてもよい。   In addition, information such as position information may be acquired from an RF (Radio Frequency) tag and used as observation information. In this case, the inertial navigation calculation device is provided with a tag reader for reading position information embedded in the RF tag. Then, position information can be acquired by placing an inertial navigation calculation device on an RF tag placed in advance at a predetermined position, and this position information can be used as observation information to perform correction calculations based on the Kalman filter theory. Good.

4−2.パラメーター値の設定
上記の実施形態では、ユーザーの移動状況に応じたパラメーター値として、入力誤差の共分散を固定的に設定するものとして説明した。しかし、ユーザーの移動状況を確定することが困難な状況も存在する。例えば、ユーザーが移動体に乗った状態で動作をしている場合は、ユーザーの移動状況が歩行状況であるのか、乗車状況であるのかの判断が困難な場合がある。
4-2. Parameter Value Setting In the above-described embodiment, the input error covariance is fixedly set as the parameter value corresponding to the movement state of the user. However, there are situations where it is difficult to determine the user's movement status. For example, when the user is operating while riding on a moving body, it may be difficult to determine whether the user's movement status is a walking situation or a boarding situation.

そこで、このような場合は、2種類以上の入力誤差の共分散を混合して設定することとしてもよい。例えば、ユーザーが歩行している状況と、ユーザーが移動体に乗っている状況との可能性が五分五分であると判定した場合において、歩行状況について予め定められた入力誤差の共分散と、乗車状況について予め定められた入力誤差の共分散とを加算平均し、その値を設定することとしてもよい。   Therefore, in such a case, the covariance of two or more types of input errors may be mixed and set. For example, when it is determined that the possibility of the situation where the user is walking and the situation where the user is on a moving body is a fifth, the covariance of the input error predetermined for the walking situation is Alternatively, the covariance of the input error determined in advance with respect to the boarding situation may be averaged and the value may be set.

4−3.処理の主体
上記の実施例では、電子機器にIMUが搭載され、IMUの計測結果に基づいて、電子機器の処理部が慣性航法演算処理を行うものとして説明した。しかし、電子機器にINSを搭載することとし、INSの処理部が慣性航法演算処理を行うこととしてもよい。この場合は、例えば、電子機器の処理部が、INSから出力される慣性航法演算結果に含まれる誤差(慣性航法演算誤差)を推定する処理を行う。そして、推定した慣性航法演算誤差を用いて、INSから入力した慣性航法演算結果を補正する。
4-3. Processing Subject In the above embodiment, the IMU is mounted on the electronic device, and the processing unit of the electronic device performs inertial navigation calculation processing based on the measurement result of the IMU. However, the INS may be mounted on the electronic device, and the processing unit of the INS may perform inertial navigation calculation processing. In this case, for example, the processing unit of the electronic device performs a process of estimating an error (inertial navigation calculation error) included in the inertial navigation calculation result output from the INS. Then, the inertial navigation calculation result input from INS is corrected using the estimated inertial navigation calculation error.

また、電子機器にGPS(Global Positioning System)等の衛星測位システムを適用したセンサーユニットを搭載することとし、このセンサーユニットの計測結果を利用して、慣性航法演算結果を補正することとしてもよい。   In addition, a sensor unit to which a satellite positioning system such as GPS (Global Positioning System) is applied may be mounted on the electronic device, and the inertial navigation calculation result may be corrected using the measurement result of the sensor unit.

4−4.電子機器
上記の実施例では、腰に装着する慣性航法演算装置に本発明を適用した場合を例に挙げて説明したが、本発明を適用可能な電子機器はこれに限られるわけではない。例えば、携帯型ナビゲーション装置(ポータブルナビ)や携帯型電話機、パソコン、PDAといった他の電子機器にも本発明を適用可能である。
4-4. In the above-described embodiment, the case where the present invention is applied to the inertial navigation calculation device mounted on the waist has been described as an example. However, the electronic device to which the present invention is applicable is not limited thereto. For example, the present invention can be applied to other electronic devices such as a portable navigation device (portable navigation), a portable phone, a personal computer, and a PDA.

1 全体システム、 5A 加速度センサー、 5B ジャイロセンサー、 10 INS、 11 姿勢情報算出部、 13 絶対座標加速度ベクトル算出部、 15 絶対座標速度ベクトル算出部、 17 絶対座標位置算出部、 18 重力算出部、 19 補正部、 20 移動状況判定部、 30 観測情報生成部、 40 パラメーター値設定部、 50 誤差推定処理部、 100 処理部、 200 操作部、 300 表示部、 400 音出力部、 500 INS、 550 方位センサー、 600 記憶部、1000 慣性航法演算装置   DESCRIPTION OF SYMBOLS 1 Overall system, 5A Acceleration sensor, 5B Gyro sensor, 10 INS, 11 Attitude information calculation part, 13 Absolute coordinate acceleration vector calculation part, 15 Absolute coordinate speed vector calculation part, 17 Absolute coordinate position calculation part, 18 Gravity calculation part, 19 Correction unit, 20 Movement status determination unit, 30 Observation information generation unit, 40 Parameter value setting unit, 50 Error estimation processing unit, 100 Processing unit, 200 Operation unit, 300 Display unit, 400 Sound output unit, 500 INS, 550 Direction sensor , 600 storage unit, 1000 inertial navigation calculation device

Claims (7)

ユーザーの移動状況を判定することと、
所定の慣性航法演算に係る演算結果及び演算過程の値の何れか(以下、「演算値」という。)に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、前記移動状況の判定結果に基づいて設定することと、
前記パラメーターの値を用いて前記誤差推定処理を実行することと、
前記誤差推定処理によって推定された誤差を用いて前記演算値を補正して前記慣性航法演算を行うことと、
を含む慣性航法演算方法。
Determining the user ’s travel status,
A parameter value related to a predetermined error estimation process for estimating an error included in any one of a calculation result and a calculation process value related to a predetermined inertial navigation calculation (hereinafter referred to as “calculated value”) Setting based on the judgment result;
Performing the error estimation process using the value of the parameter;
Performing the inertial navigation calculation by correcting the calculation value using the error estimated by the error estimation process;
Inertial navigation calculation method.
前記慣性航法演算は、前記ユーザーの加速度の計測値を用いた航法演算であり、
前記誤差推定処理は、前記パラメーターを前記計測値の誤差に基づくパラメーターとするカルマンフィルター処理である、
請求項1に記載の慣性航法演算方法。
The inertial navigation calculation is a navigation calculation using a measured value of acceleration of the user,
The error estimation process is a Kalman filter process in which the parameter is a parameter based on an error of the measurement value.
The inertial navigation calculation method according to claim 1.
前記パラメーターは、所定の空間座標系を規定する各軸に係るパラメーターが含まれ、
前記設定することは、重力方向の誤差の分散が他方向の誤差の分散より大きくなることに基づき前記パラメーターの値を設定することを含む、
請求項2に記載の慣性航法演算方法。
The parameter includes a parameter related to each axis defining a predetermined spatial coordinate system,
The setting includes setting a value of the parameter based on a variance of errors in the gravitational direction being greater than a variance of errors in other directions;
The inertial navigation calculation method according to claim 2.
前記移動状況を判定することは、少なくとも歩行状況及び静止状況の何れであるかを判定することを含み、
前記設定することは、重力方向の誤差の分散が、前記移動状況の判定結果が歩行状況である場合に、静止状況の場合と比べて大きくなることに基づき前記パラメーターの値を設定することを含む、
請求項3に記載の慣性航法演算方法。
Determining the movement situation includes determining at least whether it is a walking situation or a stationary situation,
The setting includes setting the value of the parameter based on the fact that the variance of the error in the gravitational direction is larger when the determination result of the movement situation is the walking situation than in the stationary situation. ,
The inertial navigation calculation method according to claim 3.
前記移動状況を判定することは、少なくとも歩行状況であるかを判定することを含み、
前記移動状況の判定結果が歩行状況である場合に、前記ユーザーの上下方向の加速度の計測値に基づいて前記ユーザーの歩幅及び一歩所要時間を検出することと、
前記歩幅及び一歩所要時間と、前記ユーザーの移動方向とに基づいて、歩行時における前記ユーザーの速度ベクトルを算出することと、
を含み、
前記誤差推定処理は、前記移動状況の判定結果が歩行状況である場合に、前記パラメーターを前記計測値の誤差に基づくパラメーターとし、前記速度ベクトルを観測値とするカルマンフィルター処理である、
請求項2〜4の何れか一項に記載の慣性航法演算方法。
Determining the movement situation includes determining whether it is at least a walking situation;
When the determination result of the movement situation is a walking situation, detecting the user's stride and the time required for one step based on a measurement value of acceleration in the vertical direction of the user;
Calculating the speed vector of the user during walking based on the stride and the time required for one step and the moving direction of the user;
Including
The error estimation process is a Kalman filter process in which the parameter is a parameter based on the error of the measurement value and the velocity vector is an observed value when the determination result of the movement situation is a walking situation.
The inertial navigation calculation method according to any one of claims 2 to 4.
前記移動状況を判定することは、少なくとも前記ユーザーが移動体へ乗った状況であるかを判定することを含み、
前記誤差推定処理は、前記移動状況の判定結果が移動体へ乗った状況である場合に、前記パラメーターを前記計測値の誤差に基づくパラメーターとし、所定の制約速度ベクトルを観測値とするカルマンフィルター処理である、
請求項2〜5の何れか一項に記載の慣性航法演算方法。
Determining the movement status includes determining whether at least the user is on a moving body,
The error estimation process is a Kalman filter process in which the parameter is a parameter based on the error of the measurement value and a predetermined restricted velocity vector is an observed value when the determination result of the movement condition is a situation on a moving object Is,
The inertial navigation calculation method according to any one of claims 2 to 5.
ユーザーの移動状況を判定する判定部と、
所定の慣性航法演算に係る演算値に含まれる誤差を推定する所定の誤差推定処理に係るパラメーターの値を、前記移動状況の判定結果に基づいて設定する設定部と、
前記パラメーターの値を用いて前記誤差推定処理を実行する誤差推定処理部と、
前記誤差推定処理によって推定された誤差を用いて前記演算値を補正して前記慣性航法演算を行う慣性航法演算部と、
を備えた慣性航法演算装置。
A determination unit for determining the movement status of the user;
A setting unit configured to set a parameter value related to a predetermined error estimation process for estimating an error included in a calculated value related to a predetermined inertial navigation calculation based on the determination result of the movement state;
An error estimation processing unit that executes the error estimation process using the value of the parameter;
An inertial navigation calculation unit that corrects the calculation value using the error estimated by the error estimation process and performs the inertial navigation calculation;
Inertial navigation calculation device equipped with.
JP2011254702A 2011-11-22 2011-11-22 Inertial navigation calculation device and electronic equipment Active JP5906687B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011254702A JP5906687B2 (en) 2011-11-22 2011-11-22 Inertial navigation calculation device and electronic equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011254702A JP5906687B2 (en) 2011-11-22 2011-11-22 Inertial navigation calculation device and electronic equipment

Publications (3)

Publication Number Publication Date
JP2013108865A true JP2013108865A (en) 2013-06-06
JP2013108865A5 JP2013108865A5 (en) 2015-01-08
JP5906687B2 JP5906687B2 (en) 2016-04-20

Family

ID=48705763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011254702A Active JP5906687B2 (en) 2011-11-22 2011-11-22 Inertial navigation calculation device and electronic equipment

Country Status (1)

Country Link
JP (1) JP5906687B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014156049A1 (en) * 2013-03-25 2014-10-02 セイコーエプソン株式会社 Movement state information calculation method and movement state information calculation device
WO2015060451A1 (en) * 2013-10-22 2015-04-30 Ricoh Company, Limited Information processing device, information processing method, and computer program product
JP2018524553A (en) * 2015-06-26 2018-08-30 インテル・コーポレーション Pedestrian dead reckoning technology
JP2018181166A (en) * 2017-04-20 2018-11-15 株式会社Ihi Mobile body control method and mobile body control system
WO2019215987A1 (en) * 2018-05-09 2019-11-14 ソニー株式会社 Information processing device, information processing method, and program

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117147A (en) * 2008-11-11 2010-05-27 Seiko Epson Corp Method and device of calculating out position

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010117147A (en) * 2008-11-11 2010-05-27 Seiko Epson Corp Method and device of calculating out position

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014156049A1 (en) * 2013-03-25 2014-10-02 セイコーエプソン株式会社 Movement state information calculation method and movement state information calculation device
JP2014185955A (en) * 2013-03-25 2014-10-02 Seiko Epson Corp Movement status information calculation method, and movement status information calculation device
US9599475B2 (en) 2013-03-25 2017-03-21 Seiko Epson Corporation Movement state information calculation method and movement state information calculation device
WO2015060451A1 (en) * 2013-10-22 2015-04-30 Ricoh Company, Limited Information processing device, information processing method, and computer program product
JP2015108612A (en) * 2013-10-22 2015-06-11 株式会社リコー Information processing device, information processing method, and information processing program
JP2018524553A (en) * 2015-06-26 2018-08-30 インテル・コーポレーション Pedestrian dead reckoning technology
US11199421B2 (en) 2015-06-26 2021-12-14 Intel Corporation Technologies for pedestrian dead reckoning
JP2018181166A (en) * 2017-04-20 2018-11-15 株式会社Ihi Mobile body control method and mobile body control system
WO2019215987A1 (en) * 2018-05-09 2019-11-14 ソニー株式会社 Information processing device, information processing method, and program

Also Published As

Publication number Publication date
JP5906687B2 (en) 2016-04-20

Similar Documents

Publication Publication Date Title
EP2951530B1 (en) Inertial device, method, and program
JP6094026B2 (en) Posture determination method, position calculation method, and posture determination apparatus
WO2020008878A1 (en) Positioning device, positioning method, and program
JP7023234B2 (en) How to estimate pedestrian movement
JP6083279B2 (en) Movement status information calculation method and movement status information calculation device
US20100250177A1 (en) Orientation measurement of an object
JP5602070B2 (en) POSITIONING DEVICE, POSITIONING METHOD OF POSITIONING DEVICE, AND POSITIONING PROGRAM
JP5906687B2 (en) Inertial navigation calculation device and electronic equipment
JP2010032398A (en) Location detecting apparatus and method of navigation system
JP2016033473A (en) Position calculation method and position calculation device
CN111024126B (en) Self-adaptive zero-speed correction method in pedestrian navigation positioning
WO2015146048A1 (en) Error estimation method, motion analysis method, error estimation device, and program
JP5821513B2 (en) Reference value generation method and reference value generation apparatus
JP6221295B2 (en) Position calculation method and position calculation apparatus
JP2015152559A (en) inertial device, control method, and program
JP5511088B2 (en) Portable device, program and method for correcting gravity vector used for autonomous positioning
EP3227634B1 (en) Method and system for estimating relative angle between headings
JP2015190850A (en) Error estimation method, kinematic analysis method, error estimation device, and program
JP2014219340A (en) Offset correction method and offset correction device
Chang et al. Improved cycling navigation using inertial sensors measurements from portable devices with arbitrary orientation
JP2013122384A (en) Kalman filter and state estimation device
CN112904884A (en) Method and device for tracking trajectory of foot type robot and readable storage medium
JP2015017858A (en) Reference value generation device and reference value generation method
JP2013108930A (en) Inertia navigation operation method and inertia navigation operation device
Cui et al. Pedestrian navigation with INS measurements and gait models

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141114

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141114

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150916

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160223

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160307

R150 Certificate of patent or registration of utility model

Ref document number: 5906687

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150