JP2018044924A - Information processor, driving method thereof, program and storage medium - Google Patents

Information processor, driving method thereof, program and storage medium Download PDF

Info

Publication number
JP2018044924A
JP2018044924A JP2016181779A JP2016181779A JP2018044924A JP 2018044924 A JP2018044924 A JP 2018044924A JP 2016181779 A JP2016181779 A JP 2016181779A JP 2016181779 A JP2016181779 A JP 2016181779A JP 2018044924 A JP2018044924 A JP 2018044924A
Authority
JP
Japan
Prior art keywords
information processing
posture
processing apparatus
magnetic field
calculation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016181779A
Other languages
Japanese (ja)
Inventor
万鵬 余
Wanpeng Yu
万鵬 余
廣田 誠
Makoto Hirota
誠 廣田
奥谷 泰夫
Yasuo Okuya
泰夫 奥谷
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2016181779A priority Critical patent/JP2018044924A/en
Publication of JP2018044924A publication Critical patent/JP2018044924A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Gyroscopes (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an arrangement which allows a posture of an information processor to be appropriately inferred even in an environment in which a magnetic field around the information processor is unstable.SOLUTION: An information processor 100 comprises: a first posture calculation unit 221 which uses sensor data of a gyro sensor 151 to calculate a posture of the information processor 100; a second posture calculation unit 222 which uses sensor data of a geomagnetic sensor 152 to calculate the posture of the information processor 100; a magnetic field variation detection unit 230 which detects whether a magnetic field around the information processor 100 has been varied or not in accordance with a result of comparison between a first calculation result obtained by the first posture calculation unit 221 and a second calculation result obtained by the second posture calculation unit 222; and a posture inference unit 240 which, in response to detecting magnetic field variation by the magnetic field variation detection unit 230, uses the first calculation result and the second calculation result to infer the posture of the information processor 100.SELECTED DRAWING: Figure 2

Description

本発明は、情報の処理を行う情報処理装置の姿勢を推測する技術に関するものである。   The present invention relates to a technique for estimating the attitude of an information processing apparatus that processes information.

近年、各種のセンサーを用いて情報処理装置の姿勢を推測する技術の研究がなされている。例えば、特許文献1には、地磁気センサーや、ジャイロセンサー、加速度センサーを用いて情報処理装置の姿勢を決定する技術が記載されている。   In recent years, research on techniques for estimating the posture of an information processing apparatus using various sensors has been conducted. For example, Patent Document 1 describes a technique for determining the posture of an information processing apparatus using a geomagnetic sensor, a gyro sensor, or an acceleration sensor.

米国特許第9146285号明細書U.S. Pat. No. 9,146,285

しかしながら、従来の技術では、情報処理装置の周囲の磁場が不安定である環境下の場合、当該情報処理装置の姿勢を適正に推測することが困難であるという問題があった。   However, the conventional technique has a problem that it is difficult to properly estimate the posture of the information processing apparatus in an environment where the magnetic field around the information processing apparatus is unstable.

本発明は、このような問題点に鑑みてなされたものであり、情報処理装置の周囲の磁場が不安定である環境下の場合においても、当該情報処理装置の姿勢を適正に推測することが可能な仕組みを提供することを目的とする。   The present invention has been made in view of such a problem, and even in an environment where the magnetic field around the information processing apparatus is unstable, the posture of the information processing apparatus can be properly estimated. The aim is to provide a possible mechanism.

本発明の情報処理装置は、情報の処理を行う情報処理装置であって、ジャイロセンサーのセンサーデータを用いて前記情報処理装置の姿勢を計算する第1の姿勢計算手段と、地磁気センサーのセンサーデータを用いて前記情報処理装置の姿勢を計算する第2の姿勢計算手段と、前記第1の姿勢計算手段により得られた前記姿勢の第1の計算結果と前記第2の姿勢計算手段により得られた前記姿勢の第2の計算結果との比較の結果に応じて、前記情報処理装置の周囲の磁場が変化したか否かを検知する検知手段と、前記検知手段において前記磁場が変化したことを検知した場合、前記第1の計算結果と前記第2の計算結果とを用いて前記情報処理装置の姿勢を推測する推測手段とを有する。
また、本発明は、上述した情報処理装置の駆動方法、当該駆動方法をコンピュータに実行させるためのプログラム、及び、当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体を含む。
An information processing apparatus according to the present invention is an information processing apparatus for processing information, and includes first attitude calculation means for calculating the attitude of the information processing apparatus using sensor data of a gyro sensor, and sensor data of a geomagnetic sensor. Obtained by the second attitude calculation means, the second attitude calculation means for calculating the attitude of the information processing device, the first calculation result of the attitude obtained by the first attitude calculation means, and the second attitude calculation means. And detecting means for detecting whether or not the magnetic field around the information processing device has changed according to a result of comparison with the second calculation result of the posture, and that the magnetic field has changed in the detecting means. When it detects, it has an estimation means which estimates the attitude | position of the said information processing apparatus using the said 1st calculation result and the said 2nd calculation result.
The present invention also includes a method for driving the information processing apparatus described above, a program for causing a computer to execute the driving method, and a computer-readable storage medium storing the program.

本発明によれば、情報処理装置の周囲の磁場が不安定である環境下の場合においても、当該情報処理装置の姿勢を適正に推測することができる。   According to the present invention, even in an environment where the magnetic field around the information processing device is unstable, the posture of the information processing device can be properly estimated.

本発明の第1の実施形態に係る情報処理装置のハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る情報処理装置の機能構成の一例を示す図である。It is a figure which shows an example of a function structure of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る情報処理装置の駆動方法における処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence in the drive method of the information processing apparatus which concerns on the 1st Embodiment of this invention. 図3のステップS302における磁場変化検知処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the magnetic field change detection process in FIG.3 S302. 図4に示す磁場変化検知処理の処理イメージの一例を示す図である。It is a figure which shows an example of the process image of the magnetic field change detection process shown in FIG. 図3のステップS305における姿勢推測処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the attitude | position estimation process in step S305 of FIG. 本発明の第1の実施形態に係る情報処理装置の処理によって得られる効果を説明するための図である。It is a figure for demonstrating the effect acquired by the process of the information processing apparatus which concerns on the 1st Embodiment of this invention. 本発明の第2の実施形態に係る情報処理装置の駆動方法における処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the process sequence in the drive method of the information processing apparatus which concerns on the 2nd Embodiment of this invention. 図8のステップS801における誤差率計算処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the error rate calculation process in step S801 of FIG. 図8のステップS803における姿勢補正処理の詳細な処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the detailed process sequence of the attitude | position correction process in step S803 of FIG. 図8のステップS801における誤差率計算処理を説明するための図である。It is a figure for demonstrating the error rate calculation process in step S801 of FIG.

以下に、図面を参照しながら、本発明を実施するための形態(実施形態)について説明する。   Hereinafter, embodiments (embodiments) for carrying out the present invention will be described with reference to the drawings.

(第1の実施形態)
まず、本発明の第1の実施形態について説明する。
(First embodiment)
First, a first embodiment of the present invention will be described.

図1は、本発明の第1の実施形態に係る情報処理装置100のハードウェア構成の一例を示す図である。この情報処理装置100は、各種の情報を処理する装置である。   FIG. 1 is a diagram illustrating an example of a hardware configuration of the information processing apparatus 100 according to the first embodiment of the present invention. The information processing apparatus 100 is an apparatus that processes various types of information.

情報処理装置100は、図1に示すように、CPU110、RAM120、ROM130、入力デバイス140、センサーデバイス150、出力デバイス160、ドライバ170、及び、システムバス180の各ハードウェア構成を有して構成されている。   As shown in FIG. 1, the information processing apparatus 100 is configured to have hardware configurations of a CPU 110, a RAM 120, a ROM 130, an input device 140, a sensor device 150, an output device 160, a driver 170, and a system bus 180. ing.

CPU110は、情報処理装置100の動作を統括的に制御するとともに、各種の処理を行う。   The CPU 110 comprehensively controls the operation of the information processing apparatus 100 and performs various processes.

RAM120は、ROM130やCPU110から供給されるプログラムやデータ等を一時記憶する。   The RAM 120 temporarily stores programs and data supplied from the ROM 130 and the CPU 110.

ROM130は、変更を必要としないプログラムや各種のデータ等を格納している。なお、本実施形態においては、CPU110が本実施形態に係る処理を実行するためのプログラムは、このROM130に記憶されているものとする。   The ROM 130 stores programs that do not need to be changed, various data, and the like. In the present embodiment, it is assumed that a program for the CPU 110 to execute processing according to the present embodiment is stored in the ROM 130.

入力デバイス(Input device)140は、例えば、ユーザーにより入力された入力情報や、通信回線を介して外部装置から入力された入力情報を、CPU110に入力する。   The input device 140 inputs, for example, input information input by a user or input information input from an external device via a communication line to the CPU 110.

センサーデバイス150は、情報処理装置100の姿勢を計測するための各種のセンサーを具備して構成されている。具体的に、本実施形態においては、センサーデバイス150は、図1に示すように、ジャイロセンサー151、地磁気センサー152、及び、加速度センサー153を具備して構成されている。   The sensor device 150 includes various sensors for measuring the attitude of the information processing apparatus 100. Specifically, in the present embodiment, the sensor device 150 includes a gyro sensor 151, a geomagnetic sensor 152, and an acceleration sensor 153, as shown in FIG.

出力デバイス(Output device)160は、CPU110の処理等によって得られた各種のデータや各種の情報を出力する。例えば、この出力デバイス160としては、表示デバイスを適用することができる。   The output device 160 outputs various data and various information obtained by the processing of the CPU 110 and the like. For example, a display device can be applied as the output device 160.

システムバス(System Bus)180は、CPU110、RAM120、ROM130、入力デバイス140、センサーデバイス150、出力デバイス160及びドライバ170を相互に通信可能に接続する。   A system bus 180 connects the CPU 110, the RAM 120, the ROM 130, the input device 140, the sensor device 150, the output device 160, and the driver 170 so that they can communicate with each other.

図2は、本発明の第1の実施形態に係る情報処理装置100の機能構成の一例を示す図である。ここで、図2には、図1に示すセンサーデバイス150も破線で図示している。   FIG. 2 is a diagram illustrating an example of a functional configuration of the information processing apparatus 100 according to the first embodiment of the present invention. Here, in FIG. 2, the sensor device 150 shown in FIG.

情報処理装置100は、図2に示すように、センサーデータ取得部210、姿勢計算部220、磁場変化検知部230、姿勢推測部240、センサー誤差計算部250、及び、姿勢補正部260の各機能構成を有して構成されている。   As illustrated in FIG. 2, the information processing apparatus 100 includes functions of a sensor data acquisition unit 210, a posture calculation unit 220, a magnetic field change detection unit 230, a posture estimation unit 240, a sensor error calculation unit 250, and a posture correction unit 260. It has a configuration.

センサーデータ取得部210は、センサーデバイス150からセンサーデータを取得する処理を行う。具体的に、センサーデータ取得部210は、ジャイロセンサー151のセンサーデータ、地磁気センサー152のセンサーデータ、及び、加速度センサー153のセンサーデータを取得する。   The sensor data acquisition unit 210 performs processing for acquiring sensor data from the sensor device 150. Specifically, the sensor data acquisition unit 210 acquires sensor data of the gyro sensor 151, sensor data of the geomagnetic sensor 152, and sensor data of the acceleration sensor 153.

姿勢計算部220は、センサーデータ取得部210で取得されたセンサーデータを用いて情報処理装置100の姿勢を計算する処理を行う。本実施形態においては、姿勢計算部220は、ジャイロセンサー151のセンサーデータを用いて情報処理装置100の姿勢を計算する第1の姿勢計算部221と、地磁気センサー152のセンサーデータを用いて情報処理装置100の姿勢を計算する第2の姿勢計算部222を含み構成されている。   The posture calculation unit 220 performs a process of calculating the posture of the information processing apparatus 100 using the sensor data acquired by the sensor data acquisition unit 210. In the present embodiment, the posture calculation unit 220 uses the sensor data of the gyro sensor 151 to calculate the posture of the information processing apparatus 100 and the sensor data of the geomagnetic sensor 152 to process information. A second posture calculation unit 222 that calculates the posture of the apparatus 100 is included.

磁場変化検知部230は、情報処理装置100の周囲の磁場が不安定である環境下か否かを判定すべく、情報処理装置100の周囲の磁場が変化したか否かを検知する処理を行う。本実施形態においては、磁場変化検知部230は、第1の姿勢計算部221により得られた情報処理装置100の姿勢の計算結果(第1の計算結果)と第2の姿勢計算部222により得られた情報処理装置100の姿勢の計算結果(第2の計算結果)との比較の結果に応じて、情報処理装置100の周囲の磁場が変化したか否かを検知する。   The magnetic field change detection unit 230 performs processing for detecting whether or not the magnetic field around the information processing apparatus 100 has changed in order to determine whether or not the environment around the information processing apparatus 100 is unstable. . In the present embodiment, the magnetic field change detection unit 230 obtains the posture calculation result (first calculation result) of the information processing apparatus 100 obtained by the first posture calculation unit 221 and the second posture calculation unit 222. Whether or not the magnetic field around the information processing apparatus 100 has changed is detected according to the result of comparison with the calculated calculation result (second calculation result) of the information processing apparatus 100.

姿勢推測部240は、磁場変化検知部230において磁場が変化したことを検知した場合、姿勢計算部220の計算結果に基づいて、情報処理装置100の姿勢を推測する処理を行う。本実施形態においては、姿勢推測部240は、磁場変化検知部230において磁場が変化したことを検知した場合、第1の姿勢計算部221により得られた第1の計算結果と第2の姿勢計算部222により得られた第2の計算結果とを用いて、情報処理装置100の姿勢を推測する。以下、必要に応じて、この姿勢推測部240により推測された情報処理装置100の姿勢を「デバイスの姿勢」と称することがあるものとする。   When the magnetic field change detection unit 230 detects that the magnetic field change has occurred, the posture estimation unit 240 performs processing for estimating the posture of the information processing apparatus 100 based on the calculation result of the posture calculation unit 220. In the present embodiment, when the magnetic field change detection unit 230 detects that the magnetic field change has been detected, the posture estimation unit 240 performs the first calculation result and the second posture calculation obtained by the first posture calculation unit 221. The attitude of the information processing apparatus 100 is estimated using the second calculation result obtained by the unit 222. Hereinafter, the attitude of the information processing apparatus 100 estimated by the attitude estimation unit 240 may be referred to as a “device attitude” as necessary.

センサー誤差計算部250は、磁場変化検知部230において磁場が変化しないことを検知した場合、センサーデータ取得部210で取得したセンサーデータの誤差を計算する。   When the magnetic field change detection unit 230 detects that the magnetic field does not change, the sensor error calculation unit 250 calculates an error of the sensor data acquired by the sensor data acquisition unit 210.

姿勢補正部260は、磁場変化検知部230において磁場が変化したことを検知した場合、センサー誤差計算部250により得られた誤差に基づいて、姿勢推測部240により得られた情報処理装置100の姿勢(デバイスの姿勢)の推測結果を補正する処理を行う。   When the magnetic field change detection unit 230 detects that the magnetic field change has occurred, the posture correction unit 260 uses the posture of the information processing apparatus 100 obtained by the posture estimation unit 240 based on the error obtained by the sensor error calculation unit 250. A process of correcting the (device attitude) estimation result is performed.

ここで、図1に示す情報処理装置100のハードウェア構成と、図2に示す情報処理装置100の機能構成との対応関係の一例について、以下に説明する。
例えば、図1に示すCPU110及びROM130に記憶されているプログラムから、図2に示す各機能構成部210〜260が構成される。この際、図1に示すCPU110は、例えば、ROM130に記憶されているプログラムをRAM120に展開して実行することによって、図2に示す各機能構成部210〜260の機能を実現することができる。また、例えば、図1において、CPU110を用いたソフトウェア処理の少なくとも一部の処理を代替するハードウェア構成とする場合には、図2に示す各機能構成部の処理に対応させた演算部や回路を構成することができる。
Here, an example of a correspondence relationship between the hardware configuration of the information processing apparatus 100 illustrated in FIG. 1 and the functional configuration of the information processing apparatus 100 illustrated in FIG. 2 will be described below.
For example, the function components 210 to 260 shown in FIG. 2 are configured from programs stored in the CPU 110 and the ROM 130 shown in FIG. At this time, the CPU 110 shown in FIG. 1 can realize the functions of the function components 210 to 260 shown in FIG. 2 by, for example, developing and executing a program stored in the ROM 130 on the RAM 120. Further, for example, in FIG. 1, when a hardware configuration is substituted for at least a part of the software processing using the CPU 110, arithmetic units and circuits corresponding to the processing of each functional component shown in FIG. 2. Can be configured.

図3は、本発明の第1の実施形態に係る情報処理装置100の駆動方法における処理手順の一例を示すフローチャートである。本実施形態では、情報処理装置100が起動されたのに応じて図3のフローチャートの処理が開始され、以降、電源を切る行為が行われるまで周期的に繰り返される。本実施形態では、周期(フレームレート)は、固定されているとする。ただし、情報処理装置100のバッテリー残量や負荷状況に応じて変動的であってもよい。   FIG. 3 is a flowchart illustrating an example of a processing procedure in the driving method of the information processing apparatus 100 according to the first embodiment of the present invention. In the present embodiment, the processing of the flowchart of FIG. 3 is started in response to the activation of the information processing apparatus 100, and thereafter is repeated periodically until an action of turning off the power is performed. In the present embodiment, it is assumed that the period (frame rate) is fixed. However, it may be variable depending on the remaining battery level and load status of the information processing apparatus 100.

まず、ステップS301において、センサーデータ取得部210は、センサーデバイス150からセンサーデータを取得する処理を行う。ここでは、センサーデータ取得部210は、ジャイロセンサー151のセンサーデータ、地磁気センサー152のセンサーデータ、及び、加速度センサー153のセンサーデータを取得する。   First, in step S <b> 301, the sensor data acquisition unit 210 performs processing for acquiring sensor data from the sensor device 150. Here, the sensor data acquisition unit 210 acquires sensor data of the gyro sensor 151, sensor data of the geomagnetic sensor 152, and sensor data of the acceleration sensor 153.

続いて、ステップS302において、磁場変化検知部230は、ステップS301で取得されたセンサーデータに基づいて、情報処理装置100の周囲の磁場が変化したか否かを検知する処理を行う。   Subsequently, in step S302, the magnetic field change detection unit 230 performs a process of detecting whether or not the magnetic field around the information processing apparatus 100 has changed based on the sensor data acquired in step S301.

続いて、ステップS303において、磁場変化検知部230は、ステップS302の検知処理の結果、情報処理装置100の周囲の磁場が変化したことを検知したか否かを判断する。   Subsequently, in step S303, the magnetic field change detection unit 230 determines whether or not a change in the magnetic field around the information processing apparatus 100 has been detected as a result of the detection process in step S302.

ステップS303の判断の結果、情報処理装置100の周囲の磁場が変化しないことを検知した場合には(S303/No)、ステップS304に進む。
ステップS304に進むと、姿勢計算部220は、ステップS301で取得されたセンサーデータ(ジャイロセンサー151、地磁気センサー152及び加速度センサー153の各センサーデータ、或いは、磁場が変化しない環境下であるため地磁気センサー152のセンサーデータ)を用いて、情報処理装置100の姿勢を計算する処理を行う。その後、ステップS301の処理に戻る。
As a result of the determination in step S303, when it is detected that the magnetic field around the information processing apparatus 100 does not change (S303 / No), the process proceeds to step S304.
In step S304, the posture calculation unit 220 detects the sensor data (the sensor data of the gyro sensor 151, the geomagnetic sensor 152, and the acceleration sensor 153, or the geomagnetic sensor because the magnetic field does not change) acquired in step S301. 152 is used to calculate the attitude of the information processing apparatus 100. Thereafter, the process returns to step S301.

一方、ステップS303の判断の結果、情報処理装置100の周囲の磁場が変化したことを検知した場合には(S303/Yes)、ステップS305に進む。
ステップS305に進むと、姿勢推測部240は、ステップS301で取得されたセンサーデータに基づいて、情報処理装置100の姿勢(デバイスの姿勢)を推測する処理を行う。
On the other hand, as a result of the determination in step S303, when it is detected that the magnetic field around the information processing apparatus 100 has changed (S303 / Yes), the process proceeds to step S305.
In step S305, the posture estimation unit 240 performs processing for estimating the posture of the information processing apparatus 100 (device posture) based on the sensor data acquired in step S301.

続いて、ステップS306において、例えば姿勢推測部240は、ステップS305の処理に基づくオンラインキャリブレーションが終了したか否かを判断する。ここで、オンラインキャリブレーションとは、情報処理装置100が動きながら、必要な地磁気センサー152のセンサーデータ(磁場データ)を収集してから行うキャリブレーションのことである。このオンラインキャリブレーションは、情報処理装置100の周囲の磁場が不安定である磁場変化(磁場環境変化)の時に行われるものである。   Subsequently, in step S306, for example, the posture estimation unit 240 determines whether or not the online calibration based on the process in step S305 is completed. Here, online calibration is calibration performed after the information processing apparatus 100 is moving and collecting necessary sensor data (magnetic field data) of the geomagnetic sensor 152. This online calibration is performed when the magnetic field around the information processing apparatus 100 is unstable (magnetic field environment change).

ステップS306の判断の結果、オンラインキャリブレーションが終了していない場合には(S306/No)、ステップS301に戻り、次のセンサーデータを取得して、その後の処理を行う。一方、ステップS306の判断の結果、オンラインキャリブレーションが終了した場合には(S306/Yes)、ステップS304に戻り、情報処理装置100の姿勢を計算して、その後、ステップS301に戻る。   If the online calibration is not completed as a result of the determination in step S306 (S306 / No), the process returns to step S301 to acquire the next sensor data and perform the subsequent processing. On the other hand, if the online calibration is completed as a result of the determination in step S306 (S306 / Yes), the process returns to step S304, calculates the attitude of the information processing apparatus 100, and then returns to step S301.

図4は、図3のステップS302における磁場変化検知処理の詳細な処理手順の一例を示すフローチャートである。   FIG. 4 is a flowchart showing an example of a detailed processing procedure of the magnetic field change detection processing in step S302 of FIG.

まず、ステップS401において、例えば姿勢計算部220は、図3のステップS301においてセンサーデータ取得部210が取得したセンサーデータを、センサーデータ取得部210から取得する。具体的に、ここでは、ジャイロセンサー151のセンサーデータと地磁気センサー152のセンサーデータを取得するものとする。   First, in step S401, for example, the posture calculation unit 220 acquires from the sensor data acquisition unit 210 the sensor data acquired by the sensor data acquisition unit 210 in step S301 of FIG. Specifically, here, the sensor data of the gyro sensor 151 and the sensor data of the geomagnetic sensor 152 are acquired.

続いて、ステップS402において、例えば磁場変化検知部230(或いは姿勢計算部220)は、例えば入力デバイス140から事前に入力されている等により設定されている、磁場変化検知用の比較区間の長さを取得する。ここで、比較区間の長さとは、例えば4フレームとか、100ms等で指定できるものである。ここでは、例えば、比較区間の長さとして、4つのセンサーフレームの時間の長さを取得する。また、以降の処理において、磁場変化があるか否かの判定方法としては、短い比較区間においてジャイロセンサー151のセンサーデータに基づく姿勢計算結果と地磁気センサー152のセンサーデータに基づく姿勢計算結果とを比較することでなされる。   Subsequently, in step S402, for example, the magnetic field change detection unit 230 (or the posture calculation unit 220) is set, for example, in advance by the input device 140, and the length of the comparison section for detecting the magnetic field change is set. To get. Here, the length of the comparison section can be specified by, for example, 4 frames or 100 ms. Here, for example, the length of time of four sensor frames is acquired as the length of the comparison section. In the subsequent processing, as a method for determining whether or not there is a magnetic field change, the posture calculation result based on the sensor data of the gyro sensor 151 and the posture calculation result based on the sensor data of the geomagnetic sensor 152 are compared in a short comparison section. Is done.

続いて、ステップS403において、磁場変化検知部230は、第1の姿勢計算部221に対して、ステップS401で取得したジャイロセンサー151のセンサーデータを用いた情報処理装置100の姿勢を計算させる。ここでは、例えば、ジャイロセンサー151のセンサーデータを用いて、比較区間の水平角度D1の計算結果が得られたものとする。   Subsequently, in step S403, the magnetic field change detection unit 230 causes the first attitude calculation unit 221 to calculate the attitude of the information processing apparatus 100 using the sensor data of the gyro sensor 151 acquired in step S401. Here, for example, it is assumed that the calculation result of the horizontal angle D1 of the comparison section is obtained using the sensor data of the gyro sensor 151.

また、ステップS404において、磁場変化検知部230は、第2の姿勢計算部222に対して、ステップS401で取得した地磁気センサー152のセンサーデータを用いた情報処理装置100の姿勢を計算させる。ここでは、例えば、地磁気センサー152のセンサーデータを用いて、比較区間の水平角度D2の計算結果が得られたものとする。   In step S404, the magnetic field change detection unit 230 causes the second posture calculation unit 222 to calculate the posture of the information processing apparatus 100 using the sensor data of the geomagnetic sensor 152 acquired in step S401. Here, for example, it is assumed that the calculation result of the horizontal angle D2 of the comparison section is obtained using the sensor data of the geomagnetic sensor 152.

続いて、ステップS405において、磁場変化検知部230は、ステップS403で得られた情報処理装置100の姿勢の計算結果(第1の計算結果)とステップS404で得られた情報処理装置100の姿勢の計算結果(第2の計算結果)との差を計算する。ここでは、上述した2つの水平角度の差である|D1−D2|の計算結果が得られたものとする。   Subsequently, in step S405, the magnetic field change detection unit 230 calculates the attitude calculation result (first calculation result) of the information processing apparatus 100 obtained in step S403 and the attitude of the information processing apparatus 100 obtained in step S404. The difference from the calculation result (second calculation result) is calculated. Here, it is assumed that the calculation result of | D1-D2 |, which is the difference between the two horizontal angles described above, is obtained.

続いて、ステップS406において、磁場変化検知部230は、ステップS405で得られた差が所定値より大きいか否かを判断する。ここでは、例えば、所定値として、水平角度D1の最大誤差と水平角度D2の最大誤差の加算値D3を用いる。ここで、例えば、D3の値は、ジャイロセンサー151と地磁気センサー152のノイズ値に基づいて計算することができる。この際、ジャイロセンサー151と地磁気センサー152のノイズ値は、予めROM130等に保持させておいてもよいし、また、ユーザーが測定して入力デバイス140から入力するようにしてもよい。   Subsequently, in step S406, the magnetic field change detection unit 230 determines whether or not the difference obtained in step S405 is greater than a predetermined value. Here, for example, an addition value D3 of the maximum error of the horizontal angle D1 and the maximum error of the horizontal angle D2 is used as the predetermined value. Here, for example, the value of D3 can be calculated based on the noise values of the gyro sensor 151 and the geomagnetic sensor 152. At this time, the noise values of the gyro sensor 151 and the geomagnetic sensor 152 may be stored in advance in the ROM 130 or the like, or may be measured by the user and input from the input device 140.

ステップS406の判断の結果、ステップS405で得られた差が所定値より大きくない場合には(S406/No)、ステップS407に進む。
ステップS407に進むと、磁場変化検知部230は、情報処理装置100の周囲の磁場が変化なしと判定し、当該磁場が変化しないことを検知する。具体的に、ステップS407は、|D1−D2|≦D3の場合になされる処理であり、上述した水平角度D1と水平角度D2とが実質的に同じであると判定するものである。そして、ステップS407の処理が終了すると、図4のフローチャートの処理が終了する。
As a result of the determination in step S406, if the difference obtained in step S405 is not greater than the predetermined value (S406 / No), the process proceeds to step S407.
In step S407, the magnetic field change detection unit 230 determines that the magnetic field around the information processing apparatus 100 has not changed, and detects that the magnetic field does not change. Specifically, step S407 is processing performed when | D1-D2 | ≦ D3, and determines that the horizontal angle D1 and the horizontal angle D2 described above are substantially the same. Then, when the process of step S407 ends, the process of the flowchart of FIG. 4 ends.

一方、ステップS406の判断の結果、ステップS405で得られた差が所定値より大きい場合には(S406/Yes)、ステップS408に進む。
ステップS408に進むと、磁場変化検知部230は、情報処理装置100の周囲の磁場が変化ありと判定し、当該磁場が変化したことを検知する。具体的に、ステップS408は、|D1−D2|>D3の場合になされる処理であり、上述した水平角度D1と水平角度D2とが実質的に違うと判定するものである。そして、ステップS408の処理が終了すると、図4のフローチャートの処理が終了する。
On the other hand, as a result of the determination in step S406, if the difference obtained in step S405 is greater than the predetermined value (S406 / Yes), the process proceeds to step S408.
In step S408, the magnetic field change detection unit 230 determines that the magnetic field around the information processing apparatus 100 has changed, and detects that the magnetic field has changed. Specifically, step S408 is processing performed when | D1-D2 |> D3, and determines that the horizontal angle D1 and the horizontal angle D2 described above are substantially different. Then, when the process of step S408 ends, the process of the flowchart of FIG. 4 ends.

図5は、図4に示す磁場変化検知処理の処理イメージの一例を示す図である。
図5において、角度変更方向505は、情報処理装置100の角度の変更方向を示している。また、基準位置501は、情報処理装置100の基準位置(変化開始の基準とする時点の位置姿勢)を示している。
FIG. 5 is a diagram illustrating an example of a processing image of the magnetic field change detection processing illustrated in FIG. 4.
In FIG. 5, an angle change direction 505 indicates the angle change direction of the information processing apparatus 100. The reference position 501 indicates the reference position of the information processing apparatus 100 (the position and orientation at the time of using the change start as a reference).

指標502は、基準位置501からジャイロセンサー151のセンサーデータに基づいて計算された、比較区間のジャイロセンサー151の姿勢計算結果(例えば、上述した水平角度D1)を示している。指標503は、基準位置501から地磁気センサー152のセンサーデータ(磁場データ)に基づいて計算された、比較区間の地磁気センサー152の姿勢計算結果(例えば、上述した水平角度D2)を示している。指標504は、指標502に示すジャイロセンサー151の姿勢計算結果(例えば、上述した水平角度D1)と指標503に示す地磁気センサー152の姿勢計算結果(例えば、上述した水平角度D2)との差(例えば、上述した|D1−D2|)を示している。   An index 502 indicates a posture calculation result (for example, the above-described horizontal angle D1) of the gyro sensor 151 in the comparison section, which is calculated based on the sensor data of the gyro sensor 151 from the reference position 501. An index 503 indicates a posture calculation result (for example, the horizontal angle D2 described above) of the geomagnetic sensor 152 in the comparison section, which is calculated based on the sensor data (magnetic field data) of the geomagnetic sensor 152 from the reference position 501. The index 504 is a difference (for example, a difference between the attitude calculation result of the gyro sensor 151 indicated by the index 502 (for example, the horizontal angle D1 described above) and the attitude calculation result of the geomagnetic sensor 152 indicated by the index 503 (for example, the horizontal angle D2 described above). , | D1-D2 |) described above.

なお、比較区間が短くてジャイロセンサー151の誤差は少ないが、センサー自体はノイズがあるので、水平角度D1の最大誤差と水平角度D2の最大誤差の加算値D3は、ジャイロセンサー151と地磁気センサー152のノイズ値に基づいて計算する。   Although the comparison section is short and the error of the gyro sensor 151 is small, the sensor itself has noise. Therefore, the added value D3 of the maximum error of the horizontal angle D1 and the maximum error of the horizontal angle D2 is the gyro sensor 151 and the geomagnetic sensor 152. Calculate based on the noise value.

情報処理装置の周囲の磁場が変化したことを検知すると、一般的な既存技術では、ジャイロセンサー151だけを使い、上述したオンラインキャリブレーション(情報処理装置が動きながら、必要な地磁気センサー152のセンサーデータ(磁場データ)を収集してから行うキャリブレーション)が始まる。この際、情報処理装置が様々な姿勢になったときのセンサーデータが必要になる。しかしながら、十分なセンサーデータを収集するように情報処理装置を動かすことはユーザーにとって難しく、また、手間もかかる。そのため、十分なセンサーデータを収集することに時間がかかり、結果として、オンラインキャリブレーションに多大な時間かかる可能性がある。オンラインキャリブレーション期間で、ジャイロセンサー151の誤差が貯まって大きくなる。   When it is detected that the magnetic field around the information processing device has changed, in general existing technology, only the gyro sensor 151 is used to perform the above-described online calibration (the necessary sensor data of the geomagnetic sensor 152 while the information processing device is moving). (Calibration after collecting (magnetic field data)) starts. At this time, sensor data is required when the information processing apparatus is in various postures. However, it is difficult for the user to move the information processing apparatus so as to collect sufficient sensor data, and it takes time and effort. Therefore, it takes time to collect sufficient sensor data, and as a result, online calibration can take a lot of time. During the online calibration period, errors of the gyro sensor 151 accumulate and increase.

また、他の一般的な既存技術では、磁場の変化があるとき、もう1回手動的にキャリブレーションを行う。このもう1回のキャリブレーションは、手間がかかり、使用状況によってはすぐにキャリブレーションを行うことが困難な場合がある。このような場合、オンラインキャリブレーションの期間で、どのように高い計算精度を確保するのかが課題である。この際、オンラインキャリブレーションの処理中にどのように誤差を低減するかについて、以下の方法がある。
具体的には、情報処理装置の周囲の磁場が変化したことを検知してから、全部のキャリブレーションデータを収集しなくても、収集したデータに基づいて、ある程度のキャリブレーションの処理を行って、その時点のキャリブレーションの誤差区間を計算する。そして、ユーザーがジャイロセンサー151を動かしながら、当時点の誤差区間を計算する。そして、その時点のキャリブレーションの誤差区間とその時点のジャイロセンサー151の誤差区間に基づいて、情報処理装置の姿勢を計算する対応である。
In another general existing technique, when there is a change in the magnetic field, the calibration is manually performed once again. This another calibration is time-consuming and may be difficult to perform immediately depending on the usage situation. In such a case, how to ensure high calculation accuracy in the online calibration period is a problem. At this time, there are the following methods for reducing the error during the online calibration process.
Specifically, after detecting that the magnetic field around the information processing device has changed, some calibration processing is performed based on the collected data without collecting all the calibration data. Then, the error interval of the calibration at that time is calculated. Then, the user calculates the error interval at this time while moving the gyro sensor 151. Then, the attitude of the information processing apparatus is calculated based on the calibration error section at that time and the error section of the gyro sensor 151 at that time.

図6は、図3のステップS305における姿勢推測処理の詳細な処理手順の一例を示すフローチャートである。   FIG. 6 is a flowchart illustrating an example of a detailed processing procedure of the posture estimation process in step S305 of FIG.

まず、ステップS601において、姿勢推測部240は、図3のステップS302における情報処理装置100の周囲の磁場変化(磁場環境変化)の検知結果に基づいて、当該磁場変化(磁場環境変化)が安定になるか否かを判断する。   First, in step S601, the posture estimation unit 240 stabilizes the magnetic field change (magnetic field environment change) based on the detection result of the magnetic field change (magnetic field environment change) around the information processing apparatus 100 in step S302 of FIG. Judge whether or not.

ステップS601の判断の結果、磁場変化(磁場環境変化)が安定にならない場合には(S601/No)、ステップS602に進む。
ステップS602に進むと、例えば姿勢推測部240は、上述したオンラインキャリブレーションを開始する処理を行う。
As a result of the determination in step S601, if the magnetic field change (magnetic field environment change) is not stable (S601 / No), the process proceeds to step S602.
In step S602, for example, the posture estimation unit 240 performs a process of starting the above-described online calibration.

続いて、ステップS603において、姿勢推測部240は、第1の姿勢計算部221に対して、ジャイロセンサー151のセンサーデータを用いた情報処理装置100の姿勢を計算させる。そして、ステップS603の処理が終了すると、図6のフローチャートの処理が終了する。   Subsequently, in step S603, the posture estimation unit 240 causes the first posture calculation unit 221 to calculate the posture of the information processing apparatus 100 using the sensor data of the gyro sensor 151. Then, when the process of step S603 ends, the process of the flowchart of FIG. 6 ends.

一方、ステップS601の判断の結果、磁場変化(磁場環境変化)が安定になる場合には(S601/Yes)、ステップS604に進む。
ステップS604に進むと、姿勢推測部240は、オンラインキャリブレーションの処理中であるか否かを判断する。この判断の結果、オンラインキャリブレーションの処理中でない場合(S604/No)、即ちオンラインキャリブレーションが終了した場合には、情報処理装置100の姿勢を正しく計算できるため、図6のフローチャートの処理を終了する。
On the other hand, as a result of the determination in step S601, if the magnetic field change (magnetic field environment change) becomes stable (S601 / Yes), the process proceeds to step S604.
In step S604, the posture estimation unit 240 determines whether online calibration is being performed. If the result of this determination is that online calibration processing is not in progress (S604 / No), that is, if online calibration is completed, the orientation of the information processing apparatus 100 can be calculated correctly, so the processing of the flowchart of FIG. To do.

また、ステップS604の判断の結果、オンラインキャリブレーションの処理中である場合には(S604/Yes)、ステップS605に進む。
ステップS605に進むと、姿勢推測部240は、第2の姿勢計算部222に対して、オンラインキャリブレーションの結果に基づき、地磁気センサー152のセンサーデータを用いた情報処理装置100の姿勢を計算させる。ここでは、例えば、情報処理装置100の姿勢として、情報処理装置100の角度D2の計算結果が得られたものとする。
If it is determined in step S604 that online calibration is being performed (S604 / Yes), the process proceeds to step S605.
In step S605, the posture estimation unit 240 causes the second posture calculation unit 222 to calculate the posture of the information processing apparatus 100 using the sensor data of the geomagnetic sensor 152 based on the result of online calibration. Here, for example, it is assumed that the calculation result of the angle D2 of the information processing apparatus 100 is obtained as the attitude of the information processing apparatus 100.

続いて、ステップS606において、姿勢推測部240は、オンラインキャリブレーションの結果に基づき、ステップS605における計算結果の誤差区間(第1の誤差区間)を計算により求める。例えば、姿勢推測部240は、本ステップのオンラインキャリブレーションの誤差区間の計算では、収集した地磁気センサー152のセンサーデータ(磁場データ)における分布、形状および楕円球の類似度によって、当該誤差区間を計算する。   Subsequently, in step S606, the posture estimation unit 240 calculates an error interval (first error interval) of the calculation result in step S605 based on the result of online calibration. For example, the posture estimation unit 240 calculates the error interval based on the distribution, shape, and similarity of the ellipsoidal sphere in the collected sensor data (magnetic field data) of the geomagnetic sensor 152 in the calculation of the error interval of the online calibration in this step. To do.

続いて、ステップS607において、姿勢推測部240は、ジャイロセンサー151のセンサーデータに基づいて、ジャイロセンサー151の誤差区間(第2の誤差区間)を計算により求める。例えば、ここでの計算では、まず、ジャイロセンサー151の誤差比率を事前に分っているPとする。そして、姿勢推測部240は、ジャイロセンサー151のセンサーデータに基づきジャイロセンサー151の回る角度D4を取得する。そして、この場合、姿勢推測部240は、例えば、ジャイロセンサー151の誤差区間[0,A]の計算結果として、A=D4*Pを得る。   Subsequently, in step S <b> 607, the posture estimation unit 240 calculates an error section (second error section) of the gyro sensor 151 based on the sensor data of the gyro sensor 151 by calculation. For example, in the calculation here, first, it is assumed that the error ratio of the gyro sensor 151 is P that is known in advance. Then, the posture estimation unit 240 acquires an angle D4 that the gyro sensor 151 rotates based on the sensor data of the gyro sensor 151. In this case, the posture estimation unit 240 obtains A = D4 * P as the calculation result of the error section [0, A] of the gyro sensor 151, for example.

続いて、ステップS608において、姿勢推測部240は、第1の姿勢計算部221に対して、ジャイロセンサー151のセンサーデータを用いた情報処理装置100の姿勢を計算させる。ここでは、例えば、情報処理装置100の姿勢として、情報処理装置100の角度D1の計算結果が得られたものとする。   Subsequently, in step S <b> 608, the posture estimation unit 240 causes the first posture calculation unit 221 to calculate the posture of the information processing apparatus 100 using the sensor data of the gyro sensor 151. Here, for example, the calculation result of the angle D1 of the information processing apparatus 100 is obtained as the attitude of the information processing apparatus 100.

続いて、ステップS609において、姿勢推測部240は、S608及び605の姿勢に係る計算結果と、S606及びS607の誤差区間に係る計算結果とを用いて、情報処理装置100の姿勢を推測する処理を行う。具体的に、姿勢推測部240は、地磁気センサー152に係る誤差区間(第1の誤差区間)及びジャイロセンサー151に係る誤差区間(第2の誤差区間)と地磁気センサー152の角度及びジャイロセンサー151の角度を重み付き平均で角度を計算することにより、情報処理装置100の姿勢を推測する。   Subsequently, in step S609, the posture estimation unit 240 performs a process of estimating the posture of the information processing apparatus 100 using the calculation results related to the postures in S608 and 605 and the calculation results related to the error sections in S606 and S607. Do. Specifically, the posture estimation unit 240 includes an error interval (first error interval) related to the geomagnetic sensor 152, an error interval (second error interval) related to the gyro sensor 151, the angle of the geomagnetic sensor 152, and the gyro sensor 151. The attitude of the information processing apparatus 100 is estimated by calculating the angle with a weighted average of the angles.

このステップS609における具体的な計算例について説明する。
例えば、ステップS606で得られた、当時点のオンラインキャリブレーションの誤差区間が[0,B]であるものとする。この場合、ジャイロセンサー151は誤差が貯まり、ステップS607において、当時点のジャイロセンサー151の誤差区間[0,A]も計算できる。2つの誤差区間の結果が得られると、ステップS608のジャイロセンサー151の姿勢計算結果(情報処理装置100の角度D1)とステップS605の地磁気センサー152の姿勢計算結果(情報処理装置100の角度D2)を重み付きして、以下の式により、情報処理装置100の姿勢D5を推測する。
D5=(B*D1+A*D2)/(A+B)
A specific calculation example in step S609 will be described.
For example, it is assumed that the error interval of online calibration obtained at step S606 is [0, B]. In this case, an error is accumulated in the gyro sensor 151, and the error section [0, A] of the gyro sensor 151 at that time can also be calculated in step S607. When the results of the two error sections are obtained, the attitude calculation result of the gyro sensor 151 in step S608 (angle D1 of the information processing apparatus 100) and the attitude calculation result of the geomagnetic sensor 152 in step S605 (angle D2 of the information processing apparatus 100) And the posture D5 of the information processing apparatus 100 is estimated by the following equation.
D5 = (B * D1 + A * D2) / (A + B)

そして、ステップS609の処理が終了すると、図6のフローチャートの処理が終了する。   Then, when the process of step S609 ends, the process of the flowchart of FIG. 6 ends.

なお、ステップS607におけるジャイロセンサーの誤差区間は、予め算出しておき、内部メモリ等に予め保持しておいてもよい。また、予め保持していない場合には、後述の第2の実施形態における姿勢補正部260により、計算することもできる。   Note that the error section of the gyro sensor in step S607 may be calculated in advance and stored in advance in an internal memory or the like. Moreover, when not holding beforehand, it can also calculate by the attitude | position correction | amendment part 260 in 2nd Embodiment mentioned later.

図7は、本発明の第1の実施形態に係る情報処理装置100の処理によって得られる効果を説明するための図である。この図7において、横軸は時間tを示し、縦軸は情報処理装置100の姿勢計算における精度aを示している。また、指標701は、本発明の第1の実施形態に係る情報処理装置100の処理結果を示し、指標702は、比較対象としての既存技術の処理結果を示している。   FIG. 7 is a diagram for explaining an effect obtained by the processing of the information processing apparatus 100 according to the first embodiment of the present invention. In FIG. 7, the horizontal axis indicates time t, and the vertical axis indicates accuracy a in posture calculation of the information processing apparatus 100. An index 701 indicates a processing result of the information processing apparatus 100 according to the first embodiment of the present invention, and an index 702 indicates a processing result of the existing technology as a comparison target.

図7において、磁場変化開始703のときには、オンラインキャリブレーションを開始し、姿勢計算はジャイロセンサー151のセンサーデータだけを用いて行う。   In FIG. 7, at the magnetic field change start 703, online calibration is started, and posture calculation is performed using only sensor data of the gyro sensor 151.

図7において、磁場変化開始703してからオンラインキャリブレーション終了704となるまでの間の、オンラインキャリブレーションが終了してない期間では、ずっとジャイロセンサー151のセンサーデータを使って姿勢計算をするので、ジャイロセンサー151の誤差は時間経過とともに貯まることから、既存技術の処理結果の場合、図7の指標702の点線で示すように精度aが低くなる。なお、オンラインキャリブレーション終了704となると、すぐ地磁気センサー152のセンサーデータを使って姿勢計算ができるので、再び高い精度で姿勢計算を行うことが可能になる。   In FIG. 7, the posture calculation is performed using the sensor data of the gyro sensor 151 during the period when the online calibration is not completed between the start of the magnetic field change 703 and the end of the online calibration 704. Since the error of the gyro sensor 151 is accumulated with the passage of time, in the case of the processing result of the existing technology, the accuracy a is lowered as shown by the dotted line of the index 702 in FIG. At the end of online calibration 704, posture calculation can be performed immediately using the sensor data of the geomagnetic sensor 152, so that posture calculation can be performed again with high accuracy.

この指標702で示す既存技術の処理結果の問題は、オンラインキャリブレーションの処理中で姿勢計算の精度aが落ち、オンラインキャリブレーション終了704となったときに急な姿勢変化(角度変化)が発生することである。   The problem of the processing result of the existing technique indicated by the index 702 is that a posture change (angle change) suddenly occurs when the accuracy a of posture calculation is reduced during online calibration processing and the end of online calibration 704 is reached. That is.

これに対して、本発明の第1の実施形態に係る情報処理装置100では、オンラインキャリブレーションの処理中に、ジャイロセンサー151を用いた姿勢計算結果と地磁気センサー152を用いた姿勢計算結果とを用いて情報処理装置100の姿勢を推測するようにしたので、図7の指標701に示すように、オンラインキャリブレーションの処理中でも姿勢計算における精度aを最大的に確保することができ、また、オンラインキャリブレーション終了704となったときも円滑に姿勢計算結果が出力できる。
即ち、第1の実施形態に係る情報処理装置100によれば、当該情報処理装置の周囲の磁場が不安定である環境下の場合においても、当該情報処理装置の姿勢を適正に推測することができる。
On the other hand, in the information processing apparatus 100 according to the first embodiment of the present invention, during the online calibration process, the posture calculation result using the gyro sensor 151 and the posture calculation result using the geomagnetic sensor 152 are obtained. Since the posture of the information processing apparatus 100 is estimated by using it, as shown by the index 701 in FIG. 7, the accuracy a in posture calculation can be ensured to the maximum even during online calibration processing, and online Even when the calibration is completed 704, the posture calculation result can be output smoothly.
That is, according to the information processing apparatus 100 according to the first embodiment, the posture of the information processing apparatus can be appropriately estimated even in an environment where the magnetic field around the information processing apparatus is unstable. it can.

(第2の実施形態)
次に、本発明の第2の実施形態について説明する。
(Second Embodiment)
Next, a second embodiment of the present invention will be described.

第2の実施形態に係る情報処理装置のハードウェア構成は、図1に示す第1の実施形態に係る情報処理装置100のハードウェア構成と同様である。また、第2の実施形態に係る情報処理装置の機能構成は、図2に示す第1の実施形態に係る情報処理装置100の機能構成と同様である。   The hardware configuration of the information processing apparatus according to the second embodiment is the same as the hardware configuration of the information processing apparatus 100 according to the first embodiment shown in FIG. The functional configuration of the information processing apparatus according to the second embodiment is the same as the functional configuration of the information processing apparatus 100 according to the first embodiment shown in FIG.

磁場変化検知部230において磁場が変化したことを検知した場合、オンラインキャリブレーションの状態で、情報処理装置100の姿勢に係る水平角度の絶対値は取れないので、水平角度は補正することができない。この場合、加速度センサー153のセンサーデータを使って静止の時の重力方向を検知することにより、情報処理装置100の姿勢に係るPitchとRollは補正することができるが、水平角度Yawは補正することができない。そこで、本実施形態においては、ジャイロセンサー151の誤差を用いてYawを補正する。   When the magnetic field change detection unit 230 detects that the magnetic field has changed, the absolute value of the horizontal angle related to the posture of the information processing apparatus 100 cannot be obtained in the online calibration state, and thus the horizontal angle cannot be corrected. In this case, Pitch and Roll related to the posture of the information processing apparatus 100 can be corrected by detecting the gravitational direction when stationary using the sensor data of the acceleration sensor 153, but the horizontal angle Yaw should be corrected. I can't. Therefore, in the present embodiment, Yaw is corrected using the error of the gyro sensor 151.

なお、図3のステップS306の判断は、オンラインキャリブレーションが終了したか否かであるが、磁場が不安定である環境下で、ジャイロセンサー151の誤差は次第に貯まる。そして、この場合、オンラインキャリブレーションが終了しないときは、磁場も正しく利用できない状態であるため、Yawの誤差は補正できない。   The determination in step S306 in FIG. 3 is based on whether or not the online calibration is completed, but errors in the gyro sensor 151 gradually accumulate under an environment where the magnetic field is unstable. In this case, when online calibration is not completed, the magnetic field cannot be correctly used, and thus the Yaw error cannot be corrected.

図8は、本発明の第2の実施形態に係る情報処理装置100の駆動方法における処理手順の一例を示すフローチャートである。この図8において、図3に示す処理ステップと同様の処理ステップについては同じステップ番号を付している。   FIG. 8 is a flowchart illustrating an example of a processing procedure in the driving method of the information processing apparatus 100 according to the second embodiment of the present invention. In FIG. 8, the same processing steps as the processing steps shown in FIG.

図8では、まず、図3のステップS301と同様に、センサーデータ取得部210は、センサーデバイス150からセンサーデータを取得する処理を行う。ここでは、センサーデータ取得部210は、ジャイロセンサー151のセンサーデータ、地磁気センサー152のセンサーデータ、及び、加速度センサー153のセンサーデータを取得する。   In FIG. 8, first, as in step S <b> 301 of FIG. 3, the sensor data acquisition unit 210 performs a process of acquiring sensor data from the sensor device 150. Here, the sensor data acquisition unit 210 acquires sensor data of the gyro sensor 151, sensor data of the geomagnetic sensor 152, and sensor data of the acceleration sensor 153.

続いて、図8では、図3のステップS302と同様に、磁場変化検知部230は、ステップS301で取得されたセンサーデータに基づいて、情報処理装置100の周囲の磁場が変化したか否かを検知する処理を行う。   Subsequently, in FIG. 8, similarly to step S <b> 302 of FIG. 3, the magnetic field change detection unit 230 determines whether or not the magnetic field around the information processing apparatus 100 has changed based on the sensor data acquired in step S <b> 301. Perform processing to detect.

続いて、図8では、図3のステップS303と同様に、磁場変化検知部230は、ステップS302の検知処理の結果、情報処理装置100の周囲の磁場が変化したことを検知したか否かを判断する。   Subsequently, in FIG. 8, similarly to step S <b> 303 in FIG. 3, the magnetic field change detection unit 230 determines whether or not the magnetic field around the information processing apparatus 100 has been detected as a result of the detection process in step S <b> 302. to decide.

この図8のステップS303の判断の結果、情報処理装置100の周囲の磁場が変化しないことを検知した場合には(S303/No)、図8のステップS304に進む。
図8ステップS304に進むと、図3のステップS304と同様に、姿勢計算部220は、ステップS301で取得されたセンサーデータ(ジャイロセンサー151、地磁気センサー152及び加速度センサー153の各センサーデータ、或いは、磁場が変化しない環境下であるため地磁気センサー152のセンサーデータ)を用いて、情報処理装置100の姿勢を計算する処理を行う。
As a result of the determination in step S303 in FIG. 8, when it is detected that the magnetic field around the information processing apparatus 100 does not change (S303 / No), the process proceeds to step S304 in FIG.
When the process proceeds to step S304 in FIG. 8, as in step S304 in FIG. 3, the posture calculation unit 220 acquires the sensor data (sensor data of the gyro sensor 151, the geomagnetic sensor 152, and the acceleration sensor 153, or the sensor data acquired in step S301, or Since the magnetic field does not change, processing for calculating the attitude of the information processing apparatus 100 is performed using the sensor data of the geomagnetic sensor 152).

続いて、ステップS801において、センサー誤差計算部250は、磁場変化検知部230において情報処理装置100の周囲の磁場が変化しないことが検出されると、ジャイロセンサー151の誤差(ここでは、誤差率)を計算して内部メモリ等に保持する。ここでの具体的な計算方法としては、ジャイロセンサー151のセンサーデータに基づく情報処理装置100の姿勢の計算結果と、図8のステップS304による情報処理装置100の姿勢の計算結果とを比較して、ジャイロセンサー151の誤差率を計算する。例えば、ジャイロセンサー151を用いた姿勢(角度)の計算結果がJ1=101.1°であり、図8のステップS304による姿勢(角度)の計算結果がJ2=100°である場合には、誤差率J3=(J1−J2)/J2=1.1%となる。   Subsequently, in step S801, when the magnetic field change detection unit 230 detects that the magnetic field around the information processing apparatus 100 does not change, the sensor error calculation unit 250 detects an error (here, an error rate) of the gyro sensor 151. Is calculated and stored in the internal memory or the like. As a specific calculation method here, the calculation result of the attitude of the information processing apparatus 100 based on the sensor data of the gyro sensor 151 is compared with the calculation result of the attitude of the information processing apparatus 100 in step S304 of FIG. The error rate of the gyro sensor 151 is calculated. For example, when the calculation result of the attitude (angle) using the gyro sensor 151 is J1 = 101.1 ° and the calculation result of the attitude (angle) in step S304 of FIG. 8 is J2 = 100 °, an error occurs. The rate J3 = (J1-J2) /J2=1.1%.

ステップS801の処理が終了すると、その後、図8のステップS301の処理に戻る。   When the process of step S801 ends, the process returns to step S301 in FIG.

一方、図8のステップS303の判断の結果、情報処理装置100の周囲の磁場が変化したことを検知した場合には(S303/Yes)、図8のステップS305に進む。
図8のステップS305に進むと、図3のステップS305と同様に、姿勢推測部240は、ステップS301で取得されたセンサーデータに基づいて、情報処理装置100の姿勢(デバイスの姿勢)を推測する処理を行う。
On the other hand, as a result of the determination in step S303 in FIG. 8, if it is detected that the magnetic field around the information processing apparatus 100 has changed (S303 / Yes), the process proceeds to step S305 in FIG.
When the process proceeds to step S305 in FIG. 8, the posture estimation unit 240 estimates the posture of the information processing apparatus 100 (device posture) based on the sensor data acquired in step S301, as in step S305 in FIG. Process.

続いて、ステップS802において、例えば姿勢補正部260は、図8のステップS305において推測された情報処理装置100の姿勢の推測結果に対して補正ができるか否かを判断する。ここで、本ステップの判断基準としては、例えば、図3のステップS306のようにオンラインキャリブレーションが終了したか否かを1つ判断基準とすることができる。さらに、本ステップの他の判断基準としては、例えば、情報処理装置100が静止の状態か否かを判断基準とすることができる。この場合、例えば、加速度センサー153とジャイロセンサー151の状態により、情報処理装置100が静止の状態か否かを判断することができる。この情報処理装置100が静止の状態のときは、Pitch及びRollだけではなく、Yawも補正することができる。   Subsequently, in step S802, for example, the posture correction unit 260 determines whether or not the posture estimation result of the information processing apparatus 100 estimated in step S305 of FIG. 8 can be corrected. Here, as a determination criterion of this step, for example, whether or not the online calibration is completed as in step S306 of FIG. 3 can be set as one determination criterion. Furthermore, as another determination criterion of this step, for example, it can be determined whether or not the information processing apparatus 100 is in a stationary state. In this case, for example, whether or not the information processing apparatus 100 is in a stationary state can be determined based on the states of the acceleration sensor 153 and the gyro sensor 151. When the information processing apparatus 100 is stationary, not only Pitch and Roll, but also Yaw can be corrected.

ステップS802の判断の結果、図8のステップS305において推測された情報処理装置100の姿勢の推測結果に対して補正ができない場合には(S802/No)、図8のステップS301の処理に戻る。   As a result of the determination in step S802, when the estimation result of the attitude of the information processing apparatus 100 estimated in step S305 in FIG. 8 cannot be corrected (S802 / No), the processing returns to step S301 in FIG.

一方、ステップS802の判断の結果、図8のステップS305において推測された情報処理装置100の姿勢の推測結果に対して補正ができる場合には(S802/Yes)、ステップS803に進む。
ステップS803に進むと、姿勢補正部260は、ステップS801で得られたジャイロセンサー151の誤差(ここでは、誤差率)等に基づいて、図8のステップS305において推測された情報処理装置100の姿勢の推測結果を補正する。その後、図8のステップS301の処理に戻る。
On the other hand, as a result of the determination in step S802, when the estimation result of the attitude of the information processing apparatus 100 estimated in step S305 in FIG. 8 can be corrected (S802 / Yes), the process proceeds to step S803.
In step S803, the attitude correction unit 260 estimates the attitude of the information processing apparatus 100 estimated in step S305 in FIG. 8 based on the error (here, error rate) of the gyro sensor 151 obtained in step S801. The guess result is corrected. Thereafter, the process returns to step S301 in FIG.

図9は、図8のステップS801における誤差率計算処理の詳細な処理手順の一例を示すフローチャートである。   FIG. 9 is a flowchart illustrating an example of a detailed processing procedure of the error rate calculation processing in step S801 in FIG.

まず、ステップS901において、センサー誤差計算部250は、例えば、第1の姿勢計算部221に対して、ジャイロセンサー151のセンサーデータを用いた情報処理装置100の姿勢を計算させる。ここでは、例えば、情報処理装置100の姿勢として、Pitch,Roll,Yawの角度Aの計算結果が得られたものとする。   First, in step S901, for example, the sensor error calculation unit 250 causes the first posture calculation unit 221 to calculate the posture of the information processing apparatus 100 using the sensor data of the gyro sensor 151. Here, for example, it is assumed that the calculation result of the angle A of Pitch, Roll, and Yaw is obtained as the attitude of the information processing apparatus 100.

続いて、ステップS902において、センサー誤差計算部250は、姿勢計算部220から、図8のステップS304による情報処理装置100の姿勢の計算結果を取得する。ここでは、例えば、情報処理装置100の姿勢として、Pitch,Roll,Yawの角度Bの計算結果が得られたものとする。   Subsequently, in step S902, the sensor error calculation unit 250 acquires the calculation result of the posture of the information processing apparatus 100 in step S304 of FIG. 8 from the posture calculation unit 220. Here, for example, it is assumed that the calculation result of the angle B of Pitch, Roll, and Yaw is obtained as the attitude of the information processing apparatus 100.

続いて、ステップS903において、センサー誤差計算部250は、ステップS901で得られた計算結果とステップS902で得られた計算結果とに基づいて、ジャイロセンサー151の誤差を計算する。ここでは、例えば、ジャイロセンサー151の誤差Dとして、D=A−Bを計算する。   Subsequently, in step S903, the sensor error calculation unit 250 calculates the error of the gyro sensor 151 based on the calculation result obtained in step S901 and the calculation result obtained in step S902. Here, for example, D = A−B is calculated as the error D of the gyro sensor 151.

続いて、ステップS904において、センサー誤差計算部250は、ジャイロセンサー151のセンサーデータに基づいて、Pitch,Roll,Yawの変化した角度Eを計算する。   Subsequently, in step S904, the sensor error calculation unit 250 calculates the changed angle E of Pitch, Roll, and Yaw based on the sensor data of the gyro sensor 151.

続いて、ステップS905において、センサー誤差計算部250は、ステップS903で得られたジャイロセンサー151の誤差と、ステップS904で得られた変化した角度とに基づいて、ジャイロセンサー151の誤差率を計算して内部メモリ等に保持する。ここでは、例えば、ジャイロセンサー151の誤差率Rとして、R=D/Eを計算する。このステップS905の処理が終了すると、図9のフローチャートの処理が終了する。   Subsequently, in step S905, the sensor error calculation unit 250 calculates the error rate of the gyro sensor 151 based on the error of the gyro sensor 151 obtained in step S903 and the changed angle obtained in step S904. To the internal memory. Here, for example, R = D / E is calculated as the error rate R of the gyro sensor 151. When the process of step S905 ends, the process of the flowchart of FIG. 9 ends.

図10は、図8のステップS803における姿勢補正処理の詳細な処理手順の一例を示すフローチャートである。   FIG. 10 is a flowchart illustrating an example of a detailed processing procedure of the posture correction processing in step S803 in FIG.

まず、ステップS1001において、姿勢補正部260は、加速度センサー153のセンサーデータを用いた重力検知に基づいて、図8のステップS305において推測された情報処理装置100の姿勢に係るPitchとRollを補正する。   First, in step S1001, the attitude correction unit 260 corrects the pitch and roll related to the attitude of the information processing apparatus 100 estimated in step S305 of FIG. 8 based on gravity detection using the sensor data of the acceleration sensor 153. .

続いて、ステップS1002において、姿勢補正部260は、図8のステップS801で得られたジャイロセンサー151の誤差率を読み込む処理を行う。   Subsequently, in step S1002, the posture correction unit 260 performs a process of reading the error rate of the gyro sensor 151 obtained in step S801 of FIG.

続いて、ステップS1003において、姿勢補正部260は、ジャイロセンサー151のセンサーデータに基づいてYawの角度を計算する。   Subsequently, in step S <b> 1003, the posture correction unit 260 calculates the angle of Yaw based on the sensor data of the gyro sensor 151.

続いて、ステップS1004において、姿勢補正部260は、ステップS1002で読み込んだジャイロセンサー151の誤差率とステップS1003で算出したYawの角度に基づいて、図8のステップS305において推測された情報処理装置100の姿勢に係るYawを補正する。そして、このステップS1004の処理が終了すると、図10のフローチャートの処理が終了する。   Subsequently, in step S1004, the posture correction unit 260, based on the error rate of the gyro sensor 151 read in step S1002 and the Yaw angle calculated in step S1003, the information processing apparatus 100 estimated in step S305 of FIG. Yaw related to the posture is corrected. Then, when the process of step S1004 ends, the process of the flowchart of FIG. 10 ends.

なお、Yawの計算において、ジャイロセンサー151の誤差は、各軸の誤差率も固定である。この際、どのようにして、Pitch,Roll,Yawの誤差率関係を取得するかについては、事前に算出して内部メモリ等に保持しておいてもよいし、図8の処理(例えばS801)から誤差率を取得してもいい。   In the calculation of Yaw, the error rate of the gyro sensor 151 and the error rate of each axis are also fixed. At this time, how to obtain the error rate relationship between Pitch, Roll, and Yaw may be calculated in advance and stored in the internal memory or the like, or the processing of FIG. 8 (for example, S801). The error rate may be obtained from

この際、計算結果としては、例えば、Pitchの誤差率は1.1%、Rollの誤差率は1.2%、Yawの誤差率は1.3%、磁場変化の開始から静止までジャイロセンサー151の各軸の変更角度を取得し、PitchとRollの誤差率が正しいか否かを検証する。検証結果として、PitchとRollの誤差率が正しい場合には、Yawも補正する。例えば、Yaw変更角度がAの場合、補正した結果としては、101.3%*Aとなる。検証結果として、PitchとRollの誤差率が正しくない場合には、補正しない。   At this time, as calculation results, for example, the error rate of Pitch is 1.1%, the error rate of Roll is 1.2%, the error rate of Yaw is 1.3%, and the gyro sensor 151 from the start of magnetic field change to stationary The change angle of each axis is acquired, and it is verified whether the error rate of Pitch and Roll is correct. If the error rate between Pitch and Roll is correct as a verification result, Yaw is also corrected. For example, when the Yaw change angle is A, the corrected result is 101.3% * A. If the error rate of Pitch and Roll is not correct as a verification result, no correction is made.

図11は、図8のステップS801における誤差率計算処理を説明するための図である。図11において、角度変更方向1101は、情報処理装置100の角度の変更方向を示している。また、基準位置1102は、情報処理装置100の基準位置を示している。   FIG. 11 is a diagram for explaining the error rate calculation processing in step S801 in FIG. In FIG. 11, the angle change direction 1101 indicates the angle change direction of the information processing apparatus 100. A reference position 1102 indicates the reference position of the information processing apparatus 100.

指標1104は、基準位置1102からジャイロセンサー151のセンサーデータに基づいて計算された、特定区間(例えば、100フレームとか、60秒の長さなどである)のジャイロセンサー151の姿勢計算結果D6である。この指標1104における姿勢計算結果D6は、長い区間で、ジャイロセンサー151の誤差が溜まるので、誤差があるものである。   The index 1104 is a posture calculation result D6 of the gyro sensor 151 in a specific section (for example, 100 frames or 60 seconds in length) calculated based on the sensor data of the gyro sensor 151 from the reference position 1102. . The posture calculation result D6 for the index 1104 has an error because the error of the gyro sensor 151 is accumulated in a long section.

指標1103は、基準位置1102から地磁気センサー152のセンサーデータ(磁場データ)に基づいて計算された、特定区間(例えば、100フレームとか、60秒の長さなどである)の地磁気センサー152の姿勢計算結果D7である。この指標1103における姿勢計算結果D7は、地磁気センサー152のセンサーデータ(磁場データ)が信用できるので、正しい姿勢計算結果として使うことができる。   The index 1103 is calculated based on the sensor data (magnetic field data) of the geomagnetic sensor 152 from the reference position 1102, and calculates the attitude of the geomagnetic sensor 152 in a specific section (for example, 100 frames or 60 seconds in length). The result is D7. The posture calculation result D7 in the index 1103 can be used as a correct posture calculation result because the sensor data (magnetic field data) of the geomagnetic sensor 152 can be trusted.

指標1105は、指標1104における姿勢計算結果D6と指標1103における姿勢計算結果D7との差|D6−D7|である。そして、この場合、ジャイロセンサー151の誤差率の計算式は、|D6−D7|/D6である。   The index 1105 is a difference | D6−D7 | between the attitude calculation result D6 of the index 1104 and the attitude calculation result D7 of the index 1103. In this case, the calculation formula of the error rate of the gyro sensor 151 is | D6-D7 | / D6.

第1の実施形態に係る情報処理装置100によれば、当該情報処理装置の周囲の磁場が不安定である環境下の場合においても、当該情報処理装置の姿勢をより適正に算出することができる。   According to the information processing apparatus 100 according to the first embodiment, the posture of the information processing apparatus can be more appropriately calculated even in an environment where the magnetic field around the information processing apparatus is unstable. .

(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
このプログラム及び当該プログラムを記憶したコンピュータ読み取り可能な記憶媒体は、本発明に含まれる。
(Other embodiments)
The present invention supplies a program that realizes one or more functions of the above-described embodiments to a system or apparatus via a network or a storage medium, and one or more processors in a computer of the system or apparatus read and execute the program This process can be realized. It can also be realized by a circuit (for example, ASIC) that realizes one or more functions.
This program and a computer-readable storage medium storing the program are included in the present invention.

なお、上述した本発明の実施形態は、いずれも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、または、その主要な特徴から逸脱することなく、様々な形で実施することができる。   Note that the above-described embodiments of the present invention are merely examples of implementation in practicing the present invention, and the technical scope of the present invention should not be construed as being limited thereto. It is. That is, the present invention can be implemented in various forms without departing from the technical idea or the main features thereof.

100:情報処理装置、150:センサーデバイス、151:ジャイロセンサー、152:地磁気センサー、153:加速度センサー、210:センサーデータ取得部、220:姿勢計算部、221:第1の姿勢計算部、222:第2の姿勢計算部、230:磁場変化検知部、240:姿勢推測部、250:センサー誤差計算部、260:姿勢補正部 100: Information processing apparatus, 150: Sensor device, 151: Gyro sensor, 152: Geomagnetic sensor, 153: Acceleration sensor, 210: Sensor data acquisition unit, 220: Posture calculation unit, 221: First posture calculation unit, 222: Second posture calculation unit, 230: magnetic field change detection unit, 240: posture estimation unit, 250: sensor error calculation unit, 260: posture correction unit

Claims (8)

情報の処理を行う情報処理装置であって、
ジャイロセンサーのセンサーデータを用いて前記情報処理装置の姿勢を計算する第1の姿勢計算手段と、
地磁気センサーのセンサーデータを用いて前記情報処理装置の姿勢を計算する第2の姿勢計算手段と、
前記第1の姿勢計算手段により得られた前記姿勢の第1の計算結果と前記第2の姿勢計算手段により得られた前記姿勢の第2の計算結果との比較の結果に応じて、前記情報処理装置の周囲の磁場が変化したか否かを検知する検知手段と、
前記検知手段において前記磁場が変化したことを検知した場合、前記第1の計算結果と前記第2の計算結果とを用いて前記情報処理装置の姿勢を推測する推測手段と
を有することを特徴とする情報処理装置。
An information processing apparatus for processing information,
First attitude calculation means for calculating the attitude of the information processing apparatus using sensor data of a gyro sensor;
Second attitude calculating means for calculating the attitude of the information processing device using sensor data of a geomagnetic sensor;
In accordance with a result of comparison between the first calculation result of the posture obtained by the first posture calculation means and the second calculation result of the posture obtained by the second posture calculation means. Detecting means for detecting whether or not the magnetic field around the processing apparatus has changed;
When the detection unit detects that the magnetic field has changed, the estimation unit includes an estimation unit that estimates an attitude of the information processing apparatus using the first calculation result and the second calculation result. Information processing apparatus.
前記検知手段は、前記第1の計算結果と前記第2の計算結果との差が所定値より大きい場合に、前記磁場が変化したことを検知することを特徴とする請求項1に記載の情報処理装置。   The information according to claim 1, wherein the detection unit detects that the magnetic field has changed when a difference between the first calculation result and the second calculation result is larger than a predetermined value. Processing equipment. 前記推測手段は、前記地磁気センサーを用いたオンラインキャリブレーションの誤差区間である第1の誤差区間と、前記ジャイロセンサーの誤差区間である第2の誤差区間とを求め、前記第1の計算結果および前記第2の計算結果と前記第1の誤差区間および前記第2の誤差区間とを用いて、前記情報処理装置の姿勢を推測することを特徴する請求項1または2に記載の情報処理装置。   The estimation means obtains a first error interval that is an error interval of online calibration using the geomagnetic sensor and a second error interval that is an error interval of the gyro sensor, and the first calculation result and The information processing apparatus according to claim 1, wherein an attitude of the information processing apparatus is estimated using the second calculation result, the first error section, and the second error section. 前記推測手段は、前記地磁気センサーのセンサーデータにおける分布、形状および楕円球の類似度によって、前記第1の誤差区間を求めることを特徴する請求項3に記載の情報処理装置。   The information processing apparatus according to claim 3, wherein the estimation unit obtains the first error section based on a distribution, a shape, and an ellipsoidal similarity in sensor data of the geomagnetic sensor. 前記検知手段において前記磁場が変化しないことを検知した場合、前記ジャイロセンサーの誤差を計算する誤差計算手段と、
前記検知手段において前記磁場が変化したことを検知した場合、前記誤差計算手段により得られた誤差および前記第1の計算結果に基づいて、前記推測手段により得られた前記情報処理装置の姿勢の推測結果を補正する補正手段と
を更に有することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
An error calculating means for calculating an error of the gyro sensor when the detecting means detects that the magnetic field does not change;
When the detection unit detects that the magnetic field has changed, the posture of the information processing apparatus obtained by the estimation unit is estimated based on the error obtained by the error calculation unit and the first calculation result. The information processing apparatus according to claim 1, further comprising: a correction unit that corrects the result.
情報の処理を行う情報処理装置の駆動方法であって、
ジャイロセンサーのセンサーデータを用いて前記情報処理装置の姿勢を計算する第1の姿勢計算ステップと、
地磁気センサーのセンサーデータを用いて前記情報処理装置の姿勢を計算する第2の姿勢計算ステップと、
前記第1の姿勢計算ステップにより得られた前記姿勢の第1の計算結果と前記第2の姿勢計算ステップにより得られた前記姿勢の第2の計算結果との比較の結果に応じて、前記情報処理装置の周囲の磁場が変化したか否かを検知する検知ステップと、
前記検知ステップにおいて前記磁場が変化したことを検知した場合、前記第1の計算結果と前記第2の計算結果とを用いて前記情報処理装置の姿勢を推測する推測ステップと
を有することを特徴とする情報処理装置の駆動方法。
A method for driving an information processing apparatus for processing information,
A first posture calculation step of calculating a posture of the information processing device using sensor data of a gyro sensor;
A second attitude calculation step of calculating the attitude of the information processing device using sensor data of a geomagnetic sensor;
The information according to a result of comparison between the first calculation result of the posture obtained by the first posture calculation step and the second calculation result of the posture obtained by the second posture calculation step. A detection step for detecting whether or not the magnetic field around the processing device has changed;
A step of estimating the posture of the information processing apparatus using the first calculation result and the second calculation result when it is detected in the detection step that the magnetic field has changed. Method of driving information processing apparatus.
情報の処理を行う情報処理装置の駆動方法をコンピュータに実行させるためのプログラムであって、
ジャイロセンサーのセンサーデータを用いて前記情報処理装置の姿勢を計算する第1の姿勢計算ステップと、
地磁気センサーのセンサーデータを用いて前記情報処理装置の姿勢を計算する第2の姿勢計算ステップと、
前記第1の姿勢計算ステップにより得られた前記姿勢の第1の計算結果と前記第2の姿勢計算ステップにより得られた前記姿勢の第2の計算結果との比較の結果に応じて、前記情報処理装置の周囲の磁場が変化したか否かを検知する検知ステップと、
前記検知ステップにおいて前記磁場が変化したことを検知した場合、前記第1の計算結果と前記第2の計算結果とを用いて前記情報処理装置の姿勢を推測する推測ステップと
をコンピュータに実行させるためのプログラム。
A program for causing a computer to execute a driving method of an information processing apparatus that processes information,
A first posture calculation step of calculating a posture of the information processing device using sensor data of a gyro sensor;
A second attitude calculation step of calculating the attitude of the information processing device using sensor data of a geomagnetic sensor;
The information according to a result of comparison between the first calculation result of the posture obtained by the first posture calculation step and the second calculation result of the posture obtained by the second posture calculation step. A detection step for detecting whether or not the magnetic field around the processing device has changed;
When the detection step detects that the magnetic field has changed, the computer executes the estimation step of estimating the attitude of the information processing apparatus using the first calculation result and the second calculation result. Program.
請求項7に記載のプログラムを記憶したことを特徴とするコンピュータ読み取り可能な記憶媒体。   A computer-readable storage medium storing the program according to claim 7.
JP2016181779A 2016-09-16 2016-09-16 Information processor, driving method thereof, program and storage medium Pending JP2018044924A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016181779A JP2018044924A (en) 2016-09-16 2016-09-16 Information processor, driving method thereof, program and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016181779A JP2018044924A (en) 2016-09-16 2016-09-16 Information processor, driving method thereof, program and storage medium

Publications (1)

Publication Number Publication Date
JP2018044924A true JP2018044924A (en) 2018-03-22

Family

ID=61692994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016181779A Pending JP2018044924A (en) 2016-09-16 2016-09-16 Information processor, driving method thereof, program and storage medium

Country Status (1)

Country Link
JP (1) JP2018044924A (en)

Similar Documents

Publication Publication Date Title
JP6280967B2 (en) System and method for improving orientation data
US20180359415A1 (en) Panoramic video processing method and device and non-transitory computer-readable medium
US8285004B2 (en) Line of sight detecting device and method
CN108827341B (en) Method for determining a deviation in an inertial measurement unit of an image acquisition device
JP2012503194A (en) How to process measurements from accelerometers
JP2017215193A (en) Information processing device and method therefor
EP2503285A2 (en) Method and system for a self-calibrated multi-magnetometer platform
JP2014196941A5 (en)
JP2007057981A5 (en)
WO2018054063A1 (en) Virtual reality device-based angle-data compensation method and device
JP6204669B2 (en) Method and apparatus for robustly estimating non-uniform motion blur
JP7255642B2 (en) Information processing device, information processing method and program
US20220075447A1 (en) Persistent calibration of extended reality systems
JP2019082328A (en) Position estimation device
JP2018044924A (en) Information processor, driving method thereof, program and storage medium
JP5168629B2 (en) Azimuth angle measuring apparatus and azimuth angle measuring method
JP2015094631A (en) Position calculation device, and position calculation method
JP2011117945A (en) Walk measuring instrument, walk measurement method, and program
JP7219787B2 (en) Information processing device, information processing method, learning method, and program
RU2719310C2 (en) System and method for measurement of path length using pocket electronic device
TWI497034B (en) A Satellite Attitude Estimation System and Method
JP6718166B1 (en) Information processing system, information processing apparatus, program, and information processing method
WO2024141097A1 (en) Method and apparatus for correcting relative attitude of user equipment and target device
TWI491902B (en) Heading calibration method and compass sensor using the same
JP2012049871A (en) Portable device and camera shake correction method