JP6536162B2 - Movement information calculation method, movement information calculation apparatus, and movement information calculation program - Google Patents

Movement information calculation method, movement information calculation apparatus, and movement information calculation program Download PDF

Info

Publication number
JP6536162B2
JP6536162B2 JP2015096084A JP2015096084A JP6536162B2 JP 6536162 B2 JP6536162 B2 JP 6536162B2 JP 2015096084 A JP2015096084 A JP 2015096084A JP 2015096084 A JP2015096084 A JP 2015096084A JP 6536162 B2 JP6536162 B2 JP 6536162B2
Authority
JP
Japan
Prior art keywords
acceleration
coordinate system
movement
vector
movement information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015096084A
Other languages
Japanese (ja)
Other versions
JP2016211972A (en
Inventor
利雄 伊東
利雄 伊東
陽介 千田
陽介 千田
勇 志田
勇 志田
奥津 明彦
明彦 奥津
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015096084A priority Critical patent/JP6536162B2/en
Publication of JP2016211972A publication Critical patent/JP2016211972A/en
Application granted granted Critical
Publication of JP6536162B2 publication Critical patent/JP6536162B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Measurement Of Distances Traversed On The Ground (AREA)
  • Indicating Or Recording The Presence, Absence, Or Direction Of Movement (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)

Description

本発明は、移動情報計算方法、移動情報計算装置、及び移動情報計算プログラムに関する。   The present invention relates to a movement information calculation method, a movement information calculation apparatus, and a movement information calculation program.

近年、携帯電話機、スマートフォン等の携帯端末装置に加速度センサが搭載されるようになり、加速度センサが検出する加速度の情報を活用する方法が検討されている。   BACKGROUND In recent years, an acceleration sensor has come to be mounted on a mobile terminal device such as a mobile phone or a smartphone, and a method of utilizing information of acceleration detected by the acceleration sensor has been studied.

例えば、加速度の情報を用いた歩数計も知られている(例えば、特許文献1を参照)。この歩数計は、歩行体の加速度ベクトルを、重力加速度ベクトルと、歩行体の歩行により生じている歩行加速度ベクトルとに分離し、重力加速度ベクトルと歩行加速度ベクトルとの内積値を算出する。そして、歩数計は、算出された内積値の時間変化に基づいて歩数の計数を行う。   For example, a pedometer using acceleration information is also known (see, for example, Patent Document 1). The pedometer separates the acceleration vector of the walking body into a gravity acceleration vector and a walking acceleration vector generated by the walking of the walking body, and calculates an inner product value of the gravity acceleration vector and the walking acceleration vector. Then, the pedometer counts the number of steps on the basis of the time change of the calculated inner product value.

容易かつ正確に歩行と非歩行とを区別する歩数計数装置も知られている(例えば、特許文献2を参照)。この歩数計数装置は、加速度をデジタルのセンサ値に変換し、センサ値の二乗値を求め、二乗値がゼロとなるたびに、二乗値を積分してエネルギーを算出する。そして、歩数計数装置は、エネルギーが所定の閾値以上となった回数をカウントし、カウンタ値を2で除算して歩数を算出する。   There is also known a step counting device that easily and accurately distinguishes walking and non-walking (see, for example, Patent Document 2). The step counting device converts the acceleration into a digital sensor value, obtains a square value of the sensor value, and integrates the square value to calculate energy every time the square value becomes zero. Then, the step counting device counts the number of times the energy is equal to or more than a predetermined threshold, and divides the counter value by 2 to calculate the number of steps.

特開2010−257395号公報Unexamined-Japanese-Patent No. 2010-257395 特開2008−171347号公報JP, 2008-171347, A

近年、人の移動軌跡等に基づいてその人の行動を解析し、各人に特化したアドバイス又は情報を提供するビジネスが注目されている。携帯端末装置で人の移動軌跡を解析するためには、携帯端末装置に搭載された処理能力の低いCentral Processing Unit(CPU)でも移動軌跡を計算できる簡便なアルゴリズムを実装することが望ましい。   2. Description of the Related Art In recent years, a business that analyzes the behavior of a person based on the movement trajectory of the person and the like and provides advice or information specialized for each person has attracted attention. In order to analyze the movement trajectory of a person with a portable terminal device, it is desirable to implement a simple algorithm capable of calculating the movement trajectory even with a low central processing unit (CPU) mounted on the portable terminal device.

特許文献1の歩数計数方法は、比較的処理能力の低いCPUでも歩数を計数できるアルゴリズムである。しかしながら、この歩数計数方法は、人の移動軌跡を計算するアルゴリズムではない。また、移動軌跡の計算方法として、パーティクルフィルタを使用する方法が知られているが、この方法は計算量が多く、携帯端末装置のCPUで動作させるのは困難である。   The step counting method of Patent Document 1 is an algorithm capable of counting the number of steps even by a CPU having a relatively low processing capacity. However, this step counting method is not an algorithm for calculating a movement trajectory of a person. In addition, although a method using a particle filter is known as a method of calculating a movement trajectory, this method has a large amount of calculation and it is difficult to operate it with the CPU of a portable terminal device.

なお、かかる問題は、携帯端末装置で移動軌跡を計算する場合に限らず、サーバ等の他の情報処理装置で移動軌跡を計算する場合においても生ずるものである。   Such a problem occurs not only in the case of calculating the movement locus in the portable terminal device but also in the case of calculating the movement locus in another information processing apparatus such as a server.

1つの側面において、本発明は、移動情報の計算負荷を低減することを目的とする。   In one aspect, the present invention aims to reduce the computational load of movement information.

1つの案では、コンピュータは、加速度センサにより第1の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第2の座標系における複数の加速度ベクトルに変換する。そして、コンピュータは、第2の座標系における複数の加速度ベクトルを周波数領域表現の級数に変換し、その級数における所定次数の項の係数から移動物体の移動距離と移動方向とを求め、移動距離と移動方向とを示す移動情報を出力する。   In one scheme, the computer converts a plurality of acceleration vectors representing accelerations of the moving object at a plurality of times within a predetermined period detected by the acceleration sensor in the first coordinate system into a plurality of acceleration vectors in the second coordinate system. Convert. Then, the computer converts a plurality of acceleration vectors in the second coordinate system into a series of frequency domain representations, obtains the moving distance and the moving direction of the moving object from the coefficients of terms of a predetermined order in the series, The movement information indicating the movement direction is output.

1つの実施形態によれば、移動情報の計算負荷を低減することができる。   According to one embodiment, the computational load of movement information can be reduced.

移動情報計算装置の機能的構成図である。It is a functional block diagram of a movement information calculation apparatus. 移動情報計算処理のフローチャートである。It is a flowchart of movement information calculation processing. 移動情報計算装置の第1の具体例を示す機能的構成図である。It is a functional block diagram which shows the 1st specific example of a movement information calculation apparatus. 移動情報計算処理の具体例を示すフローチャートである。It is a flowchart which shows the specific example of a movement information calculation process. 移動軌跡を示す図である。It is a figure which shows a movement trace. 装置座標系とグローバル座標系を示す図である。It is a figure which shows a device coordinate system and a global coordinate system. 追加された移動ベクトルを示す図である。It is a figure which shows the added movement vector. 2歩の移動軌跡を示す図である。It is a figure which shows the movement trace of 2 steps. 歩行加速度の成分の時間変化を示す図である。It is a figure which shows the time change of the component of a walking acceleration. xy平面上における単位ベクトルを示す図である。It is a figure which shows the unit vector on xy plane. 移動情報計算装置の第2の具体例を示す機能的構成図である。It is a functional block diagram which shows the 2nd specific example of a movement information calculation apparatus. 地磁気モードとジャイロモードを示す図である。It is a figure which shows geomagnetic mode and a gyro mode. 座標系計算処理のフローチャートである。It is a flowchart of coordinate system calculation processing. 第1の更新処理のフローチャートである。It is a flowchart of a 1st update process. 第2の更新処理のフローチャートである。It is a flowchart of a 2nd update process. 情報処理装置の構成図である。It is a block diagram of an information processor.

以下、図面を参照しながら、実施形態を詳細に説明する。
図1は、実施形態の移動情報計算装置の機能的構成例を示している。図1の移動情報計算装置101は、記憶部111、変換部112、計算部113、及び出力部114を含む。記憶部111は、加速度センサにより第1の座標系において検出された所定期間内の複数時刻における移動物体の加速度を記憶する。変換部112及び計算部113は、記憶部111が記憶する複数時刻における加速度を用いて移動情報を求め、出力部114は、移動情報を出力する。
Hereinafter, embodiments will be described in detail with reference to the drawings.
FIG. 1 shows an example of the functional configuration of the movement information calculation apparatus of the embodiment. The movement information calculation apparatus 101 of FIG. 1 includes a storage unit 111, a conversion unit 112, a calculation unit 113, and an output unit 114. The storage unit 111 stores the acceleration of the moving object at a plurality of times within a predetermined period detected by the acceleration sensor in the first coordinate system. The conversion unit 112 and the calculation unit 113 obtain movement information using the acceleration at a plurality of times stored in the storage unit 111, and the output unit 114 outputs the movement information.

図2は、図1の移動情報計算装置101が行う移動情報計算処理の例を示すフローチャートである。まず、変換部112は、記憶部111が記憶する複数時刻における加速度を表す複数の加速度ベクトルを、第2の座標系における複数の加速度ベクトルに変換する(ステップ201)。   FIG. 2 is a flowchart showing an example of movement information calculation processing performed by the movement information calculation device 101 of FIG. First, the conversion unit 112 converts a plurality of acceleration vectors representing accelerations at a plurality of times stored in the storage unit 111 into a plurality of acceleration vectors in the second coordinate system (step 201).

次に、計算部113は、第2の座標系における複数の加速度ベクトルを周波数領域表現の級数に変換し(ステップ202)、その級数における所定次数の項の係数から移動物体の移動距離と移動方向とを求める(ステップ203)。そして、出力部114は、移動距離と移動方向とを示す移動情報を出力する(ステップ404)。   Next, the calculation unit 113 converts the plurality of acceleration vectors in the second coordinate system into a series of frequency domain representations (step 202), and the moving distance and the moving direction of the moving object from the coefficients of the terms of the predetermined order in the series And (step 203). Then, the output unit 114 outputs movement information indicating the movement distance and the movement direction (step 404).

図1の移動情報計算装置101によれば、移動情報の計算負荷を低減することができる。   According to the movement information calculation apparatus 101 of FIG. 1, the calculation load of movement information can be reduced.

図3は、図1の移動情報計算装置101の第1の具体例を示している。図3の移動情報計算装置101は、例えば、携帯端末装置であり、記憶部111、変換部112、計算部113、出力部114、加速度センサ301、及び地磁気センサ302を含む。変換部112は、サイクル計算部311、座標系計算部312、及び加速度変換部313を含み、計算部113は、係数計算部321及び移動ベクトル計算部322を含む。   FIG. 3 shows a first example of the movement information calculation device 101 of FIG. The movement information calculation apparatus 101 of FIG. 3 is, for example, a portable terminal apparatus, and includes a storage unit 111, a conversion unit 112, a calculation unit 113, an output unit 114, an acceleration sensor 301, and a geomagnetic sensor 302. The conversion unit 112 includes a cycle calculation unit 311, a coordinate system calculation unit 312, and an acceleration conversion unit 313. The calculation unit 113 includes a coefficient calculation unit 321 and a movement vector calculation unit 322.

加速度センサ301は、各時刻における移動物体の加速度を検出し、記憶部111は、検出された加速度の情報を記憶する。移動物体は、例えば、移動情報計算装置101を携帯するユーザに対応し、検出された加速度は、そのユーザの身体に生じる加速度を表す。地磁気センサ302は、各時刻における地磁気の磁場を検出し、記憶部111は、検出された磁場の情報を記憶する。   The acceleration sensor 301 detects the acceleration of the moving object at each time, and the storage unit 111 stores information of the detected acceleration. The moving object corresponds to, for example, a user who carries the movement information calculation apparatus 101, and the detected acceleration represents an acceleration generated on the user's body. The geomagnetic sensor 302 detects the geomagnetic field at each time, and the storage unit 111 stores information of the detected magnetic field.

サイクル計算部311は、所定期間に対応する1サイクルに含まれる時系列データの個数を計算する。例えば、特許文献1の歩数計は、各時刻における人の加速度ベクトルに基づいて歩数を計数するため、P歩(Pは1以上の整数)歩行する間に検出された加速度ベクトルの個数をカウントすることが可能である。P歩に相当する期間を1サイクルとして用いた場合、その間に検出された加速度ベクトルの個数を、1サイクルに含まれる時系列データの個数として用いることができる。   The cycle calculation unit 311 calculates the number of time series data included in one cycle corresponding to a predetermined period. For example, the pedometer of Patent Document 1 counts the number of acceleration vectors detected while walking in P steps (P is an integer of 1 or more) in order to count the number of steps based on the acceleration vector of a person at each time. It is possible. When a period corresponding to P steps is used as one cycle, the number of acceleration vectors detected during that period can be used as the number of time-series data included in one cycle.

この場合、サイクル計算部311は、各時刻において検出された移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと、移動物体の移動により生じる移動加速度ベクトルとに分離する。次に、サイクル計算部311は、重力加速度ベクトルと移動加速度ベクトルとの内積を計算し、内積の符号が反転してから反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントする。この期間は、半歩に相当する期間である。   In this case, the cycle calculation unit 311 separates an acceleration vector representing the acceleration of the moving object detected at each time into a gravity acceleration vector and a movement acceleration vector generated by the movement of the moving object. Next, the cycle calculation unit 311 calculates the inner product of the gravity acceleration vector and the movement acceleration vector, and counts the number of accelerations detected in a period from when the sign of the inner product is inverted to when it is inverted to the code before inversion. Do. This period corresponds to a half step.

そして、サイクル計算部311は、カウントした個数に基づいて時系列データの個数を決定する。例えば、1サイクルがP歩に相当する場合、サイクル計算部311は、カウント動作を2P回繰り返してカウント値の総和を計算し、その総和を時系列データの個数に決定することができる。   Then, the cycle calculation unit 311 determines the number of time-series data based on the counted number. For example, when one cycle corresponds to P steps, the cycle calculation unit 311 can repeat the counting operation 2P times to calculate the sum of the count values, and determine the sum as the number of time series data.

座標系計算部312は、サイクル計算部311が計算した個数の時刻における加速度ベクトルと、それらの時刻における磁場を表す複数の磁場ベクトルとを用いて、移動情報計算装置101の座標系からグローバル座標系への変換行列を求める。通常、携帯端末装置は固定されておらず、ユーザが歩いたり走ったりすると位置及び姿勢が逐次変化するため、移動情報計算装置101の座標系は、逐次回転する状態になっている。このため、移動距離及び移動方向を計算する際には、固定されたグローバル座標系を用いることが好ましい。以下では、移動情報計算装置101の座標系を、装置座標系と記載することがある。   The coordinate system calculation unit 312 uses the acceleration vector at the number of times calculated by the cycle calculation unit 311 and the plurality of magnetic field vectors representing the magnetic field at those times to calculate the global coordinate system from the coordinate system of the movement information calculation device 101. Find the transformation matrix to Usually, the mobile terminal device is not fixed, and when the user walks or runs, the position and posture change sequentially, so the coordinate system of the movement information calculation device 101 is in a state of rotating sequentially. Therefore, when calculating the movement distance and the movement direction, it is preferable to use a fixed global coordinate system. Below, the coordinate system of the movement information calculation apparatus 101 may be described as an apparatus coordinate system.

加速度変換部313は、座標系計算部312が求めた変換行列を用いて、装置座標系における複数の加速度ベクトルをグローバル座標系における複数の加速度ベクトルに変換し、変換後の加速度ベクトルを記憶部111に格納する。   The acceleration conversion unit 313 converts a plurality of acceleration vectors in the device coordinate system into a plurality of acceleration vectors in the global coordinate system using the conversion matrix obtained by the coordinate system calculation unit 312, and stores the converted acceleration vector in the storage unit 111. Store in

係数計算部321は、フーリエ変換により、グローバル座標系における複数の加速度ベクトルをフーリエ級数に変換し、フーリエ級数における所定次数のコサイン係数及びサイン係数を計算する。移動ベクトル計算部322は、係数計算部321が求めたコサイン係数及びサイン係数から移動距離及び移動方向をそれぞれ求め、移動距離及び移動方向が示す移動ベクトルを計算して記憶部111に格納する。   The coefficient calculation unit 321 converts a plurality of acceleration vectors in the global coordinate system into a Fourier series by Fourier transform, and calculates cosine coefficients and sine coefficients of a predetermined order in the Fourier series. The movement vector calculation unit 322 obtains a movement distance and a movement direction from the cosine coefficient and the sine coefficient obtained by the coefficient calculation unit 321, calculates a movement vector indicated by the movement distance and the movement direction, and stores the movement vector in the storage unit 111.

図4は、図3の移動情報計算装置101が行う移動情報計算処理の具体例を示すフローチャートである。まず、サイクル計算部311は、検出された加速度を表す加速度ベクトルを用いて、1サイクルに含まれる時系列データの個数を計算する(ステップ401)。   FIG. 4 is a flowchart showing a specific example of the movement information calculation process performed by the movement information calculation device 101 of FIG. First, the cycle calculation unit 311 calculates the number of time-series data included in one cycle using an acceleration vector representing the detected acceleration (step 401).

次に、座標系計算部312は、サイクル計算部311が計算した個数の時刻における加速度ベクトルと、それらの時刻における磁場ベクトルとを用いて、座標変換の変換行列を求める(ステップ402)。   Next, the coordinate system calculation unit 312 obtains a transformation matrix of coordinate conversion using acceleration vectors at the number of times calculated by the cycle calculation unit 311 and magnetic field vectors at those times (step 402).

次に、加速度変換部313は、座標変換の変換行列を用いて、装置座標系における複数の加速度ベクトルをグローバル座標系における複数の加速度ベクトルに変換する(ステップ403)。   Next, the acceleration conversion unit 313 converts a plurality of acceleration vectors in the device coordinate system into a plurality of acceleration vectors in the global coordinate system using a conversion matrix of coordinate conversion (step 403).

次に、係数計算部321は、グローバル座標系における複数の加速度ベクトルに対するフーリエ変換を行って、フーリエ級数におけるコサイン係数及びサイン係数を計算する(ステップ404)。   Next, the coefficient calculation unit 321 performs Fourier transform on a plurality of acceleration vectors in the global coordinate system to calculate cosine coefficients and sine coefficients in the Fourier series (step 404).

次に、移動ベクトル計算部322は、係数計算部321が求めたコサイン係数及びサイン係数から移動ベクトルを計算し(ステップ405)、出力部114は、移動ベクトルを画面上に表示する(ステップ406)。   Next, the movement vector calculation unit 322 calculates a movement vector from the cosine coefficient and the sine coefficient obtained by the coefficient calculation unit 321 (step 405), and the output unit 114 displays the movement vector on the screen (step 406) .

次に、移動情報計算装置101は、次のサイクルの計算を行うか否かを判定する(ステップ407)。移動情報計算装置101は、ユーザから入力装置を介して入力される指示に基づいて、次のサイクルの計算を行うか否かを決定してもよい。移動情報計算装置101は、次のサイクルの計算を行う場合(ステップ407,NO)、ステップ401以降の処理を繰り返し、次のサイクルの計算を行わない場合(ステップ407,YES)、処理を終了する。   Next, the movement information calculation device 101 determines whether to calculate the next cycle (step 407). The movement information calculation apparatus 101 may determine whether to calculate the next cycle based on an instruction input from the user via the input device. The movement information calculation apparatus 101 repeats the processing of step 401 and the subsequent steps when calculating the next cycle (step 407, NO), and ends the processing when the calculation of the next cycle is not performed (step 407, YES). .

図5は、画面上に表示された移動軌跡の例を示している。図5のxy平面において、x軸の正の向きは東を表し、y軸の正の向きは北を表す。この例では、4サイクルの処理結果が表示されている。まず、最初のサイクルで移動ベクトル501が計算され、xy平面の原点を始点として移動ベクトル501が表示され、次に、2番目のサイクルで移動ベクトル502が計算され、移動ベクトル501の終点を始点として移動ベクトル502が表示される。   FIG. 5 shows an example of the movement trajectory displayed on the screen. In the xy plane of FIG. 5, the positive direction of the x axis represents east, and the positive direction of the y axis represents north. In this example, four cycles of processing results are displayed. First, the movement vector 501 is calculated in the first cycle, the movement vector 501 is displayed starting from the origin of the xy plane, and then the movement vector 502 is calculated in the second cycle, the end point of the movement vector 501 is the start A movement vector 502 is displayed.

3番目及び4番目のサイクルにおいても同様の計算が繰り返され、移動ベクトル503及び移動ベクトル504が追加される。移動ベクトル501〜移動ベクトル504が表す移動軌跡から、ユーザは、原点の位置を出発して、現在、移動ベクトル504の終点の位置にいることが分かる。   Similar calculations are repeated in the third and fourth cycles, and the motion vector 503 and the motion vector 504 are added. From the movement locus represented by movement vector 501 to movement vector 504, it is known that the user is at the end point of movement vector 504 starting from the position of the origin.

次に、5番目のサイクルで移動ベクトルを計算する例について説明する。時刻1〜時刻m+1(mは2以上の整数)において加速度センサ301が検出する加速度は、次のように表される。   Next, an example of calculating the movement vector in the fifth cycle will be described. The acceleration detected by the acceleration sensor 301 at time 1 to time m + 1 (m is an integer of 2 or more) is expressed as follows.

(ax,1,ay,1,az,1),...,(ax,m,ay,m,az,m),
(ax,m+1,ay,m+1,az,m+1
( Ax, 1 , ay, 1 , az, 1 ),. . . , (A x, m , a y, m , a z, m ),
( Ax, m + 1 , ay, m + 1 , az, m + 1 )

x,i(i=1〜m+1)は、装置座標系における時刻iの加速度のx成分を表し、ay,i及びaz,iは、それぞれ、時刻iの加速度のy成分及びz成分を表す。(ax,i,ay,i,az,i)は、時刻iにおける加速度ベクトルを表す。 a x, i (i = 1 to m + 1) represents the x component of the acceleration at time i in the device coordinate system, and a y, i and a z, i represent the y and z components of the acceleration at time i, respectively Represents ( Ax, i , ay, i , az, i ) represents an acceleration vector at time i.

また、時刻1〜時刻m+1において地磁気センサ302が検出する磁場は、次のように表される。   A magnetic field detected by the geomagnetic sensor 302 at time 1 to time m + 1 is represented as follows.

(mx,1,my,1,mz,1),...,(mx,m,my,m,mz,m),
(mx,m+1,my,m+1,mz,m+1
( M x, 1 , m y, 1 , m z, 1 ),. . . , ( M x, m , m y, m , m z, m ),
( M x, m + 1 , m y, m + 1 , m z, m + 1 )

x,iは、装置座標系における時刻iの磁場のx成分を表し、my,i及びmz,iは、それぞれ、時刻iの磁場のy成分及びz成分を表す。(mx,i,my,i,mz,i)は、時刻iにおける磁場ベクトルを表す。 m x, i represents the x component of the magnetic field at time i in the device coordinate system, and m y, i and m z, i represent the y and z components of the magnetic field at time i, respectively. ( M x, i , m y, i , m z, i ) represents the magnetic field vector at time i.

このうち、(ax,1,ay,1,az,1)〜(ax,m,ay,m,az,m)及び(mx,1,my,1,mz,1)〜(mx,m,my,m,mz,m)が、移動ベクトル501〜移動ベクトル504の計算に使用されたものとする。この場合、時刻m+1以降の加速度ベクトル及び磁場ベクトルを用いて、5番目のサイクルの移動ベクトルが計算される。 Among these, (ax , 1 , ay, 1 , az, 1 ) to (ax , m , ay, m , az, m ) and ( mx, 1 , my , 1 , mz) , 1 ) to (m x, m , m y, m , m z, m ) are used for calculation of movement vectors 501 to 504. In this case, using the acceleration vector and the magnetic field vector after time m + 1, the movement vector of the fifth cycle is calculated.

例えば、P歩に相当する期間を1サイクルとして用いた場合、サイクル計算部311は、その間に検出された加速度ベクトルの個数nを求める。そして、座標系計算部312は、時刻m+1以降のn個の加速度ベクトル及びn個の磁場ベクトルを用いて変換行列を求める。ここで、記述を簡単にするため、これらの加速度ベクトル及び磁場ベクトルの表記を、次のように変更する。   For example, when a period corresponding to P steps is used as one cycle, the cycle calculation unit 311 obtains the number n of acceleration vectors detected during that period. Then, the coordinate system calculation unit 312 obtains a transformation matrix using n acceleration vectors and n magnetic field vectors after time m + 1. Here, in order to simplify the description, the representations of these acceleration vectors and magnetic field vectors are changed as follows.

(ax,m+1,ay,m+1,az,m+1),(ax,m+2,ay,m+2,az,m+2),...,
(ax,m+n,ay,m+n,az,m+n
→(ax,1,ay,1,az,1),(ax,2,ay,2,az,2),...,
(ax,n,ay,n,az,n
( Ax, m + 1 , ay, m + 1 , az, m + 1 ), (ax , m + 2 , ay, m + 2 , az, m + 2 ),. . . ,
( Ax, m + n , ay, m + n , az, m + n )
→ (ax , 1 , ay, 1 , az, 1 ), (ax , 2 , ay, 2 , az, 2 ),. . . ,
( Ax, n , ay, n , az, n )

(mx,m+1,my,m+1,mz,m+1),(mx,m+2,my,m+2,mz,m+2),...,
(mx,m+n,my,m+n,mz,m+n
→(mx,1,my,1,mz,1),(mx,2,my,2,mz,2),...,
(mx,n,my,n,mz,n
( M x, m + 1 , m y, m + 1 , m z, m + 1 ), (m x, m + 2 , m y, m + 2 , m z, m + 2 ),. . . ,
( M x, m + n , m y, m + n , m z, m + n )
→ (m x, 1 , m y, 1 , m z, 1 ), (m x, 2 , m y, 2 , m z, 2 ),. . . ,
( M x, n , m y, n , m z, n )

図6は、装置座標系とグローバル座標系の例を示している。座標系計算部312が求めた変換行列により、装置座標系601における加速度ベクトルがグローバル座標系602における加速度ベクトルに変換される。グローバル座標系602のx軸、y軸、及びz軸の正の向きは、それぞれ、東、北、高さを表す。   FIG. 6 shows an example of a device coordinate system and a global coordinate system. The acceleration vector in the device coordinate system 601 is converted into an acceleration vector in the global coordinate system 602 by the conversion matrix obtained by the coordinate system calculation unit 312. The positive orientations of the x-axis, y-axis, and z-axis of global coordinate system 602 represent east, north, and height, respectively.

まず、座標系計算部312は、次式によりn個の加速度ベクトルの平均を計算し、重力方向ベクトル(g,g,g)を求める。 First, the coordinate system calculation unit 312 calculates an average of n acceleration vectors according to the following equation to obtain a gravity direction vector (g x , g y , g z ).

重力加速度は固定値の加速度であり、移動物体の移動により生じる移動加速度よりも大きな値を持つため、n個の加速度ベクトルを平均すると、移動加速度の成分が相殺されて重力加速度の成分のみが残る。この例では、重力方向ベクトル(g,g,g)は、グローバル座標系602におけるz軸の正の向きを表す。 Gravitational acceleration is a fixed value of acceleration and has a larger value than the moving acceleration caused by the movement of a moving object. Therefore, averaging n acceleration vectors cancels out the moving acceleration component and leaves only the gravity acceleration component. . In this example, the gravity direction vector (g x , g y , g z ) represents the positive direction of the z axis in the global coordinate system 602.

次に、座標系計算部312は、次式によりn個の磁場ベクトルの平均を計算し、平均磁場ベクトル(m,m,m)を求める。 Next, the coordinate system calculation unit 312 calculates an average of n magnetic field vectors according to the following equation to obtain an average magnetic field vector (m x , m y , m z ).

平均磁場ベクトル(m,m,m)は北方向の成分を含んでいるが、重力方向の成分も含むため、重力方向ベクトルと直交しているわけではない。そこで、座標系計算部312は、次式により平均磁場ベクトルと重力方向ベクトルとの外積を計算し、東方向ベクトル(e,e,e)を求める。 The mean magnetic field vector (m x , m y , m z ) includes a component in the north direction, but also includes a component in the gravity direction, and therefore is not orthogonal to the gravity direction vector. Therefore, the coordinate system calculation unit 312 calculates the outer product of the average magnetic field vector and the gravity direction vector by the following equation to obtain an east direction vector (e x , e y , e z ).

(e,e,e
=(m−m,m−m,m−m) (3)
(E x , e y , e z )
= ( M y g z- m z g y , m z g x- m x g z , m x g y- m y g z ) (3)

東方向ベクトル(e,e,e)は、重力方向と北方向の両方に直交しており、東を向くベクトルである。 East direction vector (e x, e y, e z) , both the direction of gravity and north are orthogonal to a vector directed to the east.

次に、座標系計算部312は、次式により重力方向ベクトルと東方向ベクトルとの外積を計算し、北方向ベクトル(n,n,n)を求める。 Next, the coordinate system calculation unit 312 calculates the outer product of the gravity direction vector and the east direction vector by the following equation, and obtains the north direction vector (n x , n y , n z ).

(n,n,n
=(g−g,g−g,g−g) (4)
(N x , n y , n z )
= (G y e z- g z e y , g z e x- g x e z , g x e y- g y e z ) (4)

北方向ベクトル(n,n,n)は、重力方向と東方向の両方に直交しており、北を向くベクトルである。重力方向ベクトル、東方向ベクトル、及び北方向ベクトルの3つの互いに直交するベクトルにより、グローバル座標系が決定される。 The north direction vector (n x , n y , n z ) is a vector that is orthogonal to both the gravity direction and the east direction and faces north. A global coordinate system is determined by three mutually orthogonal vectors of gravity direction vector, east direction vector, and north direction vector.

なお、加速度センサ301の仕様によっては、式(1)の重力方向ベクトル(g,g,g)がグローバル座標系602におけるz軸の負の向きを表すこともある。この場合、式(3)において平均磁場ベクトルと重力方向ベクトルの順序を入れ替えて外積を計算し、式(4)において重力方向ベクトルと東方向ベクトルの順序を入れ替えて外積を計算すればよい。 Depending on the specification of the acceleration sensor 301, the gravity direction vector (g x , g y , g z ) of the equation (1) may represent the negative direction of the z axis in the global coordinate system 602. In this case, the order of the average magnetic field vector and the gravity direction vector may be switched in Equation (3) to calculate the outer product, and the order of the gravity direction vector and the east direction vector may be switched in Equation (4) to calculate the outer product.

座標系計算部312は、求めた3つのベクトルを正規化し、正規化された各ベクトルの成分を用いて、次式の変換行列Hを求める。   The coordinate system calculation unit 312 normalizes the three obtained vectors, and uses a component of each normalized vector to obtain a transformation matrix H of the following expression.

変換行列Hは、装置座標系601におけるベクトルをグローバル座標系602におけるベクトルに変換する回転行列である。   The transformation matrix H is a rotation matrix that transforms a vector in the device coordinate system 601 into a vector in the global coordinate system 602.

加速度変換部313は、変換行列Hを用いた1次変換により、装置座標系601における加速度ベクトル(ax,i,ay,i,az,i)を、グローバル座標系602における加速度ベクトル(αx,i,αy,i,αz,i)に変換する(i=1〜n)。 The acceleration conversion unit 313 performs the linear transformation using the conversion matrix H to obtain the acceleration vector (ax , i , ay, i , az, i ) in the device coordinate system 601 and the acceleration vector (global coordinate system 602). Convert to α x, i , α y, i , α z, i ) (i = 1 to n).

これにより、グローバル座標系602における加速度ベクトル(αx,1,αy,1,αz,1)〜(αx,n,αy,n,αz,n)が得られる。 Thereby, acceleration vectors (α x, 1 , α y, 1 , α z, 1 ) to (α x, n , α y, n , α z, n ) in the global coordinate system 602 are obtained.

係数計算部321は、(αx,1,αy,1,αz,1)〜(αx,n,αy,n,αz,n)を用いて離散フーリエ変換を行い、次式により、k次コサイン係数(cx,k,cy,k,cz,k)及びk次サイン係数(sx,k,sy,k,sz,k)を計算する。 The coefficient calculation unit 321 performs discrete Fourier transform using (α x, 1 , α y, 1 , α z, 1 ) to (α x, n , α y, n , α z, n ), and The kth-order cosine coefficient (cx , k , cy, k , cz, k ) and the kth-order sine coefficient (sx , k , sy, k , sz, k ) are calculated.

1サイクルがP歩に相当する場合、係数計算部321は、k=PとしてP次コサイン係数及びP次サイン係数を計算する。そして、移動ベクトル計算部322は、P次コサイン係数及びP次サイン係数から、次式により移動ベクトル(pos,pos)を計算する。 When one cycle corresponds to P steps, the coefficient calculation unit 321 calculates Pth-order cosine coefficient and Pth-order sine coefficient as k = P. Then, the movement vector calculation unit 322 calculates the movement vector (pos x , pos y ) according to the following equation from the Pth-order cosine coefficient and the Pth-order sine coefficient.

式(9)により移動ベクトルを計算できる理由については後述する。式(9)の右辺において、cz,kの代わりにnT、(d1+d2・nT)、又は(cz,k/|cz,k|)(d1+d2・nT)を用いてもよい。Tは加速度データのサンプリング時間を表し、d1及びd2は所定の定数を表す。 The reason why the movement vector can be calculated by equation (9) will be described later. In the right side of the equation (9), nT, (d1 + d2 · nT), or (cz, k / | cz, k |) (d1 + d2 · nT) may be used instead of c z, k . T represents the sampling time of acceleration data, and d1 and d2 represent predetermined constants.

出力部114は、図7に示すように、移動ベクトル504の終点を始点とする移動ベクトル(pos,pos)を、5番目のサイクルの移動ベクトル505として追加する。移動ベクトル501〜移動ベクトル505が表す移動軌跡から、ユーザは、現在、移動ベクトル505の終点の位置にいることが分かる。 The output unit 114 adds the movement vector (pos x , pos y ) starting from the end point of the movement vector 504 as the movement vector 505 of the fifth cycle, as shown in FIG. 7. From the movement locus represented by movement vector 501 to movement vector 505, it can be known that the user is currently at the end point of movement vector 505.

次に、式(9)により移動ベクトルを計算できる理由について説明する。式(9)の右辺のcz,kは、移動距離そのものではないが、移動距離に対応する長さを表しており、
は、移動方向の単位ベクトルを表している。人の歩行モデルは、移動方向と重力方向の2つのベクトルで張られる平面上を歩行加速度が回転する数理モデルで表現できることから、式(9)の妥当性を説明することができる。
Next, the reason why the movement vector can be calculated by equation (9) will be described. Although cz, k on the right side of equation (9) is not the movement distance itself, it represents a length corresponding to the movement distance,
Represents a unit vector in the movement direction. The human walking model can be represented by a mathematical model in which the walking acceleration rotates on a plane spanned by two vectors of the moving direction and the gravity direction, so that the validity of equation (9) can be explained.

図8は、ユーザが2歩歩行した場合の頭の移動軌跡の例を示している。ユーザの頭がグローバル座標系の原点801の位置にある状態でユーザが歩き始める場合、頭は移動軌跡802に沿って移動する。歩行加速度811は、最初は真上を向いており、歩行中には、移動方向と重力方向の2つのベクトルで張られる平面上を回転し、1歩歩き終えると、再び真上を向く。そして、2歩目も同様に、歩行加速度811は、同じ平面上を1回転する。   FIG. 8 shows an example of the movement trajectory of the head when the user walks two steps. When the user starts walking with the user's head at the position of the origin 801 of the global coordinate system, the head moves along the movement trajectory 802. The walking acceleration 811 initially points upward, and during walking, rotates on a plane spanned by two vectors of the movement direction and the gravity direction, and points upward again when walking one step. Then, similarly in the second step, the walking acceleration 811 makes one rotation on the same plane.

各時刻における歩行加速度811は、xy平面成分812とz成分813とに分解することができ、xy平面成分812をxy平面上に移動するとベクトル814が得られる。xy平面上の各ベクトル814は、さらにx成分815とy成分816とに分解することができる。   The walking acceleration 811 at each time can be decomposed into the xy plane component 812 and the z component 813. When the xy plane component 812 is moved on the xy plane, a vector 814 is obtained. Each vector 814 on the xy plane can be further decomposed into x component 815 and y component 816.

図9は、ユーザが2歩歩行する間におけるz成分813、x成分815、及びy成分816の時間変化の例を示している。曲線901はz成分813の時間変化を表し、曲線902はx成分815の時間変化を表し、曲線903はy成分816の時間変化を表す。いずれの曲線も2周期分の周期波形であり、曲線901はコサイン波形になっており、曲線902及び曲線903はサイン波形になっている。   FIG. 9 shows an example of temporal change of the z component 813, the x component 815, and the y component 816 while the user walks two steps. The curve 901 represents the time change of the z component 813, the curve 902 represents the time change of the x component 815, and the curve 903 represents the time change of the y component 816. Each of the curves is a periodic waveform for two cycles, the curve 901 is a cosine waveform, and the curves 902 and 903 are sine waveforms.

この場合、式(7)のk次コサイン係数cz,k(k=2)は、曲線901の2次成分の振幅911を表している。また、式(8)のk次サイン係数sx,k(k=2)は、曲線902の2次成分の振幅912を表し、k次サイン係数sy,k(k=2)は、曲線903の2次成分の振幅913を表している。 In this case, the k-th cosine coefficient c z, k (k = 2) in Expression (7) represents the amplitude 911 of the second-order component of the curve 901. Further, the k-th sine coefficient s x, k (k = 2) in equation (8) represents the amplitude 912 of the second-order component of the curve 902, and the k-th sine coefficient s y, k (k = 2) represents the curve The amplitude 913 of the second-order component 903 is shown.

より詳しく説明すると、先願である特願2014−189103号に記載されたフィッティング方法により、グローバル座標系における加速度ベクトル(αx,1,αy,1,αz,1)〜(αx,n,αy,n,αz,n)から連続時間加速度曲線を求めることができる。このとき、連続時間加速度曲線はフーリエ級数となり、そのフーリエ級数の2次コサイン係数cz,2は、2次コサイン曲線の係数となり、2次サイン係数sx,2及びsy,2は、2次サイン曲線の係数となっている。 In more detail, by fitting the method described in Japanese Patent Application No. 2014-189103 is prior application, the acceleration vector in the global coordinate system (α x, 1, α y , 1, α z, 1) ~ (α x, A continuous time acceleration curve can be determined from n , α y, n , α z, n ). At this time, the continuous time acceleration curve is a Fourier series, and the second order cosine coefficient c z, 2 of the Fourier series is a coefficient of a second order cosine curve, and the second order sine coefficients s x, 2 and s y, 2 are 2 It is the coefficient of the next sine curve.

図9の曲線901〜曲線903は理想形であるため、きれいな2次コサイン曲線又は2次サイン曲線であるが、実際には、2次成分以外のコサイン曲線又はサイン曲線も含まれる。しかし、2次以外の成分はノイズとみなせるため、式(9)の移動ベクトル(pos,pos)の計算では省略されている。 Since the curves 901 to 903 in FIG. 9 are ideal shapes, they are clean quadratic cosine curves or quadratic sine curves, but in practice they also include cosine curves or sine curves other than quadratic components. However, since components other than the second order can be regarded as noise, they are omitted in the calculation of the movement vector (pos x , pos y ) in equation (9).

図8に示されるように原点801の位置から歩き始める場合、歩行加速度811は最初は真上を向いており、xy平面成分を含まないため、曲線901が示すように、歩行加速度811の大きさは、2次コサイン係数cz,2により表すことができる。そして、式(9)の右辺のcz,k(k=2)は、移動距離そのものではなく、歩行加速度の大きさを表している。 As shown in FIG. 8, when starting to walk from the position of the origin 801, the walking acceleration 811 initially points upward and does not include the xy plane component, so the magnitude of the walking acceleration 811 as shown by the curve 901. Can be represented by a second-order cosine coefficient c z, 2 . And c z, k (k = 2) of the right side of Formula (9) represents not the movement distance itself but the magnitude | size of walking acceleration.

また、式(9)の右辺の
(k=2)は、図10に示されるように、xy平面上における移動方向の単位ベクトル1001を表している。歩行加速度の大きさと移動距離は比例するとみなせるため、式(9)により移動ベクトルを定義することが可能になる。k=2以外の場合についても同様である。
Also, on the right side of equation (9)
As shown in FIG. 10, (k = 2) represents a unit vector 1001 of the moving direction on the xy plane. Since the magnitude of the walking acceleration and the movement distance can be considered to be proportional, it is possible to define the movement vector by equation (9). The same applies to cases other than k = 2.

式(7)のk次コサイン係数cz,k及び式(8)のk次サイン係数sx,k及びsy,kの近似値は、例えば、テイラー展開により求めることができ、式(9)の移動ベクトル(pos,pos)は、ニュートン法等により求めることができる。この場合、四則演算のみで移動ベクトルを計算することができ、計算負荷が低減されるため、処理能力の低いCPUでも図4の移動情報計算処理を実行可能である。 The k-th cosine coefficient c z, k in equation (7) and the approximate value of the k-th sine coefficient s x, k and s y, k in equation (8) can be obtained, for example, by Taylor expansion, and The movement vector (pos x , pos y ) of) can be obtained by the Newton method or the like. In this case, the movement vector can be calculated only by the four arithmetic operations, and the calculation load is reduced, so that the movement information calculation process of FIG. 4 can be executed even by a CPU with low processing capacity.

また、ステップ401において、各時刻における加速度ベクトルを用いて1サイクルに含まれる時系列データの個数を求めることで、2歩、4歩等の歩数に応じた個数の加速度ベクトルの組が決定されるため、精度良く移動ベクトルを計算することができる。   Further, in step 401, by obtaining the number of time series data included in one cycle using the acceleration vector at each time, a set of acceleration vectors according to the number of steps such as 2 steps and 4 steps is determined. Therefore, the movement vector can be calculated accurately.

ところで、地磁気センサ302が検出する磁場の代わりに、角速度センサが検出する移動物体の角速度に基づいてグローバル座標系を計算することも可能である。   Incidentally, instead of the magnetic field detected by the geomagnetic sensor 302, it is also possible to calculate a global coordinate system based on the angular velocity of the moving object detected by the angular velocity sensor.

図11は、角速度センサを利用した、図1の移動情報計算装置101の第2の具体例を示している。図11の移動情報計算装置101は、図3の移動情報計算装置101にジャイロセンサ1101を追加した構成を有する。ジャイロセンサ1101は、各時刻における移動物体の角速度を検出し、記憶部111は、検出された角速度の情報を記憶する。   FIG. 11 shows a second specific example of the movement information calculation apparatus 101 of FIG. 1 using an angular velocity sensor. The movement information calculation apparatus 101 of FIG. 11 has a configuration in which a gyro sensor 1101 is added to the movement information calculation apparatus 101 of FIG. 3. The gyro sensor 1101 detects the angular velocity of the moving object at each time, and the storage unit 111 stores information on the detected angular velocity.

図12は、磁場に基づいてグローバル座標系を計算する地磁気モードと、角速度に基づいてグローバル座標系を計算するジャイロモードの例を示している。例えば、移動軌跡1201が示すように、ユーザが、地磁気が安定している屋外から地磁気が不安定な屋内へ移動する場合、移動情報計算装置101は、屋外では地磁気モードで動作し、屋内ではジャイロモードで動作する。   FIG. 12 shows an example of a geomagnetic mode in which a global coordinate system is calculated based on a magnetic field, and a gyro mode in which a global coordinate system is calculated based on an angular velocity. For example, as shown by the movement trajectory 1201, when the user moves from the outdoors where the geomagnetism is stable to the indoor where the geomagnetism is unstable, the movement information calculation apparatus 101 operates in the geomagnetic mode outdoors, and the gyro is indoors. Operate in mode.

また、移動情報計算装置101は、グローバル座標系の座標軸を東西南北に固定することなく、移動軌跡1202が示すように、起点1204の位置と、起点1204における移動方向1203とを基準として、ジャイロモードでグローバル座標系を計算してもよい。   In addition, the movement information calculation apparatus 101 does not fix the coordinate axes of the global coordinate system to the east, west, north, south, and as the movement locus 1202 indicates, the gyro mode is based on the position of the starting point 1204 and the moving direction 1203 at the starting point 1204 The global coordinate system may be calculated by

図13は、図4のステップ402において、図11の座標系計算部312が行う座標系計算処理の例を示すフローチャートである。まず、座標系計算部312は、地磁気センサ302が検出した磁場に基づいて、地磁気が安定しているか否かをチェックする(ステップ1301)。座標系計算部312は、例えば、磁場の強度又は伏角等の値を所定の閾値と比較することで、地磁気が安定しているか否かを判定することができる。   FIG. 13 is a flowchart showing an example of coordinate system calculation processing performed by the coordinate system calculation unit 312 of FIG. 11 in step 402 of FIG. First, based on the magnetic field detected by the geomagnetic sensor 302, the coordinate system calculation unit 312 checks whether or not the geomagnetism is stable (step 1301). The coordinate system calculation unit 312 can determine, for example, whether or not the geomagnetism is stable by comparing values such as the strength or inclination of the magnetic field with a predetermined threshold.

地磁気が安定している場合(ステップ1301,YES)、座標系計算部312は、地磁気センサ302が検出した磁場を用いてグローバル座標系を計算する(ステップ1302)。   If the geomagnetism is stable (step 1301, YES), the coordinate system calculation unit 312 calculates a global coordinate system using the magnetic field detected by the geomagnetic sensor 302 (step 1302).

一方、地磁気が安定していない場合(ステップ1301,NO)、座標系計算部312は、ジャイロセンサ1101が検出した角速度を用いてグローバル座標系を計算する(ステップ1303)。この場合、座標系計算部312は、前のサイクルにおいて計算された変換行列Hを、角速度に基づいて更新することで、変換行列Hを計算する。   On the other hand, if the geomagnetism is not stable (step 1301, NO), the coordinate system calculation unit 312 calculates a global coordinate system using the angular velocity detected by the gyro sensor 1101 (step 1303). In this case, the coordinate system calculation unit 312 calculates the transformation matrix H by updating the transformation matrix H calculated in the previous cycle based on the angular velocity.

図14は、図13のステップ1303における第1の更新処理の例を示すフローチャートである。変換行列Hを転置して得られる回転行列Rは、次式により表される。   FIG. 14 is a flowchart showing an example of the first update process in step 1303 of FIG. The rotation matrix R obtained by transposing the transformation matrix H is expressed by the following equation.

このとき、正規化されたベクトルx、ベクトルy、及びベクトルzは、次式により定義される。   At this time, the normalized vectors x, y, and z are defined by the following equations.

ベクトルx=(x1,x2,x3) (11)
ベクトルy=(y1,y2,y3) (12)
ベクトルz=(z1,z2,z3) (13)
Vector x = (x1, x2, x3) T (11)
Vector y = (y1, y2, y3) T (12)
Vector z = (z1, z2, z3) T (13)

また、1サイクルの間にジャイロセンサ1101により検出されたn個の角速度は、次式の角速度ベクトルb(i=1〜n)により表される。 Further, n angular velocities detected by the gyro sensor 1101 during one cycle are represented by angular velocity vectors b i (i = 1 to n) of the following equation.

=(bx,i,by,i,bz,i (14) b i = (b x, i , b y, i , b z, i ) T (14)

まず、座標系計算部312は、n個の加速度ベクトルから、式(1)を用いて正規化された重力方向ベクトルgを求める(ステップ1401)。   First, the coordinate system calculation unit 312 obtains a gravity direction vector g normalized using the equation (1) from n acceleration vectors (step 1401).

次に、座標系計算部312は、1番目の角速度ベクトルbと重力方向ベクトルgとの内積dθを用いて、次式により回転角φを計算する(ステップ1402)。 Next, using the inner product dθ of the first angular velocity vector b1 and the gravity direction vector g, the coordinate system calculation unit 312 calculates the rotation angle φ according to the following equation (step 1402).

φ=dθΔT=角速度ベクトルb・重力方向ベクトルgΔT (15) φ = dθΔT = angular velocity vector b 1 · gravity direction vector gΔT (15)

ΔTは、各センサのサンプリング間隔を表し、dθは、鉛直軸周りの角速度を表し、φは、時間ΔTの間における鉛直軸周りの回転角を表す。   ΔT represents the sampling interval of each sensor, dθ represents the angular velocity around the vertical axis, and φ represents the rotation angle around the vertical axis during time ΔT.

次に、座標系計算部312は、回転角φを用いて、次式によりz軸の周りの回転行列Qを計算する(ステップ1403)。   Next, the coordinate system calculation unit 312 calculates the rotation matrix Q around the z axis according to the following equation using the rotation angle φ (step 1403).

次に、座標系計算部312は、回転行列Qを用いて、次式により更新前の回転行列R=R1から、更新後の回転行列R=R2を計算する(ステップ1404)。   Next, using the rotation matrix Q, the coordinate system calculation unit 312 calculates the rotation matrix R = R2 after update from the rotation matrix R = R1 before update according to the following equation (step 1404).

R2=R1Q (17) R2 = R1Q (17)

式(17)の回転行列R1としては、前のサイクルにおける回転行列Rのベクトルzを、ステップ1401で求めた重力方向ベクトルgに置き換えた行列を用いることができる。回転行列R1に回転行列Qを乗算してもベクトルzは変化しないため、更新後の回転行列R2のベクトルzも、重力方向ベクトルgに一致する。   As the rotation matrix R1 of Expression (17), a matrix obtained by replacing the vector z of the rotation matrix R in the previous cycle with the gravity direction vector g obtained in step 1401 can be used. Since the vector z does not change even if the rotation matrix R1 is multiplied by the rotation matrix Q, the vector z of the updated rotation matrix R2 also matches the gravity direction vector g.

次に、座標系計算部312は、1サイクルに対応するn個の角速度ベクトルを処理したか否かをチェックする(ステップ1405)。未処理の角速度ベクトルが残っている場合(ステップ1405,NO)、座標系計算部312は、次の角速度ベクトルを用いてステップ1402以降の処理を繰り返す。このとき、式(17)の新たな回転行列R1としては、ステップ1404で計算された更新後の回転行列R2が用いられる。   Next, the coordinate system calculation unit 312 checks whether or not n angular velocity vectors corresponding to one cycle have been processed (step 1405). If an unprocessed angular velocity vector remains (step 1405, NO), the coordinate system calculation unit 312 repeats the processing of step 1402 and subsequent steps using the next angular velocity vector. At this time, the updated rotation matrix R2 calculated in step 1404 is used as the new rotation matrix R1 of equation (17).

そして、すべての角速度ベクトルを処理した場合(ステップ1405,YES)、座標系計算部312は、処理を終了する。最後に計算された回転行列R2を転置することで、変換行列Hが求められる。   Then, if all angular velocity vectors have been processed (step 1405, YES), the coordinate system calculation unit 312 ends the processing. The transposed matrix H is obtained by transposing the rotation matrix R2 calculated last.

図14の更新処理によれば、移動情報計算装置101が鉛直軸周り以外にあまり回転しない場合に、適切な変換行列Hを求めることができる。しかし、ユーザが移動情報計算装置101を手に持って傾けながら旋回した場合には、更新後の変換行列Hは、必ずしも正しい変換を表しているとは限らない。   According to the update process of FIG. 14, when the movement information calculation apparatus 101 does not rotate much except around the vertical axis, it is possible to obtain an appropriate conversion matrix H. However, when the user holds the movement information calculation apparatus 101 and turns while tilting, the updated conversion matrix H does not necessarily represent the correct conversion.

図15は、図13のステップ1303における第2の更新処理の例を示すフローチャートである。まず、座標系計算部312は、更新前の回転行列R1と1番目の角速度ベクトルbとを用いて、次式により、グローバル座標系における角速度ベクトルrを計算する(ステップ1501)。 FIG. 15 is a flow chart showing an example of the second updating process in step 1303 of FIG. First, the coordinate system calculation unit 312, by using a pre-update rotation matrix R1 1 th and the angular velocity vector b 1, the following equation to calculate the angular velocity vector r in the global coordinate system (step 1501).

角速度ベクトルr=R1 (21) Angular velocity vector r = R1 T b 1 (21)

式(21)の回転行列R1としては、前のサイクルにおける回転行列Rを用いることができる。   As the rotation matrix R1 of equation (21), the rotation matrix R in the previous cycle can be used.

次に、座標系計算部312は、角速度ベクトルrを用いて回転行列Rの差分を計算する(ステップ1502)。このとき、座標系計算部312は、式(10)の回転行列Rの要素を用いて、次式のベクトルv1〜ベクトルv3を生成する。   Next, the coordinate system calculation unit 312 calculates the difference of the rotation matrix R using the angular velocity vector r (step 1502). At this time, the coordinate system calculation unit 312 generates the vectors v1 to v3 of the following equations using the elements of the rotation matrix R of equation (10).

ベクトルv1=(x1,y1,z1) (22)
ベクトルv2=(x2,y2,z2) (23)
ベクトルv3=(x3,y3,z3) (24)
Vector v1 = (x1, y1, z1) T (22)
Vector v2 = (x2, y2, z2) T (23)
Vector v3 = (x3, y3, z3) T (24)

次に、座標系計算部312は、角速度ベクトルrを用いて、次式のような外積演算を行う。   Next, using the angular velocity vector r, the coordinate system calculation unit 312 performs an outer product calculation such as the following equation.

ベクトルw1=(w11,w12,w13)
=角速度ベクトルr×ベクトルv1 (25)
ベクトルw2=(w21,w22,w23)
=角速度ベクトルr×ベクトルv2 (26)
ベクトルw3=(w31,w32,w33)
=角速度ベクトルr×ベクトルv3 (27)
Vector w1 = (w11, w12, w13) T
= Angular velocity vector r × vector v1 (25)
Vector w2 = (w21, w22, w23) T
= Angular velocity vector r × vector v 2 (26)
Vector w3 = (w31, w32, w33) T
= Angular velocity vector r × vector v3 (27)

式(25)〜式(27)の外積演算は、ベクトルv1〜ベクトルv3の微分を行うことに相当する。座標系計算部312は、ベクトルw1〜ベクトルw3の要素を用いて、次式のような差分dRを生成する。   The outer product calculation of Equations (25) to (27) corresponds to performing differentiation of the vectors v1 to v3. The coordinate system calculation unit 312 generates a difference dR as expressed by the following equation using elements of the vectors w1 to w3.

次に、座標系計算部312は、差分dRを用いて、次式により更新前の回転行列R1から更新後の回転行列R2を計算する(ステップ1503)。   Next, using the difference dR, the coordinate system calculation unit 312 calculates the post-update rotation matrix R2 from the pre-update rotation matrix R1 according to the following equation (step 1503).

R2=R1+dR (29) R2 = R1 + dR (29)

式(29)の加算は、回転行列Rの積分を行うことに相当する。   The addition of equation (29) corresponds to the integration of the rotation matrix R.

次に、座標系計算部312は、1サイクルに対応するn個の角速度ベクトルを処理したか否かをチェックする(ステップ1504)。未処理の角速度ベクトルが残っている場合(ステップ1504,NO)、座標系計算部312は、次の角速度ベクトルを用いてステップ1501以降の処理を繰り返す。このとき、式(21)及び式(29)の新たな回転行列R1としては、ステップ1503で計算された更新後の回転行列R2が用いられる。   Next, the coordinate system calculation unit 312 checks whether or not n angular velocity vectors corresponding to one cycle have been processed (step 1504). If an unprocessed angular velocity vector remains (step 1504, NO), the coordinate system calculation unit 312 repeats the processing of step 1501 and subsequent steps using the next angular velocity vector. At this time, the updated rotation matrix R2 calculated in step 1503 is used as the new rotation matrix R1 of the equations (21) and (29).

すべての角速度ベクトルを処理した場合(ステップ1504,YES)、座標系計算部312は、回転行列R2を前回補正してから一定期間が経過したか否かをチェックする(ステップ1505)。   When all angular velocity vectors have been processed (YES in step 1504), the coordinate system calculation unit 312 checks whether or not a certain period has elapsed since the rotation matrix R2 was previously corrected (step 1505).

一定期間が経過している場合(ステップ1505,YES)、座標系計算部312は、重力方向ベクトルgを用いて回転行列R2を補正する(ステップ1506)。このとき、座標系計算部312は、n個の加速度ベクトルから、式(1)を用いて正規化された重力方向ベクトルgを求め、更新後の回転行列R2のベクトルzを重力方向ベクトルgに置き換える。そして、座標系計算部312は、回転行列R2のベクトルzとベクトルxとの外積をベクトルyに設定し、ベクトルyとベクトルzとの外積をベクトルxに設定し、ベクトルx及びベクトルyを正規化することで、補正後の回転行列R2を生成する。   If the fixed period has elapsed (YES in step 1505), the coordinate system calculation unit 312 corrects the rotation matrix R2 using the gravity direction vector g (step 1506). At this time, the coordinate system calculation unit 312 obtains the gravity direction vector g normalized using the equation (1) from the n acceleration vectors, and sets the vector z of the rotation matrix R2 after updating as the gravity direction vector g. replace. Then, the coordinate system calculation unit 312 sets the outer product of the vector z of the rotation matrix R2 and the vector x as the vector y, sets the outer product of the vector y and the vector z as the vector x, and normalizes the vector x and the vector y. , To generate a corrected rotation matrix R2.

一方、一定期間が経過していない場合(ステップ1505,NO)、座標系計算部312は、処理を終了する。ステップ1503で最後に計算された回転行列R2、又はステップ1506で補正された回転行列R2を転置することで、変換行列Hが求められる。   On the other hand, when the fixed period has not elapsed (step 1505, NO), the coordinate system calculation unit 312 ends the process. By transposing the rotation matrix R2 last calculated in step 1503 or the rotation matrix R2 corrected in step 1506, a transformation matrix H is obtained.

図15の更新処理によれば、回転角を3次元的に処理することで変換行列Hの誤差を低減することができる。また、ステップ1506において定期的に回転行列R2を補正することで、誤差の累積を防止することができる。   According to the update processing of FIG. 15, the error of the transformation matrix H can be reduced by processing the rotation angle in a three-dimensional manner. Also, by periodically correcting the rotation matrix R2 in step 1506, it is possible to prevent the accumulation of errors.

図1、図3、及び図11の移動情報計算装置101の構成は一例に過ぎず、移動情報計算装置101の用途や条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、図11の移動情報計算装置101がジャイロモードのみで動作する場合は、地磁気センサ302を省略することができる。   The configuration of the movement information calculation device 101 of FIGS. 1, 3 and 11 is merely an example, and some components may be omitted or changed according to the application and conditions of the movement information calculation device 101. For example, when the movement information calculation apparatus 101 of FIG. 11 operates only in the gyro mode, the geomagnetic sensor 302 can be omitted.

記憶部111があらかじめ加速度、磁場、角速度の情報を記憶している場合は、図3及び図11の加速度センサ301、地磁気センサ302、及びジャイロセンサ1101を省略することができる。また、1サイクルに対応する時刻の個数があらかじめ決められている場合は、図3及び図11のサイクル計算部311を省略することができる。   When the storage unit 111 previously stores information on acceleration, magnetic field, and angular velocity, the acceleration sensor 301, the geomagnetic sensor 302, and the gyro sensor 1101 shown in FIGS. 3 and 11 can be omitted. Further, when the number of times corresponding to one cycle is determined in advance, the cycle calculation unit 311 of FIGS. 3 and 11 can be omitted.

図2、図4、及び図13〜図15のフローチャートは一例に過ぎず、移動情報計算装置101の構成や条件に応じて一部の処理を省略又は変更してもよい。例えば、1サイクルに対応する時刻の個数があらかじめ決められている場合は、図4のステップ401の処理を省略することができる。   The flowcharts of FIG. 2, FIG. 4, and FIG. 13 to FIG. 13 are merely examples, and part of the processing may be omitted or changed according to the configuration and conditions of the movement information calculation apparatus 101. For example, when the number of times corresponding to one cycle is determined in advance, the process of step 401 in FIG. 4 can be omitted.

図4のステップ406において、出力部114は、移動ベクトルを画面上に表示する代わりに、通信ネットワークを介して、移動ベクトルを示す情報を別の情報処理装置へ送信してもよい。この場合、移動ベクトルを受信した情報処理装置は、その移動ベクトルを画面上に表示することができる。   In step 406 of FIG. 4, the output unit 114 may transmit information indicating the movement vector to another information processing apparatus via the communication network instead of displaying the movement vector on the screen. In this case, the information processing apparatus that has received the movement vector can display the movement vector on the screen.

図5及び図7の移動軌跡は一例に過ぎず、出力部114は、別の形式で移動軌跡を画面上に表示してもよい。また、移動物体は、人以外の動物であってもよく、車両、ロボット等の物体であってもよい。   The movement trajectories in FIGS. 5 and 7 are merely examples, and the output unit 114 may display the movement trajectories on the screen in another format. The moving object may be an animal other than a human being, or may be an object such as a vehicle or a robot.

式(1)〜式(29)は一例に過ぎず、別の計算式又は座標系を用いて移動情報計算処理を行ってもよい。例えば、式(1)及び式(2)の代わりにローパスフィルタ演算を用いて、重力方向ベクトル(g,g,g)及び磁場ベクトル(m,m,m)を計算してもよい。また、フーリエ級数の代わりに別の周波数領域表現を用いて、移動ベクトルを計算してもよい。 Expressions (1) to (29) are merely examples, and the movement information calculation process may be performed using another calculation expression or coordinate system. For example, the gravity direction vector (g x , g y , g z ) and the magnetic field vector (m x , m y , m z ) are calculated using a low pass filter operation instead of the equations (1) and (2) May be Also, instead of Fourier series, another frequency domain representation may be used to calculate the motion vector.

図5〜図10のグローバル座標系は一例に過ぎず、別のグローバル座標系を用いて移動ベクトルを計算してもよい。例えば、図12の起点1204及び移動方向1203を基準とするグローバル座標系を用いてもよい。   The global coordinate system of FIGS. 5 to 10 is only an example, and another global coordinate system may be used to calculate the movement vector. For example, a global coordinate system based on the start point 1204 and the moving direction 1203 of FIG. 12 may be used.

図16は、図1、図3、及び図11の移動情報計算装置101を実現するための情報処理装置の構成例を示している。図16の情報処理装置は、CPU1601、メモリ1602、入力装置1603、出力装置1604、補助記憶装置1605、媒体駆動装置1606、及びネットワーク接続装置1607を備える。これらの構成要素はバス1608により互いに接続されている。バス1608には、図3及び図11の加速度センサ301、地磁気センサ302、及びジャイロセンサ1101が接続されていてもよい。   FIG. 16 shows a configuration example of an information processing apparatus for realizing the movement information calculation apparatus 101 of FIG. 1, FIG. 3 and FIG. The information processing apparatus of FIG. 16 includes a CPU 1601, a memory 1602, an input device 1603, an output device 1604, an auxiliary storage device 1605, a medium drive device 1606, and a network connection device 1607. These components are connected to one another by a bus 1608. The acceleration sensor 301, the geomagnetic sensor 302, and the gyro sensor 1101 of FIGS. 3 and 11 may be connected to the bus 1608.

メモリ1602は、例えば、Read Only Memory(ROM)、Random Access Memory(RAM)、フラッシュメモリ等の半導体メモリであり、移動情報計算処理に用いられるプログラム及びデータを格納する。メモリ1602は、図1、図3、及び図11の記憶部111として用いることができる。   The memory 1602 is, for example, a semiconductor memory such as a read only memory (ROM), a random access memory (RAM), or a flash memory, and stores programs and data used for the movement information calculation process. The memory 1602 can be used as the storage unit 111 in FIGS. 1, 3 and 11.

CPU1601(プロセッサ)は、例えば、メモリ1602を利用してプログラムを実行することにより、図1、図3、及び図11の変換部112及び計算部113として動作する。CPU1601は、図3及び図11のサイクル計算部311、座標系計算部312、加速度変換部313、係数計算部321、及び移動ベクトル計算部322としても動作する。   The CPU 1601 (processor) operates as the conversion unit 112 and the calculation unit 113 in FIGS. 1, 3 and 11 by executing a program using, for example, the memory 1602. The CPU 1601 also operates as the cycle calculation unit 311, the coordinate system calculation unit 312, the acceleration conversion unit 313, the coefficient calculation unit 321, and the movement vector calculation unit 322 in FIGS. 3 and 11.

入力装置1603は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示や情報の入力に用いられる。出力装置1604は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。処理結果は、移動ベクトルであってもよい。出力装置1604は、図1、図3、及び図11の出力部114として用いることができる。   The input device 1603 is, for example, a keyboard, a pointing device, etc., and is used for inputting an instruction or information from an operator or a user. The output device 1604 is, for example, a display device, a printer, a speaker, or the like, and is used to inquire or instruct an operator or a user, and to output a processing result. The processing result may be a motion vector. The output device 1604 can be used as the output unit 114 of FIGS. 1, 3 and 11.

補助記憶装置1605は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置1605は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置1605にプログラム及びデータを格納しておき、それらをメモリ1602にロードして使用することができる。補助記憶装置1605は、図1、図3、及び図11の記憶部111として用いることができる。   The auxiliary storage device 1605 is, for example, a magnetic disk device, an optical disk device, a magneto-optical disk device, a tape device or the like. The auxiliary storage device 1605 may be a hard disk drive or a flash memory. The information processing apparatus can store programs and data in the auxiliary storage device 1605, load them into the memory 1602, and use them. The auxiliary storage device 1605 can be used as the storage unit 111 in FIGS. 1, 3 and 11.

媒体駆動装置1606は、可搬型記録媒体1609を駆動し、その記録内容にアクセスする。可搬型記録媒体1609は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体1609は、Compact Disk Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Universal Serial Bus(USB)メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体1609にプログラム及びデータを格納しておき、それらをメモリ1602にロードして使用することができる。   The medium drive device 1606 drives a portable recording medium 1609 and accesses the recorded contents. The portable recording medium 1609 is a memory device, a flexible disk, an optical disk, a magneto-optical disk or the like. The portable recording medium 1609 may be a Compact Disk Read Only Memory (CD-ROM), a Digital Versatile Disk (DVD), a Universal Serial Bus (USB) memory, or the like. An operator or a user can store programs and data in this portable recording medium 1609, load them into the memory 1602, and use them.

このように、移動情報計算処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ1602、補助記憶装置1605、又は可搬型記録媒体1609のような、物理的な(非一時的な)記録媒体である。   Thus, the computer readable recording medium for storing the program and data used for the movement information calculation process is physically (non-temporary, such as the memory 1602, the auxiliary storage device 1605, or the portable recording medium 1609). ) Recording medium.

ネットワーク接続装置1607は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置1607を介して受け取り、それらをメモリ1602にロードして使用することができる。ネットワーク接続装置1607は、図1、図3、及び図11の出力部114として用いることができる。   The network connection device 1607 is a communication interface that is connected to a communication network such as a Local Area Network, a Wide Area Network, etc., and performs data conversion involved in communication. The information processing device can receive programs and data from an external device via the network connection device 1607, load them into the memory 1602, and use them. The network connection device 1607 can be used as the output unit 114 of FIGS. 1, 3 and 11.

情報処理装置は、ネットワーク接続装置1607を介して、ユーザ端末から処理要求を受信し、移動情報計算処理を行って処理結果をユーザ端末へ送信することもできる。   The information processing apparatus can also receive a processing request from the user terminal via the network connection device 1607, perform movement information calculation processing, and transmit the processing result to the user terminal.

なお、情報処理装置が図16のすべての構成要素を含む必要はなく、用途や条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がユーザ端末から通信ネットワーク経由で処理要求を受信する場合は、入力装置1603及び出力装置1604を省略してもよい。また、可搬型記録媒体1609又は通信ネットワークを利用しない場合は、媒体駆動装置1606又はネットワーク接続装置1607を省略してもよい。   Note that the information processing apparatus need not include all the components shown in FIG. 16, and some of the components may be omitted depending on the application and conditions. For example, when the information processing apparatus receives a processing request from a user terminal via a communication network, the input device 1603 and the output device 1604 may be omitted. In addition, when the portable recording medium 1609 or the communication network is not used, the medium drive device 1606 or the network connection device 1607 may be omitted.

情報処理装置が通話機能を有する携帯端末装置である場合、マイク及びスピーカのような通話用の装置を含んでいてもよく、カメラのような撮像装置を含んでいてもよい。   When the information processing apparatus is a portable terminal apparatus having a call function, it may include a call apparatus such as a microphone and a speaker, or may include an imaging apparatus such as a camera.

開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。   While the disclosed embodiments and their advantages have been described in detail, those skilled in the art can make various changes, additions, and omissions without departing from the scope of the present invention as set forth in the claims. I will.

図1乃至図16を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
(付記1)
コンピュータが、
加速度センサにより第1の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第2の座標系における複数の加速度ベクトルに変換し、
前記第2の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、
前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求め、
前記移動距離と前記移動方向とを示す移動情報を出力する、
ことを特徴とする移動情報計算方法。
(付記2)
前記コンピュータは、フーリエ変換により前記第2の座標系における前記複数の加速度ベクトルを前記級数に変換し、前記級数における前記所定次数のコサイン係数から前記移動距離を求め、前記級数における前記所定次数のサイン係数から前記移動方向を求めることを特徴とする付記1記載の移動情報計算方法。
(付記3)
前記コンピュータは、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルと、地磁気センサにより検出された前記複数時刻における磁場を表す複数の磁場ベクトルとを用いて、前記第1の座標系から前記第2の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第2の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記1又は2記載の移動情報計算方法。
(付記4)
前記コンピュータは、角速度センサにより検出された前記複数時刻における前記移動物体の角速度を表す複数の角速度ベクトルを用いて、前記第1の座標系から前記第2の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第2の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記1又は2記載の移動情報計算方法。
(付記5)
前記コンピュータは、
前記加速度センサにより各時刻において検出された前記移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと前記移動物体の移動により生じる移動加速度ベクトルとに分離し、
前記重力加速度ベクトルと前記移動加速度ベクトルとの内積を計算し、
前記内積の符号が反転してから前記符号が反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントし、
カウントした前記加速度の個数に基づいて前記複数時刻の個数を決定する、
ことを特徴とする付記1乃至4のいずれか1項に記載の移動情報計算方法。
(付記6)
加速度センサにより第1の座標系において検出された所定期間内の複数時刻における移動物体の加速度を記憶する記憶部と、
前記複数時刻における前記移動物体の加速度を表す複数の加速度ベクトルを、第2の座標系における複数の加速度ベクトルに変換する変換部と、
前記第2の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求める計算部と、
前記移動距離と前記移動方向とを示す移動情報を出力する出力部と、
を備えることを特徴とする移動情報計算装置。
(付記7)
前記計算部は、フーリエ変換により前記第2の座標系における前記複数の加速度ベクトルを前記級数に変換し、前記級数における前記所定次数のコサイン係数から前記移動距離を求め、前記級数における前記所定次数のサイン係数から前記移動方向を求めることを特徴とする付記6記載の移動情報計算装置。
(付記8)
前記変換部は、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルと、地磁気センサにより検出された前記複数時刻における磁場を表す複数の磁場ベクトルとを用いて、前記第1の座標系から前記第2の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第2の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記6又は7記載の移動情報計算装置。
(付記9)
前記変換部は、角速度センサにより検出された前記複数時刻における前記移動物体の角速度を表す複数の角速度ベクトルを用いて、前記第1の座標系から前記第2の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第2の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記6又は7記載の移動情報計算装置。
(付記10)
前記変換部は、
前記加速度センサにより各時刻において検出された前記移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと前記移動物体の移動により生じる移動加速度ベクトルとに分離し、
前記重力加速度ベクトルと前記移動加速度ベクトルとの内積を計算し、
前記内積の符号が反転してから前記符号が反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントし、
カウントした前記加速度の個数に基づいて前記複数時刻の個数を決定する、
ことを特徴とする付記6乃至9のいずれか1項に記載の移動情報計算装置。
(付記11)
加速度センサにより第1の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第2の座標系における複数の加速度ベクトルに変換し、
前記第2の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、
前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求め、
前記移動距離と前記移動方向とを示す移動情報を出力する、
処理をコンピュータに実行させる移動情報計算プログラム。
(付記12)
前記コンピュータは、フーリエ変換により前記第2の座標系における前記複数の加速度ベクトルを前記級数に変換し、前記級数における前記所定次数のコサイン係数から前記移動距離を求め、前記級数における前記所定次数のサイン係数から前記移動方向を求めることを特徴とする付記11記載の移動情報計算プログラム。
(付記13)
前記コンピュータは、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルと、地磁気センサにより検出された前記複数時刻における磁場を表す複数の磁場ベクトルとを用いて、前記第1の座標系から前記第2の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第2の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記11又は12記載の移動情報計算プログラム。
(付記14)
前記コンピュータは、角速度センサにより検出された前記複数時刻における前記移動物体の角速度を表す複数の角速度ベクトルを用いて、前記第1の座標系から前記第2の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第2の座標系における前記複数の加速度ベクトルに変換することを特徴とする付記11又は12記載の移動情報計算プログラム。
(付記15)
前記コンピュータは、
前記加速度センサにより各時刻において検出された前記移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと前記移動物体の移動により生じる移動加速度ベクトルとに分離し、
前記重力加速度ベクトルと前記移動加速度ベクトルとの内積を計算し、
前記内積の符号が反転してから前記符号が反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントし、
カウントした前記加速度の個数に基づいて前記複数時刻の個数を決定する、
ことを特徴とする付記11乃至14のいずれか1項に記載の移動情報計算プログラム。
The following appendices will be further disclosed regarding the embodiment described with reference to FIGS. 1 to 16.
(Supplementary Note 1)
The computer is
Converting a plurality of acceleration vectors representing accelerations of the moving object at a plurality of times within a predetermined period detected by the acceleration sensor in the first coordinate system into a plurality of acceleration vectors in the second coordinate system;
Converting the plurality of acceleration vectors in the second coordinate system into a series of frequency domain representations;
The moving distance and the moving direction of the moving object are obtained from the coefficients of terms of a predetermined order in the series;
Outputting movement information indicating the movement distance and the movement direction;
A movement information calculation method characterized in that.
(Supplementary Note 2)
The computer converts the plurality of acceleration vectors in the second coordinate system into the series by Fourier transformation, obtains the movement distance from the cosine coefficient of the predetermined order in the series, and the sine of the predetermined order in the series The movement information calculation method according to claim 1, wherein the movement direction is determined from a coefficient.
(Supplementary Note 3)
The computer uses the plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times and the plurality of magnetic field vectors representing the magnetic fields at the plurality of times detected by the geomagnetic sensor, A conversion matrix from the second coordinate system to the second coordinate system, and using the conversion matrix, the plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times are determined by the plurality of accelerations in the second coordinate system The movement information calculation method according to appendix 1 or 2, characterized by converting into a vector.
(Supplementary Note 4)
The computer determines a transformation matrix from the first coordinate system to the second coordinate system using a plurality of angular velocity vectors representing the angular velocity of the moving object at the plurality of times detected by the angular velocity sensor. The plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times are converted into the plurality of acceleration vectors in the second coordinate system, using a transformation matrix. Movement information calculation method.
(Supplementary Note 5)
The computer is
The acceleration vector representing the acceleration of the moving object detected at each time by the acceleration sensor is separated into a gravity acceleration vector and a movement acceleration vector generated by the movement of the moving object,
Calculating an inner product of the gravity acceleration vector and the movement acceleration vector;
Counting the number of accelerations detected in a period from when the sign of the inner product is inverted to when the sign is inverted to the sign before the inversion;
The number of the plurality of times is determined based on the number of the counted accelerations,
The movement information calculation method according to any one of appendices 1 to 4, characterized in that:
(Supplementary Note 6)
A storage unit storing accelerations of moving objects at a plurality of times within a predetermined period detected by the acceleration sensor in the first coordinate system;
A conversion unit configured to convert a plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times into a plurality of acceleration vectors in a second coordinate system;
A calculating unit that converts the plurality of acceleration vectors in the second coordinate system into a series of frequency domain representations, and obtains a moving distance and a moving direction of the moving object from coefficients of terms of a predetermined order in the series;
An output unit that outputs movement information indicating the movement distance and the movement direction;
A movement information calculation apparatus comprising:
(Appendix 7)
The calculation unit converts the plurality of acceleration vectors in the second coordinate system into the series by Fourier transformation, obtains the movement distance from the cosine coefficient of the predetermined order in the series, and calculates the moving distance in the series. The movement information calculation apparatus according to appendix 6, wherein the movement direction is determined from a sine coefficient.
(Supplementary Note 8)
The conversion unit uses the plurality of acceleration vectors representing the accelerations of the moving object at the plurality of times and the plurality of magnetic fields vectors representing the magnetic fields at the plurality of times detected by the geomagnetic sensor. A transformation matrix from the system to the second coordinate system is determined, and using the transformation matrix, the plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times are determined by the plurality of the plurality of acceleration vectors in the second coordinate system. The movement information calculation apparatus as set forth in claim 6 or 7, characterized in that it is converted into an acceleration vector.
(Appendix 9)
The conversion unit obtains a conversion matrix from the first coordinate system to the second coordinate system using a plurality of angular velocity vectors representing the angular velocity of the moving object at the plurality of times detected by the angular velocity sensor. The plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times are converted into the plurality of acceleration vectors in the second coordinate system, using the conversion matrix. Movement information calculation device.
(Supplementary Note 10)
The conversion unit is
The acceleration vector representing the acceleration of the moving object detected at each time by the acceleration sensor is separated into a gravity acceleration vector and a movement acceleration vector generated by the movement of the moving object,
Calculating an inner product of the gravity acceleration vector and the movement acceleration vector;
Counting the number of accelerations detected in a period from when the sign of the inner product is inverted to when the sign is inverted to the sign before the inversion;
The number of the plurality of times is determined based on the number of the counted accelerations,
The movement information calculation apparatus according to any one of appendices 6 to 9, characterized in that
(Supplementary Note 11)
Converting a plurality of acceleration vectors representing accelerations of the moving object at a plurality of times within a predetermined period detected by the acceleration sensor in the first coordinate system into a plurality of acceleration vectors in the second coordinate system;
Converting the plurality of acceleration vectors in the second coordinate system into a series of frequency domain representations;
The moving distance and the moving direction of the moving object are obtained from the coefficients of terms of a predetermined order in the series;
Outputting movement information indicating the movement distance and the movement direction;
A movement information calculation program that causes a computer to execute processing.
(Supplementary Note 12)
The computer converts the plurality of acceleration vectors in the second coordinate system into the series by Fourier transformation, obtains the movement distance from the cosine coefficient of the predetermined order in the series, and the sine of the predetermined order in the series The movement information calculation program according to appendix 11, wherein the movement direction is determined from a coefficient.
(Supplementary Note 13)
The computer uses the plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times and the plurality of magnetic field vectors representing the magnetic fields at the plurality of times detected by the geomagnetic sensor, A conversion matrix from the second coordinate system to the second coordinate system, and using the conversion matrix, the plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times are determined by the plurality of accelerations in the second coordinate system The movement information calculation program according to appendix 11 or 12, characterized by converting into a vector.
(Supplementary Note 14)
The computer determines a transformation matrix from the first coordinate system to the second coordinate system using a plurality of angular velocity vectors representing the angular velocity of the moving object at the plurality of times detected by the angular velocity sensor. The plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times are converted into the plurality of acceleration vectors in the second coordinate system, using a transformation matrix. Movement information calculation program.
(Supplementary Note 15)
The computer is
The acceleration vector representing the acceleration of the moving object detected at each time by the acceleration sensor is separated into a gravity acceleration vector and a movement acceleration vector generated by the movement of the moving object,
Calculating an inner product of the gravity acceleration vector and the movement acceleration vector;
Counting the number of accelerations detected in a period from when the sign of the inner product is inverted to when the sign is inverted to the sign before the inversion;
The number of the plurality of times is determined based on the number of the counted accelerations,
The movement information calculation program according to any one of appendices 11 to 14, characterized in that

101 移動情報計算装置
111 記憶部
112 変換部
113 計算部
114 出力部
301 加速度センサ
302 地磁気センサ
311 サイクル計算部
312 座標系計算部
313 加速度変換部
321 係数計算部
322 移動ベクトル計算部
501〜505 移動ベクトル
601 装置座標系
602 グローバル座標系
801 原点
802、1201、1202 移動軌跡
811 歩行加速度
812 xy平面成分
813 z成分
814 ベクトル
815 x成分
816 y成分
901〜903 曲線
911〜913 振幅
1001 単位ベクトル
1101 ジャイロセンサ
1203 移動方向
1204 起点
1601 CPU
1602 メモリ
1603 入力装置
1604 出力装置
1605 補助記憶装置
1606 媒体駆動装置
1607 ネットワーク接続装置
1608 バス
1609 可搬型記録媒体
101 movement information calculation apparatus 111 storage unit 112 conversion unit 113 calculation unit 114 output unit 301 acceleration sensor 302 geomagnetic sensor 311 cycle calculation unit 312 coordinate system calculation unit 313 acceleration conversion unit 321 coefficient calculation unit 322 movement vector calculation unit 501 to 505 movement vector 601 device coordinate system 602 global coordinate system 801 origin 802, 1201, 1202 movement locus 811 walking acceleration 812 xy plane component 813 z component 814 vector 815 x component 816 y component 901 to 903 curve 911 to 913 amplitude 1001 unit vector 1101 gyro sensor 1203 Movement direction 1204 Starting point 1601 CPU
1602 Memory 1603 Input Device 1604 Output Device 1605 Auxiliary Storage Device 1606 Media Drive Device 1607 Network Connection Device 1608 Bus 1609 Portable Storage Media

Claims (7)

コンピュータが、
加速度センサにより第1の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第2の座標系における複数の加速度ベクトルに変換し、
前記第2の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、
前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求め、
前記移動距離と前記移動方向とを示す移動情報を出力する、
ことを特徴とする移動情報計算方法。
The computer is
Converting a plurality of acceleration vectors representing accelerations of the moving object at a plurality of times within a predetermined period detected by the acceleration sensor in the first coordinate system into a plurality of acceleration vectors in the second coordinate system;
Converting the plurality of acceleration vectors in the second coordinate system into a series of frequency domain representations;
The moving distance and the moving direction of the moving object are obtained from the coefficients of terms of a predetermined order in the series;
Outputting movement information indicating the movement distance and the movement direction;
A movement information calculation method characterized in that.
前記コンピュータは、フーリエ変換により前記第2の座標系における前記複数の加速度ベクトルを前記級数に変換し、前記級数における前記所定次数のコサイン係数から前記移動距離を求め、前記級数における前記所定次数のサイン係数から前記移動方向を求めることを特徴とする請求項1記載の移動情報計算方法。   The computer converts the plurality of acceleration vectors in the second coordinate system into the series by Fourier transformation, obtains the movement distance from the cosine coefficient of the predetermined order in the series, and the sine of the predetermined order in the series The movement information calculation method according to claim 1, wherein the movement direction is determined from a coefficient. 前記コンピュータは、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルと、地磁気センサにより検出された前記複数時刻における磁場を表す複数の磁場ベクトルとを用いて、前記第1の座標系から前記第2の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第2の座標系における前記複数の加速度ベクトルに変換することを特徴とする請求項1又は2記載の移動情報計算方法。   The computer uses the plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times and the plurality of magnetic field vectors representing the magnetic fields at the plurality of times detected by the geomagnetic sensor, A conversion matrix from the second coordinate system to the second coordinate system, and using the conversion matrix, the plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times are determined by the plurality of accelerations in the second coordinate system The movement information calculation method according to claim 1 or 2, wherein the movement information is converted into a vector. 前記コンピュータは、角速度センサにより検出された前記複数時刻における前記移動物体の角速度を表す複数の角速度ベクトルを用いて、前記第1の座標系から前記第2の座標系への変換行列を求め、前記変換行列を用いて、前記複数時刻における前記移動物体の加速度を表す前記複数の加速度ベクトルを、前記第2の座標系における前記複数の加速度ベクトルに変換することを特徴とする請求項1又は2記載の移動情報計算方法。   The computer determines a transformation matrix from the first coordinate system to the second coordinate system using a plurality of angular velocity vectors representing the angular velocity of the moving object at the plurality of times detected by the angular velocity sensor. The plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times are converted into the plurality of acceleration vectors in the second coordinate system using a transformation matrix. How to calculate movement information. 前記コンピュータは、
前記加速度センサにより各時刻において検出された前記移動物体の加速度を表す加速度ベクトルを、重力加速度ベクトルと前記移動物体の移動により生じる移動加速度ベクトルとに分離し、
前記重力加速度ベクトルと前記移動加速度ベクトルとの内積を計算し、
前記内積の符号が反転してから前記符号が反転前の符号へ反転するまでの期間において検出される加速度の個数をカウントし、
カウントした前記加速度の個数に基づいて前記複数時刻の個数を決定する、
ことを特徴とする請求項1乃至4のいずれか1項に記載の移動情報計算方法。
The computer is
The acceleration vector representing the acceleration of the moving object detected at each time by the acceleration sensor is separated into a gravity acceleration vector and a movement acceleration vector generated by the movement of the moving object,
Calculating an inner product of the gravity acceleration vector and the movement acceleration vector;
Counting the number of accelerations detected in a period from when the sign of the inner product is inverted to when the sign is inverted to the sign before the inversion;
The number of the plurality of times is determined based on the number of the counted accelerations,
The movement information calculation method according to any one of claims 1 to 4, characterized in that:
加速度センサにより第1の座標系において検出された所定期間内の複数時刻における移動物体の加速度を記憶する記憶部と、
前記複数時刻における前記移動物体の加速度を表す複数の加速度ベクトルを、第2の座標系における複数の加速度ベクトルに変換する変換部と、
前記第2の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求める計算部と、
前記移動距離と前記移動方向とを示す移動情報を出力する出力部と、
を備えることを特徴とする移動情報計算装置。
A storage unit storing accelerations of moving objects at a plurality of times within a predetermined period detected by the acceleration sensor in the first coordinate system;
A conversion unit configured to convert a plurality of acceleration vectors representing the acceleration of the moving object at the plurality of times into a plurality of acceleration vectors in a second coordinate system;
A calculating unit that converts the plurality of acceleration vectors in the second coordinate system into a series of frequency domain representations, and obtains a moving distance and a moving direction of the moving object from coefficients of terms of a predetermined order in the series;
An output unit that outputs movement information indicating the movement distance and the movement direction;
A movement information calculation apparatus comprising:
加速度センサにより第1の座標系において検出された所定期間内の複数時刻における移動物体の加速度を表す複数の加速度ベクトルを、第2の座標系における複数の加速度ベクトルに変換し、
前記第2の座標系における前記複数の加速度ベクトルを周波数領域表現の級数に変換し、
前記級数における所定次数の項の係数から前記移動物体の移動距離と移動方向とを求め、
前記移動距離と前記移動方向とを示す移動情報を出力する、
処理をコンピュータに実行させる移動情報計算プログラム。
Converting a plurality of acceleration vectors representing accelerations of the moving object at a plurality of times within a predetermined period detected by the acceleration sensor in the first coordinate system into a plurality of acceleration vectors in the second coordinate system;
Converting the plurality of acceleration vectors in the second coordinate system into a series of frequency domain representations;
The moving distance and the moving direction of the moving object are obtained from the coefficients of terms of a predetermined order in the series;
Outputting movement information indicating the movement distance and the movement direction;
A movement information calculation program that causes a computer to execute processing.
JP2015096084A 2015-05-08 2015-05-08 Movement information calculation method, movement information calculation apparatus, and movement information calculation program Active JP6536162B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015096084A JP6536162B2 (en) 2015-05-08 2015-05-08 Movement information calculation method, movement information calculation apparatus, and movement information calculation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015096084A JP6536162B2 (en) 2015-05-08 2015-05-08 Movement information calculation method, movement information calculation apparatus, and movement information calculation program

Publications (2)

Publication Number Publication Date
JP2016211972A JP2016211972A (en) 2016-12-15
JP6536162B2 true JP6536162B2 (en) 2019-07-03

Family

ID=57549713

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015096084A Active JP6536162B2 (en) 2015-05-08 2015-05-08 Movement information calculation method, movement information calculation apparatus, and movement information calculation program

Country Status (1)

Country Link
JP (1) JP6536162B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7334456B2 (en) * 2019-04-23 2023-08-29 カシオ計算機株式会社 Information processing device, information processing method and information processing program
CN110715654A (en) * 2019-10-10 2020-01-21 北京无限光场科技有限公司 Motion track determination method and device of terminal equipment and electronic equipment

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3801163B2 (en) * 2003-03-07 2006-07-26 セイコーエプソン株式会社 Body motion detection device, pitch meter, pedometer, wristwatch type information processing device, control method, and control program
JP2006118909A (en) * 2004-10-20 2006-05-11 Matsushita Electric Works Ltd Walking meter
JP4957258B2 (en) * 2007-01-15 2012-06-20 富士通株式会社 Step counting device and step counting method
JP2010112854A (en) * 2008-11-07 2010-05-20 Panasonic Corp Navigation device for pedestrian, and moving direction detection method in the navigation device for pedestrian
JP5417970B2 (en) * 2009-04-28 2014-02-19 富士通株式会社 Pedometer and step counting method
WO2014010727A1 (en) * 2012-07-13 2014-01-16 独立行政法人産業技術総合研究所 Device for estimating moving object travel direction and method for estimating travel direction
JP6322960B2 (en) * 2013-02-01 2018-05-16 株式会社リコー Inertial device, method and program

Also Published As

Publication number Publication date
JP2016211972A (en) 2016-12-15

Similar Documents

Publication Publication Date Title
US10595784B2 (en) Object pose measurement system based on MEMS IMU and method thereof
US10812718B2 (en) Method and system for panoramic video stabilization, and portable terminal
Madgwick et al. Estimation of IMU and MARG orientation using a gradient descent algorithm
CN107314778B (en) Calibration method, device and system for relative attitude
Madgwick An efficient orientation filter for inertial and inertial/magnetic sensor arrays
EP3703006A1 (en) Anti-shake method and apparatus for panoramic video, and portable terminal
CN109550219B (en) Method and system for determining motion information and mobile device
JP2014089113A (en) Posture estimation device and program
Young Comparison of orientation filter algorithms for realtime wireless inertial posture tracking
KR20150099863A (en) Inertial device, method, and program
JP6255924B2 (en) IC for sensor, sensor device, electronic device and mobile object
CN110954134B (en) Gyro offset correction method, correction system, electronic device, and storage medium
JP6222096B2 (en) Electronic device and program
CN106370178B (en) Attitude measurement method and device of mobile terminal equipment
CN109186596B (en) IMU measurement data generation method, system, computer device and readable storage medium
Nowicki et al. Simplicity or flexibility? Complementary Filter vs. EKF for orientation estimation on mobile devices
JP2015179002A (en) Attitude estimation method, attitude estimation device and program
CN103557866A (en) Virtual gyroscope and algorithm based on geomagnetism technology
JP6536162B2 (en) Movement information calculation method, movement information calculation apparatus, and movement information calculation program
CN108507567A (en) Attitude quaternion determines method, apparatus and user towards determining method, apparatus
JP2013096724A (en) State estimation device
CN110645976B (en) Attitude estimation method of mobile robot and terminal equipment
JP2013122384A (en) Kalman filter and state estimation device
JP2015094631A (en) Position calculation device, and position calculation method
JP2013061309A (en) Kalman filter, state estimation device, method for controlling kalman filter, and control program of kalman filter

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180206

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: 20190507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190520

R150 Certificate of patent or registration of utility model

Ref document number: 6536162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150