Electronic device, calibration control method and program
By introducing the switch control function of the angular velocity sensor into the electronic device, combined with the strategies of high-speed calibration and normal calibration, the problem of increased power consumption in the prior art is solved, and more efficient calibration operations are achieved.
Patent Information
- Application Number
- JP2023152073
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2017-12-25
- Filing Date
- 2023-09-20
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2038-10-22
AI Technical Summary
The prior art requires continuous operation of the angular velocity sensor when rapidly estimating the bias of the geomagnetic sensor, resulting in an increase in power consumption.
By introducing the function of controlling the angular velocity sensor switch in the electronic device, the angular velocity sensor is started for high-speed calibration when specific judgment conditions are met (such as application use, user operation, etc.), and the high-speed calibration is stopped when the timeout occurs, and the normal calibration method is adopted without using the angular velocity sensor.
It effectively suppresses the increase in power consumption due to calibration operations, and improves the battery life and energy efficiency of electronic devices.
Smart Images

Figure 0007666562000001 
Figure 0007666562000002 
Figure 0007666562000003
Abstract
Description
[Technical field]
[0001] The present invention relates to an electronic device, a calibration control method, and a program. [Background technology]
[0002] Conventionally, in order to quickly estimate the offset of the magnetic data output by a geomagnetic sensor, a technique is known in which an angular velocity sensor acquires angular velocity data corresponding to the amount of rotation of the sensor itself, and the geomagnetic sensor is calibrated based on the angular velocity data so that the geomagnetic sensor can output accurate magnetic data (see Patent Document 1). [Prior art documents] [Patent documents]
[0003] [Patent Document 1] International Publication No. 2013 / 125242 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the above configuration, the angular velocity sensor is constantly moved to perform offsetting, which poses a problem of high power consumption.
[0005] The present invention has been made in consideration of the above circumstances, and has an object to suppress an increase in power consumption required for calibration to calibrate the offset of a geomagnetic sensor. [Means for solving the problem]
[0006] In order to achieve the above object, an electronic device according to one aspect of the present invention comprises: A geomagnetic sensor; An angular velocity sensor; A control means for controlling the on / off of the angular velocity sensor; a calibration means for calibrating an output error of the geomagnetic sensor; An action determination means for determining whether a first determination condition is satisfied; Including, When the angular velocity sensor is off and the operation determination means determines that the first determination condition is satisfied, the control means turns on the angular velocity sensor, the calibration means performs a high-speed calibration using the turned-on angular velocity sensor to calibrate an output error of the geomagnetic sensor, and when a timeout set for a completion time of the high-speed calibration occurs, performs a normal calibration without using the angular velocity sensor; The first determination condition includes using an application, instructing calibration, walking, , electric The present invention is characterized in that it includes at least one of the following cases: visual confirmation of the child device, and removal of the electronic device from the arm. 。 Books The electronic device according to another aspect of the present invention comprises: A geomagnetic sensor; An angular velocity sensor; a calibration means for calibrating an output error of the geomagnetic sensor; Including, The calibration means is characterized in that, when it is not possible to execute high-speed calibration using the angular velocity sensor, it executes normal calibration without using the angular velocity sensor. Effect of the Invention
[0007] According to the present invention, it is possible to suppress an increase in power consumption required for calibration to calibrate the offset of a geomagnetic sensor. [Brief description of the drawings]
[0008] [Figure 1] 1 is a schematic diagram of an electronic device according to an embodiment of the present invention; [Diagram 2] FIG. 2 is a block diagram showing a hardware configuration of the electronic device. [Diagram 3]2 is a functional block diagram showing a functional configuration for executing a calibration control process, among the functional configurations of the electronic device of FIG. 1. FIG. [Figure 4] 10 is a flowchart illustrating the flow of a calibration control process executed by the electronic device. [Diagram 5] 10 is a flowchart illustrating the flow of a first determination process executed by the electronic device. [Figure 6] 10 is a flowchart illustrating the flow of a second determination process executed by the electronic device. [Figure 7] 10 is a flowchart illustrating the flow of a calibration control process executed by an electronic device in a second embodiment. [Figure 8] 13 is a flowchart illustrating the flow of a calibration control process executed by an electronic device in a third embodiment. [Figure 9] FIG. 13 is a functional block diagram showing a functional configuration for executing a calibration control process in a fourth embodiment. [Figure 10] 13 is a flowchart illustrating the flow of a calibration control process executed by an electronic device in a fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0009] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. [First embodiment] [composition] FIG. 1 is a schematic diagram of an electronic device 1 according to an embodiment of the present invention. As shown in Fig. 1, the electronic device 1 of this embodiment is configured as a wristwatch-type device (such as a smart watch). As described below, the electronic device 1 includes a geomagnetic sensor and performs calibration to calibrate an offset caused by the influence of a surrounding magnetic field. At this time, the electronic device 1 is capable of performing high-speed calibration using a gyro sensor, and performs calibration using the gyro sensor efficiently.
[0010] FIG. 2 is a block diagram showing the hardware configuration of the electronic device 1. As shown in FIG. As shown in FIG. 2, the electronic device 1 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a bus 14, an input / output interface 15, a GPS unit 16, a sensor unit 17, an imaging unit 18, an input unit 19, an output unit 20, a memory unit 21, a communication unit 22, and a drive 23.
[0011] The CPU 11 executes various processes according to a program recorded in the ROM 12 or a program loaded from the storage unit 21 to the RAM 13 .
[0012] The RAM 13 also stores data and the like necessary for the CPU 11 to execute various processes.
[0013] The CPU 11, the ROM 12, and the RAM 13 are connected to one another via a bus 14. An input / output interface 15 is also connected to the bus 14. A GPS unit 16, a sensor unit 17, an imaging unit 18, an input unit 19, an output unit 20, a storage unit 21, a communication unit 22, and a drive 23 are connected to the input / output interface 15.
[0014] The GPS unit 16 receives GPS signals from a plurality of GPS satellites via a GPS receiving antenna (not shown). The CPU 11 acquires position information such as latitude, longitude, and altitude information indicating the current position of the device based on the GPS signals received by the GPS unit 16.
[0015] The sensor unit 17 includes a geomagnetic sensor 17a, a gyro sensor (angular velocity sensor) 17b, an acceleration sensor 17c, and a pulse sensor 17d, and outputs data of the detection results by these sensors to the CPU 11. In addition to these sensors, the sensor unit 17 may also include various sensors (such as an atmospheric pressure sensor and an illuminance sensor) necessary for the processing executed by the electronic device 1, as appropriate.
[0016] Although not shown, the imaging unit 18 includes an optical lens unit and an image sensor.
[0017] The optical lens section is composed of lenses that collect light in order to photograph a subject, such as a focus lens and a zoom lens. A focus lens is a lens that focuses a subject image on the light receiving surface of an image sensor, while a zoom lens is a lens that can freely change the focal length within a certain range. The imaging unit 18 is also provided with peripheral circuits for adjusting setting parameters such as focus, exposure, and white balance, as necessary.
[0018] The image sensor is composed of a photoelectric conversion element, an AFE (Analog Front End), and the like. The photoelectric conversion element is composed of, for example, a CMOS (Complementary Metal Oxide Semiconductor) type photoelectric conversion element. An object image is incident on the photoelectric conversion element from the optical lens unit. The photoelectric conversion element photoelectrically converts (captures) the object image, accumulates the image signal for a certain period of time, and sequentially supplies the accumulated image signal to the AFE as an analog signal. The AFE performs various signal processing such as A / D (Analog / Digital) conversion processing on this analog image signal. A digital signal is generated by the various signal processing, and is output as an output signal of the imaging unit 18. Such an output signal from the imaging section 18 is appropriately supplied as captured image data to the CPU 11, an image processing section (not shown), and the like.
[0019] The input unit 19 is composed of various buttons and the like, and inputs various information in response to user's instruction operations. The output unit 20 is composed of a display, a speaker, etc., and outputs images and sounds. In this embodiment, an input unit 19 capable of input operations such as touching and swiping is arranged superimposed on an output unit 20 serving as a display for displaying images, icons, etc., to form a touch panel serving as an interface.
[0020] The storage unit 21 is configured with a semiconductor memory such as a dynamic random access memory (DRAM), and stores data of various images.
[0021] The communication unit 22 controls communications with other devices (not shown) via a network including the Internet.
[0022] Removable media 31, which may be a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is appropriately attached to the drive 23. Programs read from the removable media 31 by the drive 23 are installed in the storage unit 21 as necessary. The removable media 31 can also store various data, such as image data stored in the storage unit 21, in the same manner as the storage unit 21.
[0023] FIG. 3 is a functional block diagram showing a functional configuration for executing a calibration control process, among the functional configurations of the electronic device 1 of FIG. The calibration control process refers to a series of processes in which the electronic device 1 executes high-speed calibration using the gyro sensor by more efficiently using the gyro sensor.
[0024] When the calibration control process is executed, as shown in FIG. 3, a calibration execution determination unit 51, a calibration execution unit 52, a gyro sensor control unit 53, a display control unit 54, and an angular velocity information utilization unit 55 function in the CPU 11.
[0025] The calibration execution determination unit 51 determines whether or not calibration of the geomagnetic sensor 17a is necessary in the electronic device 1. For example, the calibration execution determination unit 51 determines a first determination condition for determining whether calibration is necessary based on an operation performed by the electronic device 1. As the first determination condition, for example, it is determined whether the user has started up an electronic compass application, whether the user has made an input instructing calibration of the geomagnetic sensor 17a (or whether an operation for calibration (such as an operation of drawing a figure eight) has been performed), whether a specific behavior has been detected in the electronic device 1, and the like. Note that the specific behavior is, for example, walking, termination of charging, a user's visual recognition action of the electronic device 1 (a motion of lifting the arm), an action of removing the electronic device 1 from the arm, and the like. With regard to the user's visual recognition action of the electronic device 1, when calibration is necessary, it is possible for the electronic device 1 to generate a vibration to prompt the user to perform the visual recognition action, and the like. According to the first judgment condition, calibration of the geomagnetic sensor 17a can be performed at a timing when it is estimated that it is appropriate to perform calibration based on user activity (use of an application, instruction for calibration, performing a specific action, etc.).
[0026] The calibration execution determination unit 51 also determines a second determination condition for determining whether calibration is necessary or not based on the accumulated state of magnetic errors in the electronic device 1. As the second determination condition, for example, the time elapsed since the previous calibration is counted, and it is determined whether the elapsed time exceeds a predetermined time, and if the time elapsed exceeds the predetermined time (if it exceeds a predetermined threshold), it is determined that the second determination condition is satisfied; the calibration point at the previous calibration is identified by the GPS unit 16 or the like, the movement distance from the calibration point to the current position is measured, and if the movement distance exceeds a predetermined distance (if it exceeds a predetermined threshold), it is determined that the second determination condition is satisfied; the gyro sensor 17b or the like is used to identify the cumulative amount of change in attitude from the attitude at the previous calibration to the current time, and if the amount of change in attitude exceeds a predetermined amount of change (if it exceeds a predetermined threshold), it is determined that the second determination condition is satisfied; or if the cumulative amount of change in magnetic field detected from the time of the previous calibration to the current time exceeds a predetermined amount of change (if it exceeds a predetermined threshold), it is determined that the second determination condition is satisfied. In addition, the second judgment condition may be determined to be satisfied if one of the above conditions is satisfied, or the second judgment condition may be determined to be satisfied if multiple of the above conditions are satisfied. According to the second determination condition, it becomes possible to perform calibration of the geomagnetic sensor 17a at a timing when it is estimated that it is appropriate to perform calibration based on the detection accuracy of the geomagnetic field in the electronic device 1.
[0027] The calibration execution unit 52 executes the calibration when the calibration execution determination unit 51 determines that the calibration of the geomagnetic sensor 17a is necessary. For example, when the calibration execution determination unit 51 determines that the gyro sensor 17b is not turned on by a function (angular velocity information utilization unit 55 that acquires predetermined information based on angular velocity data) other than the application that uses the geomagnetic sensor 17a and that the first determination condition is satisfied, the calibration execution unit 52 outputs an instruction to the gyro sensor control unit 53 to turn on the gyro sensor 17b and executes high-speed calibration using the gyro sensor 17b. Also, when a timeout set to the completion time of the high-speed calibration occurs during execution of the high-speed calibration, the calibration execution unit 52 outputs an instruction to the gyro sensor control unit 53 to turn off the gyro sensor 17b, stops the high-speed calibration, and executes normal calibration without using the gyro sensor 17b.
[0028] Also, for example, when the calibration execution determination unit 51 determines that the gyro sensor 17b is turned on by a function (angular velocity information utilization unit 55 that acquires predetermined information based on angular velocity data) other than the application that uses the geomagnetic sensor 17a, and that the first determination condition or the second determination condition is satisfied, the calibration execution unit 52 executes high-speed calibration using the gyro sensor 17b that is already turned on. Also, when a timeout set to the completion time of the high-speed calibration occurs during the execution of the high-speed calibration, the calibration execution unit 52 stops the high-speed calibration while keeping the gyro sensor 17b on, and executes normal calibration without using the gyro sensor 17b.
[0029] In response to an instruction from the calibration execution unit 52, the gyro sensor control unit 53 turns the gyro sensor 17b on or off. The display control unit 54 displays various information presented to the user in the calibration control process. For example, when the calibration execution determination unit 51 determines that the first determination condition is satisfied, the display control unit 54 displays a message (such as "Please perform calibration of the geomagnetic sensor") urging the user to calibrate the geomagnetic sensor 17a. In addition, when the calibration of the geomagnetic sensor 17a is completed, the display control unit 54 displays a message indicating that the calibration is completed (such as "Calibration of the geomagnetic sensor is completed"), and when a timeout occurs in the high-speed calibration, the display control unit 54 displays a message indicating that normal calibration will be performed (such as "Since high-speed calibration cannot be performed, normal calibration will be performed").
[0030] The angular velocity information utilization unit 55 is a functional unit that executes processes other than the application that uses the geomagnetic sensor 17a, and obtains predetermined information based on the angular velocity data.
[0031] [Operation] Next, the operation will be described. [Calibration control process] FIG. 4 is a flowchart illustrating the flow of the calibration control process executed by the electronic device 1. The calibration control process starts when the electronic device 1 is turned on, and ends when the electronic device 1 is turned off.
[0032] In step S1, the calibration execution determination unit 51 determines whether the gyro sensor 17b is turned on by a function (angular velocity information utilization unit 55 that acquires predetermined information based on angular velocity data) other than the application that uses the geomagnetic sensor 17a. If the gyro sensor 17b is not turned on by a function other than the application that uses the geomagnetic sensor 17a, the result of step S1 is determined as NO, and the process proceeds to step S8. On the other hand, if the gyro sensor 17b is turned on by a function other than the application that uses the geomagnetic sensor 17a, the result of the determination in step S1 is YES, and the process proceeds to step S2.
[0033] In step S2, the calibration execution determination unit 51 executes a first determination process (see FIG. 5) and a second determination process (see FIG. 6) to determine whether a first determination condition for determining whether calibration is necessary based on an operation executed by the electronic device 1 or a second determination condition for determining whether calibration is necessary based on an accumulated state of magnetic errors in the electronic device 1 is satisfied. In step S2, since the gyro sensor 17b is turned on by a function other than the application using the geomagnetic sensor 17a, it is determined whether calibration is necessary from the viewpoints of both the first determination condition and the second determination condition in order to utilize the turned-on gyro sensor 17b. As a result, in a situation in which the gyro sensor 17b is turned on, it is possible to determine whether calibration is necessary from a wide range of conditions, making it easier to perform calibration. If the first judgment condition or the second judgment condition is satisfied, a YES judgment is made in step S2, and the process proceeds to step S3. On the other hand, if the first and second judgment conditions are not satisfied, a NO judgment is made in step S2, and the calibration control process is repeated.
[0034] In step S3, the calibration execution unit 52 starts high-speed calibration using the gyro sensor 17b that is already turned on. In step S4, the calibration execution unit 52 determines whether or not the high-speed calibration has been completed. If the high-speed calibration is not completed, the result of the determination in step S4 is NO, and the process proceeds to step S5. On the other hand, if the high-speed calibration has been completed, the determination in step S4 is YES, and the process proceeds to step S7.
[0035] In step S5, the calibration execution unit 52 determines whether or not a timeout set for the completion time of the high-speed calibration has occurred. If the timeout set for the completion time of the high-speed calibration has not occurred, the result of step S5 is NO, and the process proceeds to step S4. On the other hand, if a timeout set for the completion time of the high-speed calibration has occurred, the determination in step S5 is YES, and the process proceeds to step S6.
[0036] In step S6, the calibration execution unit 52 stops the high-speed calibration while keeping the gyro sensor 17b turned on, and executes normal calibration without using the gyro sensor 17b. After step S6, the calibration control process is repeated. In step S7, the calibration execution unit 52 completes the high-speed calibration while keeping the gyro sensor 17b turned on. After step S7, the calibration control process is repeated.
[0037] In step S8, the calibration execution determination unit 51 executes a first determination process to determine whether or not a first determination condition for determining whether or not calibration is necessary based on an operation executed by the electronic device 1 is satisfied. In step S8, the gyro sensor 17b is not turned on by a function other than the application using the geomagnetic sensor 17a, so the gyro sensor 17b is turned on under limited conditions, and therefore, whether or not calibration is necessary is determined only from the viewpoint of the first determination condition. As a result, in a situation where the gyro sensor 17b is not turned on, it is possible to determine whether or not calibration is necessary in a more limited manner, and it is possible to make it more difficult to perform calibration compared to a situation where the gyro sensor 17b is turned on. If the first judgment condition is satisfied, the result of the judgment in step S8 is YES, and the process proceeds to step S9. On the other hand, if the first judgment condition is not satisfied, a NO judgment is made in step S8, and the calibration control process is repeated.
[0038] In step S9, the calibration execution unit 52 outputs an instruction to turn on the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns on the gyro sensor 17b. In step S10, the calibration execution unit 52 starts high-speed calibration using the gyro sensor 17b that was turned on in step S9.
[0039] In step S11, the calibration execution unit 52 determines whether or not the high-speed calibration has been completed. If the high-speed calibration is not completed, the result of the determination in step S11 is NO, and the process proceeds to step S12. On the other hand, if the high-speed calibration has been completed, the determination in step S11 is YES, and the process proceeds to step S15.
[0040] In step S12, the calibration execution unit 52 determines whether or not a timeout set for the completion time of the high-speed calibration has occurred. If the timeout set for the completion time of the high-speed calibration has not occurred, the result of step S12 is NO, and the process proceeds to step S11. On the other hand, if a timeout set for the completion time of the high-speed calibration has occurred, the determination in step S12 is YES, and the process proceeds to step S13.
[0041] In step S13, the calibration execution unit 52 outputs an instruction to turn off the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns off the gyro sensor 17b. In step S14, the calibration execution unit 52 stops the high-speed calibration and executes normal calibration without using the gyro sensor 17b. After step S14, the calibration control process is repeated.
[0042] In step S15, the calibration execution unit 52 outputs an instruction to turn off the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns off the gyro sensor 17b. In step S16, the calibration execution section 52 completes the high-speed calibration. After step S16, the calibration control process is repeated. After the calibration is performed in steps S6, S7, S14, and S16, the electronic device 1 measures, through background processing or the like, the elapsed time since the previous calibration, the distance traveled from the previous calibration point, the cumulative amount of posture change since the previous calibration, or the cumulative amount of magnetic field change since the time of the previous calibration.
[0043] [First judgment process] Next, the first determination process executed in steps S2 and S8 of the calibration control process will be described. FIG. 5 is a flowchart illustrating the flow of the first determination process executed by the electronic device 1. In step S21, the calibration execution determination unit 51 determines whether or not the user has started up an electronic compass application. When the user activates the electronic compass application, the determination in step S21 is YES, and the process proceeds to step S22. On the other hand, if the user has not started up the electronic compass application, the result of the determination in step S21 is NO, and the process proceeds to step S23.
[0044] In step S22, the calibration execution determination unit 51 determines that the first determination condition is satisfied. After step S22, the process returns to the calibration control process. In step S23, the calibration execution determination unit 51 determines whether or not the user has input an instruction to calibrate the geomagnetic sensor 17a. If the user has input an instruction to calibrate the geomagnetic sensor 17a, the result of the determination in step S23 is YES, and the process proceeds to step S22. On the other hand, if the user has not input an instruction to calibrate the geomagnetic sensor 17a, the result of step S23 is NO, and the process proceeds to step S24.
[0045] In step S24, the calibration execution determination unit 51 determines whether or not the user has performed an operation for calibration (such as an operation of drawing a figure eight). If the user has performed an operation for calibration, the result of determination in step S24 is YES, and the process proceeds to step S22. On the other hand, if the user has not performed an operation for calibration, the result of the determination in step S24 is NO, and the process proceeds to step S25.
[0046] In step S25, the calibration execution determination unit 51 determines that the first determination condition is not satisfied. After step S25, the process returns to the calibration control process.
[0047] [Second judgment process] Next, the second determination process executed in step S2 of the calibration control process will be described. FIG. 6 is a flowchart illustrating the flow of the second determination process executed by the electronic device 1. In step S31, the calibration execution determination unit 51 determines whether or not the time elapsed since the previous calibration has exceeded a predetermined time. If the time elapsed since the previous calibration exceeds a predetermined time (predetermined threshold), the determination in step S31 is YES, and the process proceeds to step S32. On the other hand, if the time elapsed since the immediately previous calibration does not exceed the predetermined time, the result of the determination in step S31 is NO, and the process proceeds to step S33.
[0048] In step S32, the calibration execution determination unit 51 determines that the second determination condition is satisfied. After step S32, the process returns to the calibration control process. In step S33, the calibration execution determination unit 51 determines whether or not the movement distance from the calibration point at the time of the immediately previous calibration to the current position exceeds a predetermined distance (a predetermined threshold value). If the travel distance from the calibration point at the immediately preceding calibration to the current position exceeds the predetermined distance, the determination in step S33 is YES, and the process proceeds to step S32. On the other hand, if the movement distance from the calibration point at the time of the immediately previous calibration to the current position does not exceed the predetermined distance, the result of step S33 is determined to be NO, and the process proceeds to step S34.
[0049] In step S34, the calibration execution determination unit 51 determines whether or not the cumulative amount of change in posture from the posture at the time of the immediately previous calibration to the present time exceeds a predetermined amount of change (a predetermined threshold value). If the cumulative amount of change in posture from the posture at the time of the immediately preceding calibration to the present time exceeds a predetermined amount of change, the determination in step S34 is YES, and the process proceeds to step S32. On the other hand, if the cumulative amount of change in posture from the posture at the time of the immediately previous calibration to the present time does not exceed the predetermined amount of change, the result of step S34 is determined to be NO, and the process proceeds to step S35.
[0050] In step S35, the calibration execution determination unit 51 determines whether or not the cumulative amount of change in the magnetic field from the time of the immediately previous calibration to the present time exceeds a predetermined amount of change (a predetermined threshold value). If the cumulative amount of change in the magnetic field from the time of the immediately preceding calibration to the present time exceeds the predetermined amount of change, the determination in step S35 is YES, and the process proceeds to step S32. On the other hand, if the cumulative amount of change in the magnetic field from the time of the immediately preceding calibration to the present time does not exceed the predetermined amount of change, the result of step S35 is determined to be NO, and the process proceeds to step S36. In step S36, the calibration execution determination unit 51 determines that the second determination condition is not satisfied. After step S36, the process returns to the calibration control process.
[0051] In this manner, by determining whether or not the gyro sensor 17b is turned on in step S1 and determining whether or not the first judgment condition is satisfied in step S8, in the electronic device 1, if the first judgment condition is satisfied in a state in which the gyro sensor 17b is not turned on, the gyro sensor 17b is turned on and high-speed calibration is performed. Then, when the high-speed calibration is completed, the gyro sensor 17b is turned off. Therefore, the period during which the gyro sensor 17b is turned on can be further reduced, and high-speed calibration of the geomagnetic sensor 17a can be performed with lower power consumption.
[0052] Moreover, by determining in step S1 whether the gyro sensor 17b is turned on, and determining in step S2 whether the first and second judgment conditions are satisfied, in the electronic device 1, when the first or second judgment condition is satisfied with the gyro sensor 17b turned on, high-speed calibration is performed using the gyro sensor 17b that is already turned on. Then, when the high-speed calibration is completed, the state in which the gyro sensor 17b is turned on is maintained. Therefore, by utilizing the timing when the gyro sensor 17b is turned on by a function other than the application that uses the geomagnetic sensor 17a (angular velocity information utilization unit 55 that acquires specific information based on angular velocity data), it is possible to perform high-speed calibration of the geomagnetic sensor 17a with lower power consumption. That is, according to the electronic device 1, it is possible to suppress an increase in power consumption required for calibration to calibrate the offset of the geomagnetic sensor 17a.
[0053] Furthermore, in the electronic device 1, if a timeout occurs during execution of the high-speed calibration, which is set as the completion time of the high-speed calibration, the high-speed calibration is stopped, and normal calibration is executed without using the gyro sensor 17b. As a result, in the electronic device 1, when it is difficult to complete the high-speed calibration due to the influence of the magnetic field environment or the like, it is possible to suppress an increase in power consumption caused by the high-speed calibration being unnecessarily performed.
[0054] [Second embodiment] In the first embodiment, in the calibration control process shown in FIG. 4, calibration is not normally performed, but high-speed calibration is performed when the conditions for performing high-speed calibration are satisfied, and normal calibration is performed when the high-speed calibration is not completed. On the other hand, it is possible to constantly execute normal calibration and then execute high-speed calibration when the conditions for executing high-speed calibration are met. The hardware configuration of the electronic device 1 in this embodiment is similar to the hardware configuration of the first embodiment shown in Fig. 2. Also, the functional configuration of the electronic device 1 in this embodiment is different from that in the first embodiment in that the calibration execution unit 52 constantly executes normal calibration. The calibration control process, which is different from the first embodiment, will be described below.
[0055] [Calibration control process] FIG. 7 is a flowchart illustrating the flow of a calibration control process executed by the electronic device 1 in the second embodiment. The calibration control process starts when the electronic device 1 is turned on, and ends when the electronic device 1 is turned off.
[0056] In step S41, the calibration execution unit 52 executes normal calibration without using the gyro sensor 17b. In step S42, the calibration execution determination unit 51 executes a second determination process to determine whether or not a second determination condition for determining whether or not calibration is necessary based on the accumulated status of magnetic errors in the electronic device 1 is satisfied. If the second judgment condition is not satisfied, the result of judgment in step S42 is NO, and the process proceeds to step S41. On the other hand, if the second judgment condition is satisfied, the result of the judgment in step S42 is YES, and the process proceeds to step S43.
[0057] In step S43, the calibration execution determination unit 51 determines whether the gyro sensor 17b is turned on by a function (angular velocity information utilization unit 55 that acquires predetermined information based on angular velocity data) other than the application that uses the geomagnetic sensor 17a. If the gyro sensor 17b is not turned on by a function other than the application that uses the geomagnetic sensor 17a, the result of step S43 is determined to be NO, and the process proceeds to step S48. On the other hand, if the gyro sensor 17b is turned on by a function other than the application that uses the geomagnetic sensor 17a, the result of the determination in step S43 is YES, and the process proceeds to step S44.
[0058] In step S44, the calibration execution unit 52 starts high-speed calibration using the gyro sensor 17b that is already turned on. In step S45, the calibration execution section 52 determines whether or not the high-speed calibration has been completed. If the high-speed calibration is not completed, the result of the determination in step S45 is NO, and the process proceeds to step S46. On the other hand, if the high-speed calibration has been completed, the determination in step S45 is YES, and the process proceeds to step S47.
[0059] In step S46, the calibration execution unit 52 determines whether or not a timeout set for the completion time of the high-speed calibration has occurred. If the timeout set for the completion time of the high-speed calibration has not occurred, the result of step S46 is NO, and the process proceeds to step S45. On the other hand, if a timeout set for the completion time of the high-speed calibration has occurred, the result of the determination in step S46 is YES, and the calibration control process is repeated. In step S47, the calibration execution unit 52 completes the high-speed calibration while keeping the gyro sensor 17b turned on. After step S47, the calibration control process is repeated.
[0060] In step S48, the calibration execution determination unit 51 executes a first determination process to determine whether or not a first determination condition for determining whether or not calibration is necessary based on the operation performed by the electronic device 1 is satisfied. If the first judgment condition is satisfied, a YES judgment is made in step S48, and the process proceeds to step S49. On the other hand, if the first judgment condition is not satisfied, a NO judgment is made in step S48, and the calibration control process is repeated.
[0061] In step S49, the calibration execution unit 52 outputs an instruction to turn on the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns on the gyro sensor 17b. In step S50, the calibration execution unit 52 starts high-speed calibration using the gyro sensor 17b that was turned on in step S49.
[0062] In step S51, the calibration execution unit 52 determines whether or not the high-speed calibration has been completed. If the high-speed calibration has not been completed, the result of the determination in step S51 is NO, and the process proceeds to step S52. On the other hand, if the high-speed calibration has been completed, the determination in step S51 is YES, and the process proceeds to step S54.
[0063] In step S52, the calibration execution unit 52 determines whether or not a timeout set for the completion time of the high-speed calibration has occurred. If the timeout set for the completion time of the high-speed calibration has not occurred, the result of step S52 is NO, and the process proceeds to step S51. On the other hand, if a timeout set for the completion time of the high-speed calibration has occurred, the determination in step S52 is YES, and the process proceeds to step S53.
[0064] In step S53, the calibration execution unit 52 outputs an instruction to turn off the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns off the gyro sensor 17b. After step S53, the calibration control process is repeated. In step S54, the calibration execution unit 52 outputs an instruction to turn off the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns off the gyro sensor 17b. In step S55, the calibration execution unit 52 completes the high-speed calibration. After step S55, the calibration control process is repeated.
[0065] After the calibration is performed in steps S41, S47, and S55, the electronic device 1 measures, through background processing or the like, the elapsed time since the previous calibration, the distance traveled from the previous calibration point, the cumulative amount of posture change since the previous calibration, or the cumulative amount of magnetic field change since the time of the previous calibration.
[0066] By performing such processing, the electronic device 1 can perform high-speed calibration using the gyro sensor 17b when the conditions for performing high-speed calibration are satisfied while always performing normal calibration. Therefore, while maintaining the accuracy of the geomagnetic sensor 17a under normal circumstances, it is possible to quickly ensure the accuracy of the geomagnetic sensor 17a by performing high-speed calibration when necessary.
[0067] [Third embodiment] In the first and second embodiments, an example has been described in which high-speed calibration is performed when the gyro sensor 17b is used by an application other than the application that uses the geomagnetic sensor 17a. The hardware configuration of the electronic device 1 in this embodiment is similar to the hardware configuration of the first embodiment shown in Fig. 2. The functional configuration of the electronic device 1 in this embodiment is different from that of the first and second embodiments in that, when the calibration execution determination unit 51 detects that the user is walking or running and the second determination condition is satisfied, the gyro sensor 17b is temporarily turned on to perform high-speed calibration. The calibration control process, which is different from the first and second embodiments, will be described below.
[0068] [Calibration control process] FIG. 8 is a flowchart illustrating the flow of a calibration control process executed by the electronic device 1 in the third embodiment. The calibration control process starts when the electronic device 1 is turned on, and ends when the electronic device 1 is turned off.
[0069] In step S61, the calibration execution unit 52 executes normal calibration without using the gyro sensor 17b. In step S62, the calibration execution determination unit 51 determines whether the user is walking or running by analyzing the user's behavior. The reason for determining whether the user is walking or running is that the calibration can be efficiently performed by utilizing the user's motion. Note that, although it is assumed here that the determination is made as to whether the user is walking or running, it is also possible to determine a motion other than walking or running as long as the motion can be used to perform the calibration. If the user is not walking or running, a negative determination is made in step S62, and the process proceeds to step S61. On the other hand, if the user is walking or running, the result of the determination in step S62 is YES, and the process proceeds to step S63.
[0070] In step S63, the calibration execution determination unit 51 executes a second determination process to determine whether or not a second determination condition for determining whether or not calibration is necessary based on the accumulated status of magnetic errors in the electronic device 1 is satisfied. If the second judgment condition is not satisfied, the result of the judgment in step S63 is NO, and the process proceeds to step S61. On the other hand, if the second judgment condition is satisfied, the result of the judgment in step S63 is YES, and the process proceeds to step S64. It is also possible to reverse the order of the process of determining whether the user is walking or running in step S61 and the process of determining whether the second determination condition is satisfied in step S63.
[0071] In step S64, the calibration execution unit 52 outputs an instruction to turn on the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns on the gyro sensor 17b. In step S65, the calibration execution unit 52 starts high-speed calibration using the gyro sensor 17b that was turned on in step S64.
[0072] In step S66, the calibration execution section 52 determines whether or not the high-speed calibration has been completed. If the high-speed calibration has not been completed, the result of the determination in step S66 is NO, and the process proceeds to step S67. On the other hand, if the high-speed calibration has been completed, the determination in step S66 is YES, and the process proceeds to step S69.
[0073] In step S67, the calibration execution unit 52 determines whether or not a timeout set for the completion time of the high-speed calibration has occurred. If the timeout set for the completion time of the high-speed calibration has not occurred, the result of step S67 is NO, and the process proceeds to step S66. On the other hand, if a timeout set for the completion time of the high-speed calibration has occurred, the determination in step S67 is YES, and the process proceeds to step S68.
[0074] In step S68, the calibration execution unit 52 outputs an instruction to turn off the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns off the gyro sensor 17b. After step S68, the process proceeds to step S61. In step S69, the calibration execution section 52 completes the high-speed calibration. After step S69, the process proceeds to step S68. After the calibration is performed in steps S61 and S68, the electronic device 1 measures, through background processing or the like, the elapsed time since the previous calibration, the distance traveled from the previous calibration point, the cumulative amount of posture change since the previous calibration, or the cumulative amount of magnetic field change since the time of the previous calibration.
[0075] By performing such processing, the electronic device 1 can always perform normal calibration while keeping the gyro sensor off as much as possible, and when the user walking or running (i.e., user motion that can be used for calibration) is detected, the gyro sensor 17b is turned on to perform high-speed calibration. Therefore, the period during which the gyro sensor 17b is turned on can be further reduced, and the accuracy of the geomagnetic sensor 17a during normal operation can be maintained while high-speed calibration of the geomagnetic sensor 17a can be performed with lower power consumption.
[0076] [Fourth embodiment] In the third embodiment, normal calibration is performed all the time, and when it is determined that the user is walking or running and the second determination condition is satisfied, the gyro sensor 17b is temporarily turned on to perform high-speed calibration. In contrast to this, the geomagnetic sensor 17a is normally turned off and normal calibration is not performed, but when it is determined that the user is walking or running, the geomagnetic sensor 17a is turned on and normal calibration is performed, and further, when the second determination condition is satisfied, the gyro sensor 17b is turned on and high-speed calibration is performed. The hardware configuration of the electronic device 1 in this embodiment is similar to the hardware configuration of the first embodiment shown in Fig. 2. The functional configuration of the electronic device 1 in this embodiment is different from that in the third embodiment in that it includes a geomagnetic sensor control unit 56, and that when the calibration execution determination unit 51 determines that the user is walking or running, the geomagnetic sensor 17a is turned on to perform normal calibration, and further, when the second determination condition is satisfied, the gyro sensor 17b is turned on to perform high-speed calibration. The following describes the functional configuration of the geomagnetic sensor control unit 56 and the calibration control process, which are different from the third embodiment.
[0077] FIG. 9 is a functional block diagram showing a functional configuration for executing the calibration control process in the fourth embodiment. In FIG. 9, the functional configuration other than the geomagnetic sensor control unit 56 is substantially the same as the functional configuration in FIG. 3 in the first embodiment. The geomagnetic sensor control unit 56 turns on or off the geomagnetic sensor 17a in response to an instruction from the calibration execution unit 52.
[0078] [Calibration control process] FIG. 10 is a flowchart illustrating the flow of the calibration control process executed by the electronic device 1 in the fourth embodiment. The calibration control process starts when the electronic device 1 is turned on, and ends when the electronic device 1 is turned off.
[0079] In step S71, the calibration execution determination unit 51 determines whether the user is walking or running by analyzing the user's behavior. The reason for determining whether the user is walking or running is that the calibration can be efficiently performed by utilizing the motion. Note that, although it is assumed here that the determination is made as to whether the user is walking or running, it is also possible to determine a motion other than walking or running as long as the motion can be used to perform the calibration. If the user is not walking or running, the result of the determination in step S71 is NO, and the process of step S71 is repeated. On the other hand, if the user is walking or running, the result of the determination in step S71 is YES, and the process proceeds to step S72.
[0080] In step S72, the calibration execution unit 52 outputs an instruction to the geomagnetic sensor control unit 56 to turn on the geomagnetic sensor 17a and executes normal calibration. As a result, the geomagnetic sensor control unit 56 turns on the geomagnetic sensor 17a and starts normal calibration of the geomagnetic sensor 17a. In step S73, the calibration execution determination unit 51 executes a second determination process to determine whether or not a second determination condition for determining whether or not calibration is necessary based on the accumulated status of magnetic errors in the electronic device 1 is satisfied. If the second judgment condition is not satisfied, the judgment in step S73 is NO, and the process proceeds to step S84. On the other hand, if the second judgment condition is satisfied, the result of the judgment in step S73 is YES, and the process proceeds to step S74.
[0081] In step S74, the calibration execution unit 52 outputs an instruction to turn on the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns on the gyro sensor 17b. In step S75, the calibration execution unit 52 starts high-speed calibration using the gyro sensor 17b that was turned on in step S74.
[0082] In step S76, the calibration execution section 52 determines whether or not the high-speed calibration has been completed. If the high-speed calibration has not been completed, the result of the determination in step S76 is NO, and the process proceeds to step S77. On the other hand, if the high-speed calibration has been completed, the determination in step S76 is YES, and the process proceeds to step S78.
[0083] In step S77, the calibration execution unit 52 determines whether or not a timeout set for the completion time of the high-speed calibration has occurred. If the timeout set for the completion time of the high-speed calibration has not occurred, the result of step S77 is NO, and the process proceeds to step S76. On the other hand, if a timeout set for the completion time of the high-speed calibration has occurred, the determination in step S77 is YES, and the process proceeds to step S79.
[0084] In step S78, the calibration execution section 52 completes the high-speed calibration. After step S78, the process proceeds to step S79. In step S79, the calibration execution unit 52 outputs an instruction to turn off the gyro sensor 17b to the gyro sensor control unit 53. As a result, the gyro sensor control unit 53 turns off the gyro sensor 17b. In step S80, the calibration execution unit 52 executes normal calibration without using the gyro sensor 17b. This allows the system to transition to a state in which high-speed calibration is attempted, and normal calibration is performed when the high-speed calibration is completed or when the high-speed calibration times out.
[0085] In step S81, the calibration execution section 52 determines whether or not a timeout set for the completion time of the normal calibration has occurred. If the timeout set for the completion time of the normal calibration has not occurred, the result of step S81 is NO, and the process proceeds to step S82. On the other hand, if a timeout set for the completion time of the normal calibration has occurred, the determination in step S81 is YES, and the process proceeds to step S84.
[0086] In step S82, the calibration execution determination unit 51 determines whether the user is walking or running by analyzing the user's behavior. The reason for determining whether the user is walking or running is that the user's motion can be used to perform calibration. Note that although it is assumed here that the user is walking or running, a motion other than walking or running may be determined as long as the motion can be used to perform calibration. If the user is not walking or running, a negative determination is made in step S82, and the process proceeds to step S81. On the other hand, if the user is walking or running, the result of the determination in step S82 is YES, and the process proceeds to step S83.
[0087] In step S83, the calibration execution determination unit 51 executes a second determination process to determine whether or not a second determination condition for determining whether or not calibration is necessary based on the accumulated status of magnetic errors in the electronic device 1 is satisfied. If the second judgment condition is not satisfied, the result of the judgment in step S83 is NO, and the process proceeds to step S84. On the other hand, if the second judgment condition is satisfied, a YES judgment is made in step S83, and the process proceeds to step S74. It is also possible to reverse the order of the process of determining whether or not the user is walking or running in step S82 and the process of determining whether or not the second determination condition is satisfied in step S83.
[0088] In step S84, the calibration execution section 52 ends the normal calibration. In step S85, the calibration execution unit 52 outputs an instruction to turn off the geomagnetic sensor 17a to the geomagnetic sensor control unit 56. As a result, the geomagnetic sensor control unit 56 turns off the geomagnetic sensor 17a. After step S85, the process proceeds to step S71.
[0089] After the calibration is performed in steps S72, S79, and S80, the electronic device 1 measures, through background processing or the like, the elapsed time since the previous calibration, the distance traveled from the previous calibration point, the cumulative amount of posture change since the previous calibration, or the cumulative amount of magnetic field change since the time of the previous calibration.
[0090] By such processing, in the electronic device 1, the geomagnetic sensor 17a is normally turned off and normal calibration is not performed, but when it is determined that the user is walking or running, the geomagnetic sensor 17a is turned on and normal calibration is performed, and further, when the second determination condition is satisfied, the gyro sensor 17b is turned on and high-speed calibration is performed. Therefore, the period during which the geomagnetic sensor 17a and the gyro sensor 17b are turned on can be reduced, and high-speed calibration of the geomagnetic sensor 17a can be performed with lower power consumption.
[0091] [Variation 1] In each of the above-described embodiments, the normal calibration is executed when a timeout occurs that is set to the completion time of the high-speed calibration, but the present invention is not limited to this. For example, when a timeout set for the completion time of the high-speed calibration occurs, the calibration execution unit 52 may cancel the calibration at this point without performing the normal calibration. Then, the calibration execution unit 52 may adjust the execution timing of the high-speed calibration and re-execute the high-speed calibration after a preset time has elapsed. This makes it possible to re-execute high-speed calibration at a later time when high-speed calibration can be performed, for example, in a situation where the magnetic field environment is poor and the current timing is not considered suitable for calibration.
[0092] The electronic device 1 configured as above includes the geomagnetic sensor 17a, the gyro sensor 17b, a calibration execution unit 52, a gyro sensor control unit 53, and a calibration execution determination unit 51. The calibration execution unit 52 calibrates the output error of the geomagnetic sensor 17a based on the angular velocity data output by the gyro sensor 17b so that the geomagnetic sensor 17a can output more accurate geomagnetic data. The gyro sensor control unit 53 controls the on / off state of the gyro sensor 17b. The calibration execution determination unit 51 determines whether or not calibration of the geomagnetic sensor 17a is necessary. When the calibration execution determination unit 51 determines that calibration of the geomagnetic sensor 17a is not necessary, the gyro sensor control unit 53 controls the gyro sensor 17b to be turned off. Through such processing, in the electronic device 1, when the calibration of the geomagnetic sensor 17a using the gyro sensor 17b is completed, the gyro sensor 17b is turned off. Therefore, the period during which the gyro sensor 17b is turned on can be further reduced, and the calibration of the geomagnetic sensor 17a using the gyro sensor 17b can be performed with lower power consumption. That is, according to the electronic device 1, it is possible to suppress an increase in power consumption required for calibration to calibrate the offset of the geomagnetic sensor 17a.
[0093] When the calibration execution determination unit 51 determines that calibration of the geomagnetic sensor 17a is not necessary and the gyro sensor 17b is not being used in other processing, the gyro sensor control unit 53 controls the gyro sensor 17b to be turned off. This allows the gyro sensor 17b to be turned off when the gyro sensor 17b is not being used, making it possible to suppress an increase in power consumption.
[0094] The electronic device 1 also includes an angular velocity information utilization unit 55. The angular velocity information utilization unit 55 acquires predetermined information by utilizing the gyro sensor 17b. The gyro sensor control unit 53 turns on the gyro sensor 17b while the angular velocity information utilization unit 55 is acquiring predetermined information. While the angular velocity information utilization unit 55 is acquiring predetermined information, the calibration execution unit 52 calibrates the output error of the geomagnetic sensor 17a by using the angular velocity data output by the gyro sensor 17b. This makes it possible to calibrate the geomagnetic sensor 17a using the gyro sensor 17b with lower power consumption by taking advantage of the timing when the gyro sensor 17b is turned on by a function other than the application that uses the geomagnetic sensor 17a (angular velocity information utilization unit 55 that acquires specific information based on angular velocity data).
[0095] When the calibration execution determination unit 51 determines that the geomagnetic sensor 17a needs to be calibrated, the gyro sensor control unit 53 controls the gyro sensor 17b to be turned on. This makes it possible to further reduce the period during which the gyro sensor 17b is turned on, and thus to perform high-speed calibration of the geomagnetic sensor 17a with lower power consumption.
[0096] The calibration execution determination unit 51 determines whether or not calibration of the geomagnetic sensor 17a is necessary by determining whether or not the magnetic accuracy of the geomagnetic sensor 17a is good and / or by determining whether or not the user of the electronic device 1 is performing an action that can be used to calibrate the output error of the geomagnetic sensor 17a. This allows the geomagnetic sensor 17a to be calibrated using the gyro sensor 17b when the accuracy of the geomagnetic sensor 17a has decreased or when the user of the electronic device 1 is performing an action that can be used to calibrate the output error of the geomagnetic sensor 17a.
[0097] The calibration execution determination unit 51 determines whether or not the user of the electronic device 1 is performing an action that can be used to calibrate the output error of the geomagnetic sensor 17a. The calibration execution unit 52 calibrates the output error of the geomagnetic sensor 17a when the calibration execution determination unit 51 determines that the user of the electronic device 1 is performing an action that can be used to calibrate the output error of the geomagnetic sensor 17a. This makes it possible to efficiently calibrate the geomagnetic sensor 17a by utilizing the user's actions.
[0098] The calibration execution unit 52 calibrates the output error of the geomagnetic sensor 17a when the calibration execution determination unit 51 determines that calibration of the geomagnetic sensor 17a is necessary and when it determines that the user of the electronic device 1 is performing an action that can be used to calibrate the output error of the geomagnetic sensor 17a. This makes it possible to efficiently calibrate the geomagnetic sensor 17a when the accuracy of the geomagnetic sensor 17a is reduced in a situation where the user's behavior can be utilized for calibrating the geomagnetic sensor 17a.
[0099] The calibration execution unit 52 is capable of executing a first calibration process (high-speed calibration) that calibrates the output error of the geomagnetic sensor 17a based on the angular velocity data output by the gyro sensor 17b so that the geomagnetic sensor 17a can output more accurate geomagnetic data, and a second calibration process (normal calibration) that calibrates the output error of the geomagnetic sensor 17a so that the geomagnetic sensor 17a can output more accurate geomagnetic data without using the angular velocity data output by the gyro sensor 17b. If the calibration execution determination unit 51 determines that calibration of the geomagnetic sensor 17a is necessary, the gyro sensor control unit 53 turns on the gyro sensor 17b and the calibration execution unit 52 executes a first calibration process, and in any case other than when the calibration execution determination unit 51 determines that calibration of the geomagnetic sensor 17a is necessary, the calibration execution unit 52 executes a second calibration process. This makes it possible to maintain the accuracy of the geomagnetic sensor 17a, and when calibration of the geomagnetic sensor 17a is required, to perform the calibration more quickly.
[0100] Under normal circumstances, the calibration execution unit 52 executes the second calibration process, and if the calibration execution determination unit 51 determines that calibration of the geomagnetic sensor 17a is necessary, the gyro sensor control unit 53 turns on the gyro sensor 17b and the calibration execution unit 52 executes the first calibration process. This makes it possible to reduce the period during which the gyro sensor 17b is turned on, and to perform high-speed calibration of the geomagnetic sensor 17a with lower power consumption while maintaining the accuracy of the geomagnetic sensor 17a in normal operation.
[0101] The calibration execution unit 52 adjusts the calibration timing of the calibration of the geomagnetic sensor 17a. The gyro sensor control unit 53 controls the gyro sensor 17b to be turned on and off based on the calibration timing adjusted by the calibration execution unit 52. This allows calibration using gyro sensor 17b to be re-performed at a later time when calibration using gyro sensor 17b can be performed, for example in a situation where the magnetic field environment is poor and it is considered that the current timing is not suitable for calibration.
[0102] The calibration execution determination unit 51 measures at least one of the elapsed time since the previous calibration, the distance traveled from the previous calibration point, the amount of posture change since the previous calibration, and the cumulative amount of magnetic field change since the previous calibration, and if the measurement result exceeds a predetermined threshold, determines that calibration of the geomagnetic sensor 17a is necessary. This makes it possible to determine whether calibration is necessary or not based on the accumulated state of magnetic errors in the electronic device 1.
[0103] The electronic device 1 also includes a geomagnetic sensor 17a, a gyro sensor 17b, a calibration execution unit 52, a gyro sensor control unit 53, and an angular velocity information utilization unit 55. The calibration execution unit 52 calibrates the output error of the geomagnetic sensor 17a based on the angular velocity data output by the gyro sensor 17b so that the geomagnetic sensor 17a can output more accurate geomagnetic data. The gyro sensor control unit 53 controls the on / off state of the gyro sensor 17b. The angular velocity information utilization unit 55 acquires predetermined information by utilizing the gyro sensor 17b. The gyro sensor control unit 53 turns on the gyro sensor 17b while the angular velocity information utilization unit 55 is acquiring predetermined information. While the angular velocity information utilization unit 55 is acquiring predetermined information, the calibration execution unit 52 calibrates the output error of the geomagnetic sensor 17a by using the angular velocity data output by the gyro sensor 17b. This makes it possible to calibrate the geomagnetic sensor 17a using the gyro sensor 17b with lower power consumption by taking advantage of the timing when the gyro sensor 17b is turned on by a function other than the application that uses the geomagnetic sensor 17a (angular velocity information utilization unit 55 that acquires specific information based on angular velocity data).
[0104] The present invention is not limited to the above-described embodiment, and modifications and improvements within the scope of the present invention that can achieve the object of the present invention are included in the present invention.
[0105] In the above embodiment, when a schedule for processing using the gyro sensor 17b is set (for example, when motion data of a user is intermittently acquired, etc.), the high-speed calibration of the geomagnetic sensor 17a may be executed in accordance with this schedule. In addition, when it becomes necessary to execute high-speed calibration of the geomagnetic sensor 17a, if the schedule for processing using the gyro sensor 17b is approaching within a predetermined time, the schedule may be advanced, and the gyro sensor 17b may be turned on to execute high-speed calibration of the geomagnetic sensor 17a.
[0106] In the above embodiment, in step S8 of the calibration control process, only the first judgment condition for judging whether or not calibration is necessary based on the operation executed by the electronic device 1 is judged, but this is not limited to the above. For example, in step S8 of the calibration control process, in addition to the first judgment condition, a second judgment condition for judging whether or not calibration is necessary based on the accumulated state of magnetic errors in the electronic device 1 may be judged, and if the first judgment condition or the second judgment condition is satisfied, the gyro sensor 17b may be turned on to start high-speed calibration. This allows for faster high-speed calibration in a situation where calibration of the geomagnetic sensor 17a in the electronic device 1 is required. Furthermore, in step S2 of the calibration control process, it is possible to judge only one of the first and second judgment conditions, and in step S8 of the calibration control process, it is possible to judge only the second judgment condition. In this way, by determining one or both of the first and second judgment conditions as necessary, it is possible to flexibly realize a desired device configuration.
[0107] Furthermore, in the above-described embodiment, when determining the second determination condition, multiple levels representing the accumulated state of magnetic errors in the electronic device 1 may be set, and the extent of this level may be determined in the electronic device 1. For example, it is possible to set a higher level (e.g., "Level 3") as the accumulated state of magnetic errors in the electronic device 1 becomes smaller, and set the accumulated state of magnetic errors that requires calibration to the lowest level (e.g., "Level 0"). By setting the levels in this way, it becomes possible to more easily determine the accumulation state of magnetic errors in the electronic device 1.
[0108] In the above embodiment, the electronic device 1 to which the present invention is applied has been described as a wristwatch-type device (such as a smart watch), but the electronic device is not limited to this. For example, the present invention can be applied to electronic devices in general that have a function for calibrating a geomagnetic sensor. Specifically, the present invention can be applied to notebook personal computers, television receivers, video cameras, portable navigation devices, mobile phones, smartphones, portable game consoles, and the like.
[0109] The above-described series of processes can be executed by hardware or software. In other words, the functional configuration in Fig. 3 is merely an example and is not particularly limited. That is, it is sufficient for the electronic device 1 to have a function capable of executing the above-mentioned series of processes as a whole, and the type of functional block used to realize this function is not particularly limited to the example in Fig. 3. Furthermore, one functional block may be configured as a single piece of hardware, a single piece of software, or a combination of both. The functional configuration in this embodiment is realized by a processor that executes arithmetic processing, and processors that can be used in this embodiment include those that are composed of various types of processing devices alone, such as single processors, multiprocessors, and multicore processors, as well as those that combine these various types of processing devices with processing circuits such as ASICs (Application Specific Integrated Circuits) and FPGAs (Field-Programmable Gate Arrays). Furthermore, when the present invention is applied to an apparatus having multiple entities that perform calculation processing, such as a multiprocessor, a multicore processor, or a combination of various processing devices and processing circuits, one calculation processing entity can execute a calibration control process, and the results of the calibration control process can be used by each calculation processing entity regardless of the operating state of the other calculation processing entities (such as a hibernation state, a sleep state, or a state in which other processing is being executed).
[0110] When the series of processes is executed by software, the program constituting the software is installed into a computer or the like from a network or a recording medium. The computer may be a computer built into dedicated hardware, or may be a computer capable of executing various functions by installing various programs, such as a general-purpose personal computer.
[0111] A recording medium including such a program may be constituted not only by the removable medium 31 in FIG. 2 that is distributed separately from the device main body in order to provide the user with the program, but also by a recording medium provided to the user in a state in which it is pre-installed in the device main body. The removable medium 31 may be constituted, for example, by a magnetic disk (including a floppy disk), an optical disk, or a magneto-optical disk. An optical disk may be, for example, a CD-ROM (Compact Disk-Read Only Memory), a DVD (Digital The magnetic disk is constituted by a DVD player, a DVD player (DVD-RW), ...
[0112] In this specification, the steps of describing a program to be recorded on a recording medium include not only processes that are performed chronologically according to the order, but also processes that are not necessarily performed chronologically but are executed in parallel or individually.
[0113] Although several embodiments of the present invention have been described above, these embodiments are merely illustrative and do not limit the technical scope of the present invention. The present invention can take various other embodiments, and various modifications such as omissions and substitutions can be made without departing from the gist of the present invention. These embodiments and their modifications are included in the scope and gist of the invention described in this specification, etc., and are included in the scope of the invention described in the claims and their equivalents.
[0114] The invention as described in the claims of the present application as originally filed is set forth below. [Appendix 1] A geomagnetic sensor; An angular velocity sensor; a calibration unit that calibrates an output error of the geomagnetic sensor based on angular velocity data output by the angular velocity sensor so that the geomagnetic sensor can output more accurate geomagnetic data, A control means for controlling the on / off of the angular velocity sensor; a determination means for determining whether calibration of the geomagnetic sensor is necessary; having The electronic device according to claim 1, wherein the control means controls the angular velocity sensor to be turned off when the determination means determines that calibration of the geomagnetic sensor is not necessary. [Appendix 2] The electronic device described in Appendix 1, characterized in that the control means controls the angular velocity sensor to be turned off when the determination means determines that calibration of the geomagnetic sensor is not necessary and when the angular velocity sensor is not being used in other processing. [Appendix 3] an angular velocity information acquiring means for acquiring predetermined information by utilizing the angular velocity sensor; the control means turns on the angular velocity sensor while the angular velocity information acquisition means is acquiring the predetermined information; The electronic device described in appendix 1 or 2, characterized in that the calibration means calibrates an output error of the geomagnetic sensor by using angular velocity data output by the angular velocity sensor while the angular velocity information acquisition means is acquiring the specified information. [Appendix 4] 4. The electronic device according to claim 1, wherein the control means controls the angular velocity sensor to be turned on when the determination means determines that calibration of the geomagnetic sensor is necessary. [Appendix 5] The electronic device described in any one of Appendices 1 to 4, characterized in that the determination means determines whether calibration of the geomagnetic sensor is necessary by determining whether the magnetic accuracy of the geomagnetic sensor is good and / or by determining whether a user of the electronic device is performing an action that can be used to calibrate an output error of the geomagnetic sensor. [Appendix 6] an action determination means for determining whether or not a user of the electronic device is performing an action that can be used to calibrate an output error of the geomagnetic sensor; The electronic device described in any one of Appendices 1 to 4, characterized in that the calibration means calibrates the output error of the geomagnetic sensor when the operation determination means determines that a user of the electronic device is performing an operation that can be used to calibrate the output error of the geomagnetic sensor. [Appendix 7] The electronic device described in Appendix 6, characterized in that the calibration means calibrates the output error of the geomagnetic sensor when the determination means determines that calibration of the geomagnetic sensor is necessary and when the operation determination means determines that a user of the electronic device is performing an operation that can be used to calibrate the output error of the geomagnetic sensor. [Appendix 8] The calibration means includes: a first calibration process for calibrating an output error of the geomagnetic sensor based on the angular velocity data output by the angular velocity sensor so that the geomagnetic sensor can output more accurate geomagnetic data; a second calibration process for calibrating an output error of the geomagnetic sensor so that the geomagnetic sensor can output more accurate geomagnetic data without using the angular velocity data output by the angular velocity sensor; The electronic device described in any one of appendices 1 to 7, characterized in that, when the determination means determines that calibration of the geomagnetic sensor is necessary, the control means turns on the angular velocity sensor and the calibration means executes the first calibration process, and when the determination means does not determine that calibration of the geomagnetic sensor is necessary, the calibration means executes the second calibration process. [Appendix 9] The electronic device described in Appendix 8, characterized in that the calibration means normally executes the second calibration process, and when the determination means determines that calibration of the geomagnetic sensor is necessary, the control means turns on the angular velocity sensor and the calibration means executes the first calibration process. [Appendix 10] an adjustment unit that adjusts a calibration timing of the calibration unit for the geomagnetic sensor; 10. The electronic device according to claim 1, wherein the control means controls the angular velocity sensor to be turned on and off based on the calibration timing adjusted by the adjustment means. [Appendix 11] The electronic device described in any one of Appendices 1 to 10, characterized in that the determination means measures at least one of the elapsed time since the previous calibration, the distance traveled from the previous calibration point, the amount of posture change since the previous calibration, and the cumulative amount of magnetic field change since the previous calibration, and determines that calibration of the geomagnetic sensor is necessary when the measurement result exceeds a predetermined threshold. [Appendix 12] A geomagnetic sensor; An angular velocity sensor; a calibration unit that calibrates an output error of the geomagnetic sensor based on angular velocity data output by the angular velocity sensor so that the geomagnetic sensor can output more accurate geomagnetic data, A control means for controlling the on / off of the angular velocity sensor; an angular velocity information acquiring means for acquiring predetermined information by using the angular velocity sensor; having the control means turns on the angular velocity sensor while the angular velocity information acquisition means is acquiring the predetermined information; the calibration means calibrating an output error of the geomagnetic sensor by using angular velocity data output by the angular velocity sensor while the angular velocity information acquisition means is acquiring the specified information. [Appendix 13] A geomagnetic sensor; An angular velocity sensor; a calibration unit that calibrates an output error of the geomagnetic sensor based on angular velocity data output by the angular velocity sensor so that the geomagnetic sensor can output more accurate geomagnetic data, the calibration control method being executed by an electronic device comprising the steps of: a control step of controlling on / off of the angular velocity sensor; a determination step of determining whether calibration of the geomagnetic sensor is required; Including, A calibration control method, comprising the steps of: in the control step, when it is determined in the determination step that calibration of the geomagnetic sensor is not required, controlling the angular velocity sensor to be turned off. [Appendix 14] A geomagnetic sensor; An angular velocity sensor; A calibration control method performed by an electronic device comprising: a calibration step of calibrating an output error of the geomagnetic sensor based on the angular velocity data output by the angular velocity sensor so that the geomagnetic sensor can output more accurate geomagnetic data; a control step of controlling on / off of the angular velocity sensor; an angular velocity information acquisition step of acquiring predetermined information by using the angular velocity sensor; Including, In the control step, the angular velocity sensor is turned on while the predetermined information is being acquired in the angular velocity information acquisition step; A calibration control method characterized in that, in the calibration step, while the specified information is being acquired by the angular velocity information acquisition step, an output error of the geomagnetic sensor is calibrated using angular velocity data output by the angular velocity sensor. [Appendix 15] A geomagnetic sensor; An angular velocity sensor; a calibration unit that calibrates an output error of the geomagnetic sensor based on the angular velocity data output by the angular velocity sensor so that the geomagnetic sensor can output more accurate geomagnetic data, A control function for controlling the angular velocity sensor to be on / off; a determination function for determining whether calibration of the geomagnetic sensor is necessary; Realize this, The program, wherein the control function controls the angular velocity sensor to be turned off when the determination function determines that calibration of the geomagnetic sensor is not necessary. [Appendix 16] A geomagnetic sensor; An angular velocity sensor; A computer that controls an electronic device comprising: a calibration function for calibrating an output error of the geomagnetic sensor based on the angular velocity data output by the angular velocity sensor so that the geomagnetic sensor can output more accurate geomagnetic data; A control function for controlling the angular velocity sensor to be on / off; An angular velocity information acquisition function that acquires predetermined information by using the angular velocity sensor; Realize this, the control function turns on the angular velocity sensor while the angular velocity information acquisition function is acquiring the predetermined information; A program characterized in that the calibration function calibrates the output error of the geomagnetic sensor using angular velocity data output by the angular velocity sensor while the specified information is being acquired by the angular velocity information acquisition function. [Explanation of symbols]
[0115] 1···Electronic device, 11···CPU, 12···ROM, 13···RAM, 14···Bus, 15···Input / output interface, 16···GPS section, 17···Sensor section, 17a···Geomagnetic sensor, 17b··Gyro sensor, 17c··Acceleration sensor, 17d··Pulse sensor, 18···Imaging section, 19···Input section, 20···Output section, 21···Memory section, 22···Communication section, 23··Drive, 31··Removable media, 51···Calibration execution determination section, 52···Calibration execution section, 53···Gyro sensor control section, 54···Display control section, 55··Angular velocity information utilization section, 56···Geomagnetic sensor control section
Claims
1. A geomagnetic sensor; An angular velocity sensor; A control means for controlling the angular velocity sensor to be on / off; a calibration means for calibrating an output error of the geomagnetic sensor; An action determination means for determining whether a first determination condition is satisfied; Including, when the angular velocity sensor is off and the operation determination means determines that the first determination condition is satisfied, the control means turns on the angular velocity sensor; the calibration means performs a high-speed calibration using the turned-on angular velocity sensor to calibrate an output error of the geomagnetic sensor, and when a timeout set for a completion time of the high-speed calibration occurs, performs a normal calibration without using the angular velocity sensor; The electronic device, wherein the first determination condition includes at least one of the following: use of an application, a calibration instruction, walking, a visual recognition action on the electronic device, and removal of the electronic device from the arm.
2. 2. The electronic device according to claim 1, wherein the calibration means determines whether or not a high-speed calibration using the turned-on angular velocity sensor has been completed, and if the high-speed calibration has been completed, the angular velocity sensor is turned off, thereby completing the high-speed calibration.
3. A geomagnetic sensor; An angular velocity sensor; a calibration means for calibrating an output error of the geomagnetic sensor; Including, The electronic device according to claim 1, wherein the calibration means performs normal calibration without using the angular velocity sensor when high-speed calibration using the angular velocity sensor cannot be performed.
4. A geomagnetic sensor; An angular velocity sensor; a control step of controlling on / off of the angular velocity sensor; a calibration step of calibrating an output error of the geomagnetic sensor; an operation determination step of determining whether or not a first determination condition is satisfied; Including, When the angular velocity sensor is off and the operation determination step determines that the first determination condition is satisfied, the control step turns on the angular velocity sensor, the calibration step performs a high-speed calibration using the angular velocity sensor that is turned on to calibrate an output error of the geomagnetic sensor, and when a timeout set for a completion time of the high-speed calibration occurs, performs a normal calibration without using the angular velocity sensor; A calibration control method, wherein the first judgment condition includes at least one of the following: use of an application, an instruction for calibration, walking, a visual action on the electronic device, and removal of the electronic device from the arm.
5. A geomagnetic sensor; An angular velocity sensor; a calibration step of calibrating an output error of the geomagnetic sensor; Including, The calibration control method according to claim 1, wherein in the calibration step, when high-speed calibration using the angular velocity sensor cannot be performed, normal calibration is performed without using the angular velocity sensor.
6. A geomagnetic sensor; An angular velocity sensor; A computer that controls an electronic device comprising: A control function for controlling the angular velocity sensor to be on / off; a calibration function for calibrating an output error of the geomagnetic sensor; an action determination function that determines whether a first determination condition is satisfied; Realize this, When the angular velocity sensor is off and the operation determination function determines that the first determination condition is satisfied, the control function turns on the angular velocity sensor; the calibration function performs a high-speed calibration using the turned-on angular velocity sensor to calibrate an output error of the geomagnetic sensor, and when a timeout occurs that is set for the completion time of the high-speed calibration, performs a normal calibration without using the angular velocity sensor; The program, wherein the first judgment condition includes at least one of the following: use of an application, an instruction for calibration, walking, visual recognition of the electronic device, and removal of the electronic device from the arm.
7. A geomagnetic sensor; An angular velocity sensor; Calibration function; A computer that controls an electronic device including A calibration function is realized that calibrates an output error of the geomagnetic sensor so that the geomagnetic sensor can output more accurate geomagnetic data based on the angular velocity data output by the angular velocity sensor; The calibration function executes normal calibration without using the angular velocity sensor when high-speed calibration using the sensor cannot be executed.
Citation Information
Patent Citations
Magnetism measuring device and magnetism measuring method
JP2005249619A
Systems and Methods for Initiating Calibration of a Sensor
US20150192440A1
Extended kalman filter based autonomous magnetometer calibration
US20170343349A1
Portable terminal with electronic compass and direction calculation method
WO2012070619A1
Offset estimation device, offset estimation method, offset estimation program and information processing device
WO2013125242A1