CN107422355B - Hybrid positioning method and electronic device - Google Patents

Hybrid positioning method and electronic device Download PDF

Info

Publication number
CN107422355B
CN107422355B CN201710362632.6A CN201710362632A CN107422355B CN 107422355 B CN107422355 B CN 107422355B CN 201710362632 A CN201710362632 A CN 201710362632A CN 107422355 B CN107422355 B CN 107422355B
Authority
CN
China
Prior art keywords
information
processing unit
estimated
location
heading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710362632.6A
Other languages
Chinese (zh)
Other versions
CN107422355A (en
Inventor
蔡雨坤
谢清霖
许坚致
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CM HK Ltd
Original Assignee
CM HK Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/430,607 external-priority patent/US10845452B2/en
Application filed by CM HK Ltd filed Critical CM HK Ltd
Publication of CN107422355A publication Critical patent/CN107422355A/en
Application granted granted Critical
Publication of CN107422355B publication Critical patent/CN107422355B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/45Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
    • G01S19/46Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement the supplementary measurement being of a radio-wave signal type
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C25/00Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass
    • G01C25/005Manufacturing, calibrating, cleaning, or repairing instruments or devices referred to in the other groups of this subclass initial alignment, calibration or starting-up of inertial devices
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/165Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
    • G01C21/1654Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with electromagnetic compass
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/04Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by terrestrial means
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/14Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by recording the course traversed by the object
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • G01C22/006Pedometers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • G01S19/45Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement
    • G01S19/47Determining position by combining measurements of signals from the satellite radio beacon positioning system with a supplementary measurement the supplementary measurement being an inertial measurement, e.g. tightly coupled inertial

Abstract

The application provides a hybrid positioning method and an electronic device. The representative method comprises the following steps: obtaining initial position information; calculating initial movement information based on the sensor readings; calculating estimated position information based on the initial movement information and the initial position information; obtaining a geographic location reading if a location update condition is satisfied; generating reference location information based on the obtained geographic location readings; comparing the estimated location information with reference location information to obtain deviation information; calculating calibrated movement information based on the estimated position information and the deviation information; calibrated position information is calculated based on the deviation information, the calibrated movement information, and the estimated position information.

Description

Hybrid positioning method and electronic device
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is based on and claims priority from U.S. provisional application 62/340,523 filed on day 24, 5/2016, and is a continuation-in-part application based on and claims priority from U.S. application 15/357,176 filed on day 21, 11/2016. U.S. application 15/357,176 is a continuation-in-part application and claims priority benefits of U.S. application 14/088,452 filed on 25/11/2013, U.S. application 14/088,452 is a continuation-in-part application and claims priority benefits of U.S. application 13/945,930 filed on 19/7/2013, and U.S. application 13/945,930 is also a continuation-in-part application and claims priority benefits of U.S. application 14/033,553 filed on 23/9/2013, now as the U.S. 9,104,417 patent issued on 11/8/2015. Us application 14/033,553 claims priority benefits of chinese application 2013202458496. X, applied on 8/5/2013. The entire contents of each of the above-mentioned patent applications are hereby incorporated by reference herein and made a part of this specification.
Technical Field
The present application relates to the use of absolute and relative positioning techniques, for example, in mobile devices.
Background
Absolute positioning techniques, such as Global Positioning System (GPS), Wi-Fi, and proximity tagging, while providing reliable and accurate location information, updating such information at the maximum possible rate consumes significant power and does not guarantee complete coverage. Relative positioning techniques, such as walking dead reckoning (PDR), estimate the current position of a user device using inertial sensors of the user device based on previously determined positions, which may be used even in environments where absolute position information is unavailable, however, the current position estimated with such techniques will have cumulative errors.
It is noted that mobile devices are often equipped with embedded sensors (e.g., accelerometers, gyroscopic sensors, and magnetometers) that can be used to perform relative positioning techniques. A Central Processing Unit (CPU) of the mobile device may collect the samples generated by the sensors and perform some processing based on the samples. For example, the CPU may calculate the movement and orientation of the mobile device or calculate the number of steps the user of the mobile device has walked.
Since the sensor is constantly producing samples, the CPU must constantly receive and analyze the samples. Thus, the CPU must be in its full operational mode for a long period of time, which consumes power and shortens the battery life of the mobile device.
Disclosure of Invention
In view of the foregoing, the present application provides a hybrid positioning method and an electronic device.
The present application provides a hybrid positioning method for an electronic device capable of collecting geographic position readings and collecting sensor readings associated with the electronic device, the method comprising: obtaining initial position information; calculating initial movement information based on the sensor readings; calculating estimated location information based on the initial movement information and the initial location information; acquiring a geographical position reading under the condition that a position updating condition is met; generating reference location information based on the obtained geographic location readings; comparing the estimated position information with reference position information to obtain deviation information; calculating calibrated movement information based on the estimated position information and the deviation information; and calculating calibrated position information based on the deviation information, the calibrated movement information, and the estimated position information
An electronic device includes a processing unit having a processing circuit, an absolute positioning device having a circuit, and a relative positioning device having a sensor. The absolute positioning device is configured to determine an absolute position of the electronic device. The relative positioning device is configured to determine a relative positioning of the electronic device. The processing unit is configured to obtain initial position information from an absolute positioning device, calculate initial movement information based on sensor readings of sensors of a relative positioning device, calculate estimated position information based on the initial movement information and the initial position information, acquire a geographic position reading if the initial movement information corresponds to a position update condition, generate reference position information based on the acquired geographic position reading, compare the estimated position information to the reference position information to obtain deviation information, calculate calibrated movement information based on the sensor readings and the deviation information, and calculate calibrated position information based on the calibrated movement information and the estimated position information.
Another electronic device is provided that includes a processing unit having processing circuitry, an absolute positioning device having circuitry, and a relative positioning device having a sensor. The absolute positioning device is configured to determine an absolute position of the electronic device. The relative positioning device is configured to determine a relative positioning of the electronic device. The processing unit is configured to operate in an always-on mode to periodically take sensor readings from the relative positioning device. The absolute positioning device is configured to operate in a power saving mode and a position information acquisition mode such that, if a position update condition is satisfied, the absolute positioning device operates in the position information acquisition mode until reference position information is determined, after which the absolute positioning device operates in the power saving mode.
The present application provides another hybrid positioning method for an electronic device having a processing unit, an absolute positioning device, and a relative positioning device, the method comprising: operating the processing unit in an always-on mode to periodically take sensor readings from the relative positioning device; operating the absolute positioning device in a power saving mode and a position information acquisition mode such that, in the case where a position update condition is satisfied, the absolute positioning device operates in the position information acquisition mode until reference position information is determined, after which the absolute positioning device operates in the power saving mode; wherein the reference location information is used to determine a current location of the electronic device.
Drawings
The accompanying drawings are included to provide a further understanding of the disclosure, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the disclosure and together with the description serve to explain the principles of the disclosure.
Fig. 1 is a schematic diagram illustrating a mobile device according to an embodiment of the present application.
Fig. 2 is a schematic diagram illustrating a mobile device according to another embodiment of the present application.
Fig. 3 is a schematic diagram illustrating a mobile device according to another embodiment of the present application.
Fig. 4 is a diagram illustrating an electronic device according to another embodiment of the present application.
Fig. 5 is a diagram illustrating an electronic device according to another embodiment of the present application.
Fig. 6 is a schematic diagram illustrating an electronic device according to another embodiment of the present application.
Fig. 7 is a diagram illustrating the proposed electronic device according to an exemplary embodiment.
Fig. 8 is a flow chart illustrating the proposed hybrid positioning method according to an exemplary embodiment.
Fig. 9A and 9B are flow diagrams illustrating an application scenario of a hybrid positioning method according to an exemplary embodiment.
Fig. 10A to 10D are different scenarios illustrating how a processing unit corrects estimated location information according to an exemplary embodiment.
FIG. 11 is a comparison of experimental results showing a GPS path located by a GPS device versus an estimated path formed by exemplary embodiments.
Fig. 12 is a flowchart illustrating a hybrid positioning method according to another exemplary embodiment.
Fig. 13A and 13B are flowcharts illustrating a hybrid positioning method according to another exemplary embodiment.
Description of the reference numerals
100: a mobile device;
110: a sensor;
115: a buffer;
120:MCU;
125: a buffer;
130: a central processing unit;
200: a mobile device;
201: an accelerometer;
202: a gyro sensor;
203: a magnetometer;
204: a barometer;
205: a touch panel;
206: a microphone;
207: a light sensor;
320: a mobile device;
340: an electronic device;
500: an electronic device;
510: an absolute positioning device;
520: a relative positioning device;
530: a processing unit;
602. 604, 606, 608, 610, 612: a step of;
701. 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712: a step of;
800: a method;
802. 804, 806, 808, 810, 812, 814, 816: a square block;
900: a method;
902、904、906、908、910、912、914、916、918、920、922、924、926、
928. 930, 932: a square block;
1100: an electronic device;
1110: an application processor;
1121, 112 n: a sensor;
1130: a microprocessor;
1200: an electronic device;
1210: an application processor;
1212: an inner core layer;
1213: a sensor hardware abstraction layer;
1214: a frame layer;
1215: an application layer;
2200: an electronic device;
2210: a motion sensor;
2220: a buffer;
2230: a processor;
2240: a bus;
7091. 7092, 7101, 7102, 7103, 7111, 7112: a step of;
a: a global positioning system location;
a1: an estimated position;
a1': a location;
b: a global positioning system location;
b1: an estimated position;
d: a global positioning system location;
d1: an estimated position;
d1': an estimated position;
p5: a global positioning system path;
p5': an estimated path;
PA: tracking a path;
PA 1: tracking a path;
PA 1': tracking a path;
PB: tracking a path;
PB 1: tracking a path;
PB 1': a corrected tracking path;
PD 1': a trajectory;
S1-SN: the signal is sensed.
Detailed Description
Some embodiments will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the applications are shown. Indeed, various embodiments of the disclosure may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements. Like reference numerals refer to like elements throughout.
Fig. 1 is a diagram illustrating a mobile device 100 according to an embodiment of the present application. The mobile device 100 may be a remote controller, a smart phone, a Personal Digital Assistant (PDA), a tablet computer, a notebook computer, or the like. The mobile device 100 includes a sensor 110, an MCU 120, and a CPU 130. The MCU 120 is coupled to the sensors 110. The CPU 130 is coupled to the MCU 120. The sensor 110 includes a buffer 115. MCU 120 includes a buffer 125. Buffers 115 and 125 are storage devices, such as registers or memories.
The sensor 110 produces a plurality of samples. The sensor 110 may store the samples in a buffer 115. MCU 120 extracts a sample from sensor 110 and performs an initial pre-set process based on the sample to generate results of one or more initial pre-set processes. MCU 120 may store samples or results in buffer 125. Alternatively, MCU 120 may store both samples and results in buffer 125.
The CPU 130 extracts one or more results from the MCU 120 or receives signals from the MCU 120 based on the one or more results. The CPU 130 performs further predetermined processing based on one or more results or signals from the MCU 120.
In an embodiment of the present application, the sensor 110 is at a frequency F1Samples are generated, which represents the sensor 110 producing F per second1And (4) sampling. MCU 120 at frequency F2Samples are taken from the sensors 110 in batches. CPU 130 operates at frequency F3The results are extracted in batches from the MCU 120. Frequency F1Can be higher than or equal toEqual to frequency F2. Frequency F2May be higher than or equal to frequency F3
For example, F1May be 2000Hz, F2May be 1Hz, and F3May be 0.001 Hz. The sensor 110 produces 2000 samples per second. The MCU 120 takes samples from the sensor 110 once per second. In each extraction, the MCU 120 extracts 2000 samples from the sensor 110 as a single batch. After each extraction, the MCU 120 performs an initial preset process and produces 40 results based on 2000 samples. The CPU 130 extracts 40 results from the MCU 120 every 1000 seconds as a single batch. After each extraction, the CPU 130 performs further preset processing according to the 40 results. This batch extraction mechanism relieves the MCU 120 of the burden of obtaining samples because the MCU 120 does not have to extract samples from the sensor 110 one by one. Similarly, this batch extraction mechanism relieves the CPU 130 of the burden of obtaining results, because the CPU 130 does not have to extract results one by one from the MCU 120.
CPU 130 executes an Operating System (OS) and applications of mobile device 100. The further pre-set processing is only one of many tasks performed by the CPU 130. The MCU 120 is specifically dedicated to performing initial preset processing according to the samples and providing one or more results or signals to the CPU 130. The CPU 130 has much more processing power than the MCU 120 has and the CPU 130 consumes much more electrical power than the MCU 120 consumes. The MCU 120 takes over the burden of collecting samples from the sensors 110 and performing initial preset processing from the CPU 130 so that the CPU 130 can sleep as long as possible in order to save power and extend the battery life of the mobile device 100. Batching the results from the MCU 120 helps to reduce the wake-up frequency of the CPU 130, which saves more power. MCU 120 continuously polls sensor 110 and extracts samples from sensor 110. The MCU 120 never sleeps.
The CPU 130 may sleep until the CPU 130 wakes up to extract the results from the MCU 120 or until the CPU 130 wakes up by a signal from the MCU 120. The MCU 120 can wake the CPU 130 and notify the CPU 130 to fetch results from the MCU 120. Alternatively, the CPU 130 may wake up when the user of the mobile device 100 starts an application or when a timer expires. In other words, the CPU 130 may wake up without notification from the MCU 120, and then the CPU 130 may extract one or more results from the MCU 120.
Fig. 2 is a schematic diagram illustrating a mobile device 200 according to another embodiment of the present application. The mobile device 200 includes a CPU 130, MCU 120, and seven sensors 201-207, namely, an accelerometer 201, a gyro sensor 202, a magnetometer 203, a barometer 204, a touch panel 205, a microphone 206, and a light sensor 207. Accelerometer 201 generates samples of acceleration associated with movement and rotation of mobile device 200. The gyro sensor 202 generates samples of angular velocity associated with movement and rotation of the mobile device 200. The magnetometer 203 produces a sample of the magnetic force associated with the movement and rotation of the mobile device 200. The barometer 204 generates samples of the atmospheric pressure associated with the movement and rotation of the mobile device 200. The touch panel 205 produces a sample of the locations touched by the user of the mobile device 200. Microphone 206 produces samples of the sound surrounding mobile device 200. The light sensor 207 produces a sample of the ambient brightness surrounding the mobile device 200. Each of the sensors 201 through 207 may contain a buffer as does the sensor 110.
The MCU 120 is coupled to all the sensors 201 to 207 and operates as a sensor hub. Each subset of the mobile device 200, including the CPU 130, the MCU 120, and one of the sensors 201 through 207, may operate in the same manner as the mobile device 100 shown in FIG. 1. In addition, the MCU 120 and the CPU 130 may perform a preset process based on samples generated together by a plurality of sensors. In another embodiment of the present application, the mobile device 200 may include less than seven sensors or more than seven sensors.
In an embodiment of the present application, the mobile device 200 may provide the functionality of a pedometer. The MCU 120 takes a sample from the accelerometer 201 and performs an initial preset process by calculating how many steps the user of the mobile device 200 has walked according to the sample. The MCU 120 may store the result of the initial preset process (i.e., the step number) in the buffer 125.
The MCU 120 can wake up the CPU 130 to fetch the result every N steps, where N is a preset positive integer. Alternatively, the CPU may wake up periodically to fetch results from the MCU 120. Alternatively, the CPU may wake up to see the number of steps each time the user launches an application. Infrequent waking up of the CPU 130 can save energy. Sometimes the user walks for hours and does not want to see the number of steps until the user arrives at home. In this case, the CPU 130 may sleep for hours and save a lot of energy.
In addition to counting the number of steps, the initial preset process performed by the MCU 120 may include calculating the direction and distance of each step of the user from the samples generated by the accelerometer 201, the gyro sensor 202, and the magnetometer 203. MCU 120 may store the results (i.e., direction and distance of the steps) in buffer 125. When the size of the result reaches a preset percentage of the capacity of the buffer 125, the MCU 120 may wake the CPU 130 and notify the CPU 130 to fetch the result.
When the CPU 130 wakes up, further preset processing performed by the CPU 130 may include displaying the number of steps, displaying a graph showing the number of steps per hour, or drawing a user's trajectory according to the direction and distance of the steps, etc.
In another embodiment of the present application, the mobile device 200 may provide positioning and navigation functions based on the Global Positioning System (GPS). The user may turn off the GPS function to save power. When the GPS function is turned off, the CPU 130 sleeps. During periods when the GPS function is off, the MCU 120 may extract samples generated by the accelerometer 201, the gyro sensor 202, and the magnetometer 203 to calculate a movement trajectory of the mobile device 200. The MCU 120 may store the movement trace in the buffer 125 as a result of an initial preset process. When the user turns on the GPS function, the CPU 130 may extract a movement trace from the MCU 120 and calculate a reference position using the movement trace of the mobile device 200 and the last GPS position, so that the CPU 130 may find the current GPS position of the mobile device 200 more quickly. In other embodiments, other ways of controlling the use of absolute positioning information (e.g., provided by GPS) will be described in detail later.
In another embodiment of the present application, the MCU 120 can calculate the movement trajectory of the mobile device 200 from the samples generated by the barometer 204 in addition to the samples generated by the accelerometer 201, the gyroscopic sensor 202 and the magnetometer 203, such that the movement trajectory can include a more accurate estimate of the change in altitude of the mobile device 200.
In another embodiment of the present application, the mobile device 200 may be switched between an unlocked state and a locked state. The mobile device 200 typically receives an input from the touch panel 205 when in the unlocked state, but the mobile device 200 does not receive an input from the touch panel 205 when in the locked state. In the locked state, the CPU 130 sleeps. For example, the mobile device 200 may enter the locked state from the unlocked state when the mobile device 200 has been idle for a preset period of time, and the mobile device 200 may return to the unlocked state when a user performs a preset operation on the mobile device 200.
The preset operation for unlocking the mobile device 200 may draw a preset trajectory on the touch panel 205. In this case, MCU 200 may take a sample generated by touch panel 205 and analyze the sample to determine whether the user draws a preset trajectory. When the user completes the preset trace on the touch panel 205, the MCU 120 may send a signal, such as an interrupt, to wake up the CPU 130. In response to the signal, the CPU 130 switches the mobile device 200 from the locked state to the unlocked state.
Alternatively, a preset operation for unlocking the mobile device 200 may speak a preset password into the microphone 206. In this case, MCU 200 may take a sample generated by microphone 206 and perform speech recognition on the sample to determine whether the user speaks the preset password. When the user speaks the preset password into the microphone 206, the MCU 120 may send a signal to wake up the CPU 130. In response to the signal, the CPU 130 switches the mobile device 200 from the locked state to the unlocked state.
Alternatively, a preset operation for unlocking the mobile device 200 may hold the mobile device 200 and move the mobile device 200 along a preset trajectory. In this case, the MCU 200 may extract samples generated by the accelerometer 201, the gyro sensor 202, and the magnetometer 203, and analyze the samples to determine whether the mobile device 200 has moved along a preset trajectory. When the mobile device 200 has moved along the preset trajectory, the MCU 120 can send a signal to wake up the CPU 130. In response to the signal, the CPU 130 switches the mobile device 200 from the locked state to the unlocked state.
In another embodiment of the present application, the mobile device 200 may comprise a display. MCU 120 may extract samples generated by light sensor 207 and analyze the samples to calculate an average ambient brightness of mobile device 200 over a recent time period having a predetermined length. The MCU 120 may store the average ambient brightness in the buffer 125. CPU 130 may periodically extract the average ambient brightness and adjust the display brightness of the display according to the average ambient brightness.
Fig. 3 is a schematic diagram illustrating a mobile device 320 according to another embodiment of the present application. The mobile device 320 includes the MCU 120 and the sensors 201 to 207. Similar to the previous embodiments, MCU 120 may extract a sample generated by one or more of sensors 201-207 and perform an initial pre-set process according to the sample. MCU 120 may store samples and/or results of the initial pre-set processing in buffer 125. In this embodiment, the MCU 120 is configured to connect to the electronic device 340 through a wireless connection or a wired connection. The MCU 120 is further configured to provide the results of the initial preset processing to the electronic device 340 through a wireless connection or a wired connection. The electronic device 340 may perform further preset processing according to the one or more results. In some aspects, the electronic device 340 is similar to the CPU 130 of the previous embodiments.
For example, the mobile device 320 may be a wearable electronic pedometer. MCU 120 counts the number of steps taken by the user based on the samples generated by accelerometer 201. MCU 120 may store the number of steps in buffer 125. Additionally, the MCU 120 may provide the step count to the electronic device 340 for further review or processing.
For another example, mobile device 320 may be a small device attachable to a user's palm or arm or a golf club that the user swings. When the user is playing golf, the MCU 120 may extract samples generated by the accelerometer 201, the gyro sensor 202, and the magnetometer 203 to calculate the number of times the user takes a golf club swing. The MCU 120 may store the number of swings in the buffer 125. Additionally, the MCU 120 may provide the number of swings to the electronic device 340 for further review or processing.
Alternatively, the MCU may analyze the samples produced by the accelerometer 201, the gyro sensor 202 and the magnetometer 203 to obtain the time and strength of each swing of the golf club taken by the user. MCU 120 may store the analysis results in buffer 125. Additionally, the MCU 120 may provide the analysis results to the electronic device 340 for further review or processing.
In some embodiments, the MCU provided by the present application is a Sensor Hub (Sensor Hub) with a buffer. The MCU may take over the burden of collecting and analyzing samples produced by the sensors from the CPU of the mobile device. Thus, the MCU can relieve the CPU of its burden, and the CPU can sleep as long as possible to save energy and extend the battery life of the mobile device.
Referring to fig. 4, fig. 4 is a diagram illustrating an electronic device 1100 according to another embodiment of the present application. The electronic device 1100 may be a mobile phone, a tablet PC, a PDA, or the like. The electronic device 1100 may include, but is not limited to, an application processor (AP or CPU)1110, a plurality of sensors 1121-112n, and a microprocessor (e.g., MCU) 1130. The plurality of sensors 1121 through 112n are configured to generate at least one sensing signal S1 through Sn. The application processor 1110 is configured to execute an application according to the sensing combination signal SF. The microprocessor 1130 is coupled between the plurality of sensors 1121 through 112n and the application processor 1110, and is configured to generate a sensing combined signal SF according to at least one sensing signal S1 through Sn.
The plurality of sensors 1121 through 112n mentioned above may be implemented by accelerometers, rotation sensors, magnetometers, and/or altimeters; however, this should not be a limitation of the present application. Additionally, note that the computing power of application processor 1110 is greater than the computing power of microprocessor 1130. For example, the application processor 1110 may be a multi-core baseband processor of a mobile phone, and the microprocessor 1130 may be a single chip microcontroller. The distinction between the application processor 1110 and the microprocessor 1130 should be readily apparent to one skilled in the art, and thus further description is omitted here for the sake of brevity.
It is noted that when the application processor 1110 of the electronic device 1100 of the present application enters the sleep mode, the microprocessor 1130 still operates such that the basic functions of the electronic device 1100 are maintained. As a result, even if the handheld electronic device 1100 enters the sleep mode, the application processor 1110 can wake up by detecting the motion of the electronic device 1100. For example, when the application processor 1110 enters a sleep mode, the application processor 1110 turns off a display module (not shown) of the electronic device 1100 and locks a touch panel (not shown) of the electronic device 1100. The locking mechanism of the electronic device 1100 of the present application will be listed below. Step (1): the user swings the electronic device 1100, and the motion and/or rotation of the electronic device 100 is detected by the plurality of sensors 1121 through 112n to generate sensing signals S1 through Sn; the sensing combination signal SF used to wake up the application processor 1110 in step (2) is then generated by the microprocessor 1130 according to the sensing signals S1 to Sn; and step (3) the application processor 1110 receives the sensing-combination signal SF and then executes an application according to the sensing-combination signal SF. For example, application processor 1110 may compare sense-merge signal SF to see if it corresponds to a particular gesture; and if the sensing combination signal SF corresponds to a specific gesture, the display module is activated and automatically enters an unlocked state. Thus, the electronic device 1100 need not have a physical button as in the prior art, and the user need not press the physical button to unlock the electronic device 1100. In addition, the application processor 1110 can continue to play music when the display module of the electronic device 1100 is turned off. The electronic device 1100 of the present application may generate motion data by detecting motion and/or rotation from the plurality of sensors 1121 through 112n when the user swings the electronic device 1100; and the microprocessor 1130 may process the motion data and then the application processor 1110 may control the played music. For example, the user may tap the left side of the electronic device 1100 to select the previous song to play, or tap the right side of the electronic device 1100 to select the next song to play.
On the other hand, another advantage of the present application is: the function of the step counter or pedometer may still be active after the application processor 1110 enters sleep mode. For example, when the application processor 1110 enters a sleep mode and the electronic device 1100 uses the function of the step counter, the sensor 1121 (e.g., accelerometer) may generate at least one sensing signal S1. The microprocessor 1130 may generate count information based on at least one sensing signal S1 generated by the accelerometer. It is noted that in another embodiment of the present application, the microprocessor 1130 may set default count information, such as 1000 counts. That is, when the count information is up to 1000 counts, the microprocessor 1130 may wake up the application processor 1110 by using the sensing combination signal SF.
Referring to fig. 5, fig. 5 is a diagram illustrating an electronic device 1200 according to a second embodiment of the present application. The electronic device 1200 may include an application processor (AP or CPU)1210, a microprocessor (e.g., MCU)1130, and a plurality of sensors 1121-112 n. The plurality of sensors 1121 through 112n mentioned above may be implemented by accelerometers, rotation sensors, magnetometers, and/or altimeters. The application processor 1210 may include a kernel layer 1212, a sensor hardware abstraction layer (sensor HAL)1213, a framework layer 1214, and an application layer 1215, where the application layer 1215 may be an application layer of an android system. The microprocessor 1130 is disposed between the application processor 1210 and the plurality of sensors 1121 through 112 n. The plurality of sensors 1121 through 112n will generate corresponding sensing signals S1 through SN after sensing, and will transmit the sensing signals S1 through SN to the microprocessor 1130. The microprocessor 1130 merges the sensing signals S1 through SN generated by the plurality of sensors 1121 through 112n and then transmits the sensing-merged signal SF to the application processor 1210. The application processor 1210 executes a corresponding application according to the sensing combination signal SF. Note that communication between the application processor 1210 and the microprocessor 1130 is performed through an internal integrated circuit port; and communication between the microprocessor 1130 and the plurality of sensors is effected through an internal integrated circuit port; however, this should not be a limitation of the present application.
The electronic device 1100/1200 is characterized by: the microprocessor 1130 may be selectively enabled or disabled to save power. For example, the plurality of sensors 1121-112n can include accelerometers, and sensing signals generated by the accelerometers can be used to control the enabling and disabling of the microprocessor 1130. In more detail, when the accelerometer generates an acceleration-related sense signal, it indicates that the electronic device 1100/1200 is moving (e.g., when the sense signal may be at a high level) in order to enable the microprocessor 1130. After the microprocessor 1130 is enabled, it may combine the sensing signals S1 through SN generated by the plurality of sensors 1121 through 112n to generate the sensing combined signal SF according to an algorithm. The sensing combination signal SF is then transmitted from the microprocessor 1130 to the application processor 1110/1210 in order to cause the application processor 1110/1210 to execute the corresponding application.
The advantages of the configuration of the present application are: the microprocessor 1130 is enabled to save power by using features of a plurality of sensors to determine whether to enable the microprocessor. For example, in the above-described embodiments, whether to enable the microprocessor 1130 may be determined by employing an accelerometer sensor. In other words, the electronic device 1100/1200 having this configuration may determine whether to enable the microprocessor 1130 to execute the corresponding application program based on its own motion detection to save power. It should be noted that in one embodiment of the electronic device 1100/1200 of the present application, the microprocessor 1130 and at least one of the plurality of sensors 1121 through 112n are not packaged in a single chip, however, this should not be a limitation of the present application. Some of the plurality of sensors 1121 through 112n can be packaged in a single chip. Further, the microprocessor 1130 is independent of the application processor 1110/1210, and they are not packaged in a single chip. Note that driver programs for the sensors 1121 through 112n can be pre-loaded into the microprocessor 1130. Accordingly, if the developer employs the microprocessor 1130 of the present application, the sensing signals S1 to SN of the plurality of sensors 1121 to 112n can be successfully processed. The configuration of the present application has the advantages of: flexibility in selecting sensor chip vendors can be improved.
Fig. 6 is a schematic diagram illustrating an electronic device 2200 in accordance with the present application. The electronic device 2200 may be a smartphone, a Personal Digital Assistant (PDA), a tablet computer, a remote control, or any other electronic device that may be moved and/or rotated. The electronic device 2200 includes a motion sensor 2210, a processor 2230, and a bus 2240. Motion sensor 2210 includes a bumper 2220. Processor 2230 is coupled to motion sensor 2210 through bus 2240.
Note that the motion sensor may be a gyro sensor, an accelerometer, a 6-axis motion sensor, or a 9-axis motion sensor. In an embodiment of the present application, motion sensor 2210 may be a gyro sensor that detects and samples the angular velocity of electronic device 2200. In another embodiment of the present application, motion sensor 2210 may be an accelerometer that detects and samples acceleration of electronic device 2200. In another embodiment of the present application, motion sensor 2210 may be a 6-axis motion sensor that detects and samples acceleration or angular velocity of electronic device 2200. In another embodiment of the present application, motion sensor 2210 may be a 9-axis motion sensor that detects and samples acceleration, angular velocity, or magnetic force of electronic device 2200. Those skilled in the art can readily understand that the 6-axis motion sensor includes a 3-axis gyroscope and a 3-axis accelerometer, and further description is omitted here for the sake of brevity. Similarly, the 9-axis motion sensor includes a 3-axis gyroscope, a 3-axis accelerometer, and a 3-axis compass, and further description is omitted here for the sake of brevity. Buffer 2220 may be a first-in-first-out (FIFO) temporary memory that may store a plurality of samples generated by motion sensor 2210. The processor 2230 may be a CPU, a microprocessor (e.g., MCU), or an embedded controller of the electronic device 2200.
Fig. 7 is a diagram illustrating the proposed electronic device according to another one of the exemplary embodiments of the present invention. Referring to fig. 7, for exemplary purposes, an electronic device 500 includes at least an absolute positioning device 510, a relative positioning device 520, and a processing unit (which may include one or more of a CPU, AP, or MCU) 530, wherein the processing unit 530 is coupled to the absolute positioning device 510 and the relative positioning device 520. The processing unit 530 may include a memory interface, one or more data processors, a picture processor and/or processor, and a peripheral device interface (or sensor hub). The memory interface, the one or more processors, and/or the peripheral device interface may be separate components or may be integrated in one or more integrated circuits. The processor may include an application processor, a baseband processor, and a wireless processor. For example, various components in the electronic device 500 may be coupled by one or more communication buses or signal lines. The electronic device 500 may be a standalone device, such as a smartphone, tablet computer, Personal Digital Assistant (PDA), smart watch, and so forth. The electronic device 500 may also be a vehicle built-in device.
The absolute positioning device 510 may sample position readings, including readings from a GPS receiver that receives GPS satellite radio signals from a GPS satellite constellation via an antenna, and calculate explicit current position information for the electronic device 500 based on the received signals in a manner well known per se. The absolute positioning device 510 may provide a position reading that includes a reading from a communication module that may obtain current information of the electronic device 500 through Wi-Fi or proximity tagging, also in a manner well known per se. Based on the location readings, the absolute location device 510 may provide a geographic location and a geographic heading direction. The geographic location may be a point on the map and the geographic heading direction may be the heading direction of the electronic device 500 on the map. The geographic heading direction may be derived from at least two consecutive geographic locations on the map that are moving.
The relative positioning device 520 may include inertial sensors that detect events or changes in their position and provide a corresponding output on a relative basis. In the present embodiment, for exemplary purposes, the relative positioning device 520 may provide sensor readings including readings from at least one of an accelerometer, a gyroscope, a magnetometer, a pedometer, a barometer, a light sensor, a sound pressure sensor, or a radio receiver coupled to the sampling device. The sampling means samples the strength of the radio RF signal of the signal source detectable at the part of the transmission system. The signal source may be a cell station, a wireless access point, or a Bluetooth Low Energy (BLE) beacon of a cellular communication network. The sensor readings may include information about the rate of acceleration and deceleration, the speed of movement, the change in direction, and/or the rate of change in direction of the electronic device 500. For example, in response to any detection of sudden movement when the electronic device 500 encounters an external force, the tri-axial accelerometer will output acceleration data corresponding to each axis. The gyroscope will detect rotational movement of the electronic device 500 rotating about a particular axis in space and output data representative of the rotational movement. The combination of the accelerometer and gyroscope may result in a more accurate measurement of the overall movement and orientation of the electronic device 500.
The processing unit 530 may include one or more of a north bridge, a south bridge, a field programmable array (FPGA), a Programmable Logic Device (PLD), an Application Specific Integrated Circuit (ASIC), or other similar devices or combinations thereof. Processing unit 530 may also include a Central Processing Unit (CPU), a programmable general purpose or special purpose microprocessor, a microcontroller, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Programmable Logic Device (PLD), or other similar devices or combinations thereof. In the present embodiment, the processing unit 530 may be a sensor hub electrically coupled to the absolute positioning device 510 and the relative positioning device 520 through, for example, a serial peripheral interface bus (SPI) or an inter-integrated circuit (I2C). The processing unit 530 is configured to integrate and process data obtained from the absolute positioning device 510 and the relative positioning device 520 in order to perform the proposed hybrid positioning method.
Fig. 8 is a flow chart illustrating the proposed hybrid positioning method according to one of the exemplary embodiments of the present invention. The steps of fig. 8 may be implemented by the proposed electronic device 500 as shown in fig. 7.
Referring to fig. 7 and 8, processing unit 530 will first obtain absolute position information, which may include a geographic position and a geographic heading direction, from absolute positioning device 510 (step S602). When absolute position information is obtained, the processing unit 530 may stop requesting position readings from the absolute positioning device 510. The term "absolute" location refers to a point on the earth's surface that is represented by a coordinate system (e.g., latitude and longitude). The processing unit 530 may take the geographic location (when it is determined to be reliable) as a reference location or current location. In detail, when the hybrid positioning method starts, the processing unit 530 will first obtain the current location of the electronic device 500 as a reference point or starting point on the map. The current location will be determined based on a set of nearby/aggregated geographic locations. That is, if the obtained geographic location is far away from other geographic locations obtained within a certain time frame, it may be an error affected by temporary interference or noise and will not be considered a stable geographic location measurement. When determining the current geographic location of the electronic device 500, absolute location information may be determined. The geographic heading direction may also be determined by comparing the change in geographic location calculated while the electronic device is traveling. At the same time, the processing unit 530 may disable, terminate requests, or reduce the frequency of sampling position readings from the absolute positioning device 510 for power saving purposes.
As the electronic device 500 travels, the processing unit 530 will calculate relative position information, which may include an estimated distance of movement and an estimated angle of rotation, based on sensor readings from the relative positioning device 520. The estimated movement distance may refer to a step size, and the estimated rotation angle may refer to an angle between a current heading direction and a previous heading direction of the electronic device 500. Based on the relative position information, the processing unit 530 may calculate estimated position information, which may include an estimated position and an estimated heading direction of the electronic device 500, based on the relative position information and the absolute position information obtained from the relative positioning device 520 (step S604).
The processing unit 530 will determine whether the electronic device satisfies the location update condition (step S606). The location update condition may be associated with a distance traveled by the electronic device 500 from a location where the absolute positioning device 510 was previously enabled, an increasing time that the electronic device 500 has not traveled, a direction of movement of the electronic device 500, and the like. For example, the processing unit 530 may enable or begin requesting location readings from the absolute location device 510 for each determined travel distance (e.g., every 0.5km) of the electronic device 500 in order to obtain its updated geographic location and/or geographic heading direction. In other cases, when the electronic device 500 has traveled more than a certain period of time (e.g., 3 minutes), or when the electronic device 500 is turned more than a predetermined angle (e.g., 45 degrees), its location information will need to be updated. The location update condition may be determined based on measurements of inertial sensors implemented as relative positioning devices 520.
If the electronic device 500 does not satisfy the location update condition, the flow directly returns to step S604. The processing unit 530 will continuously estimate the current estimated position information of the electronic device 500 based on a walking dead reckoning (PDR) algorithm. The PDR algorithm involves calculating current estimated position information based on the relative position information obtained from the relative positioning device 520 and previous absolute position information.
On the other hand, when the electronic device 500 determines that the location update condition is satisfied, the processing unit 530 will enable the absolute positioning device 510 to obtain updated absolute location information of the electronic device 500 (step S608). Similar to step 602, when absolute position information is obtained, the processing unit 530 may terminate requesting a position reading from the absolute positioning device 510.
Next, the processing unit 530 will determine whether the estimated location information is reliable (step S610). The determination of the reliability may be based on a difference in location and heading direction between the estimated location information and the updated location information. If it is determined that the estimated location information is not reliable, the processing unit 530 will correct the estimated location information based on the updated location information (step S612) and the flow will return to step 604. On the other hand, if the estimated location information is determined to be reliable, the processing unit 530 will not correct the estimated location information, and the flow will return directly to step S604.
For better understanding, fig. 9A is a flowchart illustrating an application scenario of a hybrid positioning method according to one of the exemplary embodiments of the present invention. The steps of fig. 9A may also be implemented by the proposed electronic device 500 as shown in fig. 7. In this exemplary embodiment, the absolute positioning device 510 would be a GPS device and the relative positioning device 520 would be a PDR device including inertial sensors.
Referring to fig. 7 and 9A, the processing unit 530 will first obtain the geographic GPS data for the electronic device 500 from the GPS device. The processing unit 530 may enable a location service routine to provide location data and send control information to terminate sampling location readings (step S701). The processing unit 530 can calculate the position data to obtain a reference position and a reference heading direction of the electronic device 500. The framework may then provide the location data and control information to the kernel (step S702). The kernel may provide a system message to the sensor hub (step S703). The processing unit 530 may set the reference position as the previous position. After the electronic device 500 moves, the processing unit 530 may accumulate the estimated moving distance and the estimated rotation angle for each step after that, and calculate an estimated position and an estimated heading direction based on the previous position (step S704). The processing unit 530 may generate a travel track based on the plurality of estimated positions and/or estimated heading directions of each subsequent step (step S705). When the electronic device 500 is traveling, the processing unit 530 will confirm whether any location update condition is satisfied (step S706). The location update condition may include whether a travel distance of the electronic device 500 from a previous location where the location service procedure was previously enabled is greater than a distance threshold. The location update condition may include whether a non-travel time that the electronic device 500 has stayed at the same location exceeds a predetermined time period. When the non-travel time exceeds a predetermined time period, the electronic device 500 may be on a moving vehicle, where the processing unit 530 may not be able to distinguish between the stay state and the on-vehicle state based on sensor readings from the relative positioning device 520. The location update condition may include whether the electronic device 500 is turned beyond a predetermined angle (not shown). If all the location update conditions are not satisfied, the processing unit 530 will continue to execute step S704.
If any of the location update conditions are met, the processing unit 530 will begin requesting location readings from the absolute positioning device 510, for example, by enabling a location service routine to begin sampling and collecting multiple sets of location readings until, for example, 5 sets of location readings show that the measured location has approached. The location service routine may then terminate sampling of the location readings (step S707).
Next, the processing unit 530 may calculate a geographic location and a geographic heading direction based on the location readings (step S708). The processing unit 530 may compare the calculated geographic position and geographic heading direction with the estimated position and estimated heading direction to calculate an error value (step S709). The error value may indicate whether the estimated location is more than a threshold offset away from the geographic location and/or the estimated heading direction deviates from the geographic heading direction by more than a threshold angle. The processing unit 530 may determine whether the error value exceeds a threshold value (step S710). If "no", the processing unit 530 will determine that the estimated position and the estimated heading are still reliable and proceed to step S704. If "yes," processing unit 530 will correct the estimated position and the estimated heading direction based on the geographic position and the geographic heading direction (step S711). Based on the correction, the processing unit 530 may obtain a corrected position and a corrected heading direction. Accordingly, the processing unit may generate a corrected travel trajectory based on the corrected position and the corrected heading direction (step S712).
Fig. 9B is a detailed flowchart illustrating steps S709 to S712 of the method of fig. 9A. In step S709, the processing unit 530 may compare the calculated geographic position and geographic heading direction with the estimated position and estimated heading direction to calculate an error value. The processing unit 530 may calculate a position offset based on a comparison between the geographical position on the travel trajectory and the last estimated position (step S7091). The processing unit 530 may determine whether the value of the positional deviation exceeds the threshold deviation (step S7101). If "yes," processing unit 530 may subtract a portion of the position offset from the estimated position calculated in step S705 to obtain a corrected position for the next step (step S7111). The processing unit 530 calculates a drift angle based on a comparison between the geographic heading direction and the estimated heading direction (step S7092). The declination angle refers to the angle between the estimated heading direction and the measured geographic heading direction. If it is determined that the position offset is less than the threshold offset, processing unit 530 may set the estimated position to a corrected position (step S7102) and then proceed to step S7092.
In step 7103, the processing unit may determine whether the deviation angle is greater than a deviation threshold. If "yes," the processing unit 530 may subtract a portion of the declination angle from the estimated rotation angle calculated in step S705 to obtain a corrected heading direction for the following step (step S7112). Accordingly, the processing unit 530 may generate a corrected travel trajectory based on the corrected position and the corrected heading direction. If it is determined that the declination angle is less than the deviation threshold, the processing unit 530 may set the estimated heading direction to the corrected heading direction (step S7104) and then proceed to step S712.
Fig. 10A-10D are different scenarios showing how the processing unit 530 corrects the estimated location information in step S612 or step S722 according to one of the exemplary embodiments of the present invention.
Referring to FIG. 10A, assume that at time t, GPS position A and estimated position A1 are at the same latitude, and there is again an offset between the two positions
Figure BDA0001300755140000181
Wherein
Figure BDA0001300755140000182
Is greater than a predetermined distance tolerance. It should be noted that in this embodiment, the processing unit 530 will not shift through only a single step
Figure BDA0001300755140000183
Added directly to the estimated position a1, otherwise the traced paths for all estimated positions may appear spiky. Therefore, to smooth this fluctuation, the processing unit 530 will only utilize a portion of the offset
Figure BDA0001300755140000184
(for example,
Figure BDA0001300755140000185
a may be a predetermined or dynamically modified value) to correct the estimated position a 1. For example, in this case, processing unit 530 would be through the addition
Figure BDA0001300755140000186
The estimated position a1 is corrected and position a1' will be the corrected estimated position. The processing unit 530 will at each point in time t +1, t +2, … in a similar manner
Figure BDA0001300755140000187
Adding to the other estimated positions to make corrections until the GPS position is updated again or until the offset between the estimated position and the GPS position is within a predetermined tolerance. Let PA be the tracked path for all GPS locations (under conditions where the GPS device is always on), and PA1 be the tracked path for the estimated location. Because the estimated position (i.e., the tracked path PA1') has been corrected in a step-wise manner, a more accurate and gradual estimate will result.
Referring to fig. 10B, assume that at time point t, GPS location B is after estimated location B1, and PB is the tracking path for all GPS locations (under the condition that the GPS device is always on). It should be noted that "behind" in this context refers to the relationship between B and B1, where B is located behind B1 with respect to the direction of travel along the tracking path PB. The processing unit 530 will correct all estimated positions corresponding to the points in time t +1, t +2, … such that the corrected trace path PB1' formed by the corrected estimated positions will be much gentler than the trace path PB1 compared to the trace path PB1 formed by the estimated positions.
Referring to FIG. 10C, assume that at time t, GPS position D and estimated position D1 are at the same latitude, and there is an offset between the two positions
Figure BDA0001300755140000191
And the electronic device 500 moves in the opposite direction to the GPS position D. In this case, the processing unit 530 will subtract a portion of the offset
Figure BDA0001300755140000192
(for example,
Figure BDA0001300755140000193
) The estimated position D1 is corrected so that the corrected estimated position D1' will be closer to the GPS position D. The trajectory PD1' shows a corrected trajectory for a period of time after the correction process begins. The processing unit 530 will correct the other estimated positions in a similar manner at points in time t +1, t +2, … until the GPS position is updated again or until the offset between the estimated position and the GPS position is within a predetermined tolerance.
It should be noted that the processing unit 530 will also correct the estimated position based on the GPS heading direction. For example, as illustrated in FIG. 10D, if the PDR direction
Figure BDA0001300755140000194
And heading direction
Figure BDA0001300755140000195
Respectively have an angle thetaPAnd thetaG. Processing unit 530 will turn the angle to become more toward the GPS heading direction (e.g., having an angle θ'PDirection of (1)
Figure BDA0001300755140000196
) And corrects the estimated position.
Fig. 11 is a comparison of experimental results showing a GPS path P5 located by a GPS device and an estimated path P5' formed by the proposed electronic device 500 to demonstrate that the proposed hybrid location method is able to maximize accuracy and coverage for location while keeping power consumption to a minimum.
Fig. 12 is a flowchart illustrating a hybrid positioning method according to another exemplary embodiment. In particular, the hybrid positioning method may be utilized by an electronic device capable of collecting geographic location readings (e.g., readings from a GPS receiver) and sensor readings (e.g., readings from at least one of an accelerometer, a gyroscope, a magnetometer, a pedometer, a barometer, a light sensor, a sound pressure sensor, or a radio receiver coupled to a sampling device) associated with the electronic device. As shown in fig. 12, the method 800 may be construed as beginning at block 802 where initial location information is obtained that may include information indicative of a heading as well as a location. In some embodiments, this may involve using the location information used as the current location, thus emphasizing the iterative nature of the method. In block 804, initial movement information is calculated based on the sensor readings. The initial movement information may include information corresponding to a change in distance and a change in heading angle between PDR position readings. Subsequently, as described in block 806, estimated location information is calculated based on the initial movement information and the initial location information.
In block 808, if the location update condition is satisfied, a geographic location reading is taken. In some embodiments, the location update condition is satisfied when at least one of the distance value, the distance turn value, or the time value corresponds to a distance threshold, a distance turn threshold, or a time threshold, respectively. For example, the distance threshold may be a PDR distance (e.g., no change in distance-heading angle or steering angle for a straight-line distance greater than 15 feet), and the distance-steering threshold may be a PDR distance and associated heading angle change (e.g., a distance greater than 3 feet, a change in heading angle greater than 2 degrees). Notably, the distance threshold corresponding to the straight-line distance is typically greater than the distance component of the distance steering threshold. As another example, the time threshold (e.g., a time greater than 1 minute) may correspond to a time duration (i.e., GPS latency) that begins when the geographic location reading was last updated.
In block 810, reference location information is generated based on the obtained geographic location readings. In some embodiments, this may involve updating a previous GPS location using a current GPS location, and calculating a GPS heading. The calculation of the GPS heading may include providing a current value to the PDR heading, adding the previous GPS heading value and then subtracting the previous PDR heading value.
The estimated location information is compared to the reference location information to obtain deviation information, as described in block 812. The deviation information may include one or more of a position offset, a heading deviation, and a length factor. Specifically, the position offset may be calculated by comparing the estimated position and the reference position from the estimated position information and the reference position information, respectively. Thus, in some embodiments, the position offset may be expressed as: dis _ diff is the square root of { Algo _ output _ location _ x (current) -Algo _ previous _ GPS location _ x, Algo _ output _ location _ y (current) -Algo _ previous _ GPS location _ y }.
Similarly, a heading bias may be calculated by comparing an estimated heading from the estimated location information and the reference location information, respectively, to a reference heading. Thus, in some embodiments, the heading bias may be expressed as: theta _ diff is the angle of (Algo _ current heading-GPS _ current heading).
With respect to the length factor, this parameter relates to the PDR application to calculate the travel distance and assumes an accurate relationship between travel speed and uncalibrated travel speed upon which the PDR is based. The PDR typically uses the number of steps calculated by the pedometer (based on sensor data from the accelerometer) and the speed of movement previously calculated or defined for each step to calculate the distance of movement per time period or per executed algorithm (e.g., 1 second from a typical GPS update rate). Since different persons have different movement speeds (and for example the same person moves at different times or even at different speeds depending on the type of activity), the movement speed may be updated periodically and may be adjusted by a length factor. In some embodiments, the length factor may be calculated based on a GPS location update to determine the actual distance traveled per execution. Thus, in some embodiments, the length factor may be expressed as: the length factor ═ ((GPS (t5) -GPS (t4))/((PDR (t5) -PDR (t4))/((PDR (t5) -PDR (t 4)). subsequently, the travel distance determined by PDR can be compared with the travel distance determined by GPS to calculate the length factor for calibrating the travel speed of PDR.
Subsequently, in block 814, calibrated movement information is calculated based on the estimated position information and the deviation information, thereby providing a refined PDR length corresponding to the movement distance of each step. In block 816, calibrated position information is calculated based on the deviation information, the calibrated movement information, and the estimated position information.
Referring to block 804, in some embodiments, the initial movement information includes an initial movement distance and an initial heading change, the calibrated movement information includes a gentleness amount, a gentleness number and a gentleness angle, and the calibrated position information includes a calibrated position and a calibrated heading. In such embodiments, the flattening number (corresponding to the number of steps required for the sensor hub correction) may be calculated based on the positional offset, and the flattening angle (also corresponding to the sensor hub correction) may be calculated based on the declination and the flattening number. The calculation of the calibrated heading may be based on the gentle angle and the initial heading, while the calculation of the estimated position may be based on the initial position and the calibrated heading. Further, the calculation of the flattening amount and the calculation of the calibrated position based on the deviation information and the flattening number may be based on the flattening amount and the estimated position.
Referring back to block 808, the geographic location readings of some embodiments may comprise a sequence of geographic location readings, while the estimated location information may comprise an estimated location and an estimated heading. In such embodiments, if the variance is less than the variance threshold, the variance may be calculated in a sequence of geographic location readings, the last of which is stored as the reference location. Further, at least two of the geographic location readings may be compared to obtain a reference heading, and the estimated location information may be compared to the reference location information to obtain deviation information, such as in block 812. Specifically, the deviation information includes a position offset (calculated by comparing the estimated position with the reference position) and a heading deviation (calculated by comparing the estimated heading with the reference heading).
In other embodiments where the geographic location readings comprise a sequence of location readings, at least two of the sequence of location readings may be selected. At least two previously estimated positions are calculated, each of at least two of the sequence of position readings being synchronized with the at least two previously estimated positions. A length factor is then calculated by comparing at least two previously estimated positions to the selected at least two of the sequence of position readings, and calibrated movement information is calculated based on the length factor.
In some embodiments, a reference geographic coordinate may be obtained from a reference location, and a calibrated location may be converted to calibrate a geographic longitude and latitude based on the reference geographic coordinate. It should also be noted that in some embodiments, the error value may be calculated based on the accuracy of the geographic location readings, which is confirmed based on readings from a GPS receiver that receives GPS satellite radio signals from a GPS satellite constellation via an antenna.
As mentioned above, the hybrid positioning method may be implemented by an electronic device (such as depicted in fig. 7) comprising: the system includes a processing unit having processing circuitry, an absolute positioning device having circuitry and configured to determine an absolute position, and a relative positioning device having a sensor and configured to determine a relative positioning of the electronic device. With such a device, the processing unit may operate in an always-on mode to periodically take sensor readings from the relative positioning device, while the absolute positioning device operates in a power-saving mode. So configured, the absolute positioning device may be switched by the processing unit to the position information acquisition mode if the initial movement information corresponds to the position update condition. After the reference position information has been calculated by the processing unit, the absolute positioning device may be switched back to the power saving mode. It should be noted that the time interval for maintaining the absolute position device in the position information acquisition mode is typically substantially less than the time interval for the processing unit to extract sensor readings from the relative positioning device in order to reduce power consumption.
Fig. 13A and 13B are flowcharts illustrating a hybrid positioning method according to another exemplary embodiment. In particular, the hybrid positioning method may be employed by an electronic device capable of collecting geographic location readings and sensor readings associated with the electronic device.
Beginning with explanation with reference to fig. 13A, the method 900 begins at block 902 to obtain initial position information. For example, this may include collecting a set of GPS information (e.g., five sets of readings) and selecting one of the readings that is determined to be accurate for use. In block 904, a determination is made whether the location update condition is satisfied. In some embodiments, this may include one or more of various threshold comparisons, such as confirming whether the non-straight walking distance corresponds to a first threshold (e.g., 3 meters), whether the straight walking distance corresponds to a second threshold (e.g., 15 meters), or whether time (e.g., 5 minutes) has elapsed without moving. If the update condition is satisfied, the process may proceed to block 906.
At block 906, a geographic location reading is acquired (e.g., 5 GPS readings are obtained). The process then proceeds to block 908 to calculate the GPS position, heading, and length. In some embodiments, the last GPS reading may be used when the accuracy of the reading has been assessed. The method then proceeds to block 910 where a determination is made whether the number of steps corresponds to a threshold. For example, the number of steps can be set to 8 steps, among many others. It should be noted that the process may also proceed to block 910 in response to determining in block 904 that the location update condition is not satisfied.
If the number of steps corresponds to the threshold, the process passes to block 912 to correct the PDR length based on the GPS length. Next, in block 914, the PDR distance, direction and turn are calculated. Thereafter, the process proceeds to block 916 to correct the location information based on the PDR distance and direction. It should also be noted that if a confirmation is made in block 910 that the number of steps has not exceeded the threshold, the location information will be corrected.
Referring to fig. 13B, the smoothing function will be described herein. Specifically, after block 916 (fig. 13A), flow proceeds to block 918 to make a determination whether the location offset corresponds to a first offset threshold (e.g., 500 meters). If the position offset corresponds to the first offset threshold, flow proceeds to block 920 where the process for obtaining position information is reinitialized and flow returns to block 904 as indicated. If, however, the position offset does not correspond to the first offset threshold, flow proceeds to block 922 to make an acknowledgement of whether the position offset corresponds to a second offset threshold (e.g., 30 meters). If the position offset corresponds to the second offset threshold, then the process passes to block 924, where the position information is corrected at a first distance (e.g., 5 meters per step) and toward the GPS position (e.g., 5 meters per step). If, however, the position offset does not correspond to the second offset threshold, flow proceeds to block 926.
In block 926, a determination is made whether the position offset corresponds to a third offset threshold (e.g., 10 meters). If the position offset corresponds to the third offset threshold, flow proceeds to block 928 where the position information is corrected at a second distance per step (e.g., 0.5 meters per step) and toward the GPS position. If, however, the position offset does not correspond to the third offset threshold, flow proceeds to block 930. It should also be noted that after block 924 and after determining in block 926 that the position offset does not correspond to the third offset threshold, flow may proceed to block 930.
In block 930, a determination is made whether the declination angle corresponds to a threshold value (e.g., 3 degrees). If the declination corresponds to the threshold, then flow proceeds to block 932 where the location information is corrected toward a GPS heading, such as 30%. Flow may then return to block 904 and proceed as previously described. Further, after the correction toward GPS heading in block 932, flow may proceed to block 904.
Advantages of the proposed method may include, but are not limited to, optimizing the accuracy and coverage of positioning and providing a smooth trajectory of travel on the map with power consumption kept to a minimum by integrating the two aforementioned techniques.
It will be apparent to those skilled in the art that various modifications and variations can be made in the structure of the present invention without departing from the scope or spirit of the invention. In view of the foregoing, it is intended that the present invention cover modifications and variations of this invention provided they come within the scope of the following claims and their equivalents.

Claims (5)

1. An electronic device, comprising:
a processing unit having a processing circuit;
an absolute positioning device having circuitry, the absolute positioning device configured to determine an absolute position of the electronic device; and
a relative positioning device having a sensor, the relative positioning device configured to determine a relative positioning of the electronic device;
wherein the processing unit is configured to operate in an always-on mode to periodically take sensor readings from the relative positioning device;
wherein the processing unit obtains initial position information of the electronic device;
wherein the processing unit calculates initial movement information of the electronic device based on the sensor readings;
wherein the processing unit calculates estimated location information based on the initial movement information and the initial location information, wherein the estimated location information includes an estimated location and an estimated heading;
wherein the absolute positioning device obtains a geographic position reading if a location update condition is satisfied, wherein the geographic position reading comprises a sequence of geographic position readings;
wherein the processing unit generates reference location information based on the geographic location readings, wherein the reference location information includes a reference location and a reference heading, wherein a last of the geographic location readings in the sequence of geographic location readings is stored as the reference location, and the processing unit compares two of the geographic location readings in the sequence of geographic location readings to obtain a reference heading;
wherein the processing unit compares the estimated position information with the reference position information to obtain deviation information, wherein the deviation information comprises a position offset and a heading deviation, wherein the processing unit compares the estimated position with the reference position to calculate the position offset, and compares the estimated heading with the reference heading to calculate the heading deviation;
wherein the processing unit calculates calibrated movement information based on the estimated position information and the deviation information, wherein the calibrated movement information includes a flat amount, a flat number, and a flat angle, wherein the processing unit calculates the flat number based on the position offset, calculates the flat angle based on the heading deviation and the flat number, and calculates the flat amount based on the deviation information and the flat number; and
wherein the processing unit calculates calibrated position information based on the deviation information, the calibrated movement information, and the estimated position information, wherein the calibrated position information comprises a calibrated position and a calibrated heading,
wherein the processing unit calculates the calibrated heading based on the gentleness angle and the estimated heading, and calculates the calibrated position based on the gentleness amount and the estimated position,
wherein the absolute positioning device is configured to operate in a power save mode and a position information acquisition mode such that, if the position update condition is satisfied, the absolute positioning device operates in the position information acquisition mode until the reference position information is determined, after which the absolute positioning device operates in the power save mode.
2. The electronic device of claim 1, wherein the processing unit is configured to confirm whether the location update condition is satisfied.
3. The electronic device of claim 1, wherein the processing unit is configured to switch the absolute positioning device to the position information acquisition mode and the power saving mode.
4. The electronic device of claim 3, wherein a first time interval for maintaining the absolute position device in the position information acquisition mode is less than a second time interval during which the processing unit extracts sensor readings from the relative positioning device in order to reduce power consumption.
5. A hybrid positioning method, adapted to an electronic device having a processing unit, an absolute positioning device, and a relative positioning device, the method comprising:
operating the processing unit in an always-on mode to periodically take sensor readings from the relative positioning device;
operating the absolute positioning apparatus in a power saving mode and a position information acquisition mode such that, in the case where a position update condition is satisfied, the absolute positioning apparatus operates in the position information acquisition mode until reference position information is determined, after which the absolute positioning apparatus operates in the power saving mode;
wherein the reference location information is used to determine a current location of the electronic device and to calculate calibrated location information, the method further comprising:
the processing unit obtains initial position information of the electronic device;
the processing unit calculates initial movement information of the electronic device based on the sensor readings;
the processing unit calculates estimated position information based on the initial movement information and the initial position information, wherein the estimated position information includes an estimated position and an estimated heading;
wherein the absolute positioning device obtains a geographic position reading if the location update condition is satisfied, wherein the geographic position reading comprises a sequence of geographic position readings;
the processing unit generating the reference location information based on the geographic location readings, wherein the reference location information includes a reference location and a reference heading, wherein a last one of the geographic location readings in the sequence of geographic location readings is stored as the reference location, and the processing unit compares two of the geographic location readings in the sequence of geographic location readings to obtain a reference heading;
the processing unit compares the estimated position information with the reference position information to obtain deviation information, wherein the deviation information comprises a position deviation and a course deviation,
wherein the processing unit compares the estimated position to the reference position to calculate the position offset and compares the estimated heading to the reference heading to calculate the heading offset;
the processing unit calculates calibrated movement information based on the estimated position information and the deviation information, wherein the calibrated movement information includes a gentleness amount, a gentleness number and a gentleness angle,
wherein the processing unit calculates the gentleness number based on the positional deviation, calculates the gentleness angle based on the heading deviation and the gentleness number, and calculates the gentleness amount based on the deviation information and the gentleness number; and
the processing unit calculates the calibrated position information based on the deviation information, the calibrated movement information, and the estimated position information, wherein the calibrated position information comprises a calibrated position and a calibrated heading,
wherein the processing unit calculates the calibrated heading based on the gentleness angle and the estimated heading, and calculates the calibrated position based on the gentleness amount and the estimated position.
CN201710362632.6A 2016-05-24 2017-05-22 Hybrid positioning method and electronic device Active CN107422355B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662340523P 2016-05-24 2016-05-24
US62/340,523 2016-05-24
US15/430,607 US10845452B2 (en) 2013-05-08 2017-02-13 Hybrid positioning method, electronic apparatus and computer-readable recording medium thereof
US15/430,607 2017-02-13

Publications (2)

Publication Number Publication Date
CN107422355A CN107422355A (en) 2017-12-01
CN107422355B true CN107422355B (en) 2021-04-20

Family

ID=60269411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710362632.6A Active CN107422355B (en) 2016-05-24 2017-05-22 Hybrid positioning method and electronic device

Country Status (3)

Country Link
CN (1) CN107422355B (en)
DE (1) DE102017111103A1 (en)
TW (1) TWI622783B (en)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101931592B1 (en) * 2017-12-12 2019-03-13 주식회사 골프존 Device for sensing a moving ball and method for computing parameters of moving ball using the same
CN110319851B (en) * 2018-03-30 2022-03-01 北京百度网讯科技有限公司 Sensor correction method, device, equipment and storage medium
WO2020052243A1 (en) 2018-09-13 2020-03-19 Huawei Technologies Co., Ltd. Multimodal location sensing on a mobile phone
KR102627453B1 (en) * 2018-10-17 2024-01-19 삼성전자주식회사 Method and device to estimate position
JP7133251B2 (en) * 2019-03-13 2022-09-08 学校法人千葉工業大学 Information processing device and mobile robot
CN110321396A (en) * 2019-05-27 2019-10-11 深圳市迈测科技股份有限公司 Position calibration method and Related product
CN111045036A (en) * 2019-10-14 2020-04-21 广东星舆科技有限公司 Method and system for testing positioning capability of high-precision positioning terminal
CN111050395B (en) * 2019-12-12 2021-11-19 甄十信息科技(上海)有限公司 Method and device for judging large-distance movement of equipment position
WO2021233388A1 (en) * 2020-05-21 2021-11-25 深圳市海柔创新科技有限公司 Navigation method and navigation apparatus
CN113805594B (en) * 2020-05-21 2023-09-05 深圳市海柔创新科技有限公司 Navigation method and navigation device
EP4167053A1 (en) * 2020-06-16 2023-04-19 Mobvoi Information Technology Company Limited Data processing method, apparatus and system, and computer-readable storage medium
CN111831098B (en) * 2020-06-16 2023-05-16 出门问问信息科技有限公司 Method, device and system for synchronizing information and computer readable storage medium
CN111781616A (en) * 2020-06-16 2020-10-16 出门问问信息科技有限公司 Data processing method, device and system and computer readable storage medium
CN111836187A (en) * 2020-06-16 2020-10-27 出门问问信息科技有限公司 Data processing method, device and system and computer readable storage medium
JP7409330B2 (en) * 2021-01-28 2024-01-09 トヨタ自動車株式会社 Self-position estimation accuracy verification method, self-position estimation system
TWI828330B (en) * 2022-09-23 2024-01-01 優式機器人股份有限公司 Movement control method and system for an automated guided apparatus
CN117368953B (en) * 2023-12-08 2024-03-22 深圳咸兑科技有限公司 Hybrid positioning method, hybrid positioning device, electronic equipment and computer readable storage medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104914457A (en) * 2014-03-12 2015-09-16 马维尔国际贸易有限公司 Method and apparatus for adaptive positioning
CN104931983A (en) * 2014-03-20 2015-09-23 卡西欧计算机株式会社 Positioning device and positioning method

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU3119400A (en) * 1999-01-08 2000-07-24 Trueposition, Inc. Method for improving the wireless location system
US6683564B1 (en) * 2002-11-19 2004-01-27 Eride, Inc. High-sensitivity satellite positioning system receivers and reception methods
JP5374703B2 (en) * 2007-11-30 2013-12-25 測位衛星技術株式会社 Position information providing system and indoor transmitter
JP5110141B2 (en) * 2010-09-29 2012-12-26 カシオ計算機株式会社 Satellite radio wave receiving apparatus and satellite radio wave receiving method
CN102062862B (en) * 2010-12-14 2012-11-14 东莞市泰斗微电子科技有限公司 Method for selecting hybrid positioning or timing mode of navigational satellite
US9491575B2 (en) * 2014-06-13 2016-11-08 Qualcomm Incorporated Positioning beacons with wireless backhaul

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104914457A (en) * 2014-03-12 2015-09-16 马维尔国际贸易有限公司 Method and apparatus for adaptive positioning
CN104931983A (en) * 2014-03-20 2015-09-23 卡西欧计算机株式会社 Positioning device and positioning method

Also Published As

Publication number Publication date
CN107422355A (en) 2017-12-01
DE102017111103A1 (en) 2017-11-30
TW201741684A (en) 2017-12-01
TWI622783B (en) 2018-05-01

Similar Documents

Publication Publication Date Title
CN107422355B (en) Hybrid positioning method and electronic device
US20210072339A1 (en) Hybrid positioning method, electronic apparatus and computer-readable recording medium thereof
US10551211B2 (en) Methods and devices with sensor time calibration
Tian et al. A multi-mode dead reckoning system for pedestrian tracking using smartphones
EP3014476B1 (en) Using movement patterns to anticipate user expectations
KR101239482B1 (en) Multi-sensor data collection and/or processing
US11035673B2 (en) Method and system for combining sensor data
CN108225324B (en) Indoor positioning method based on intelligent terminal and integrating geomagnetic matching and PDR
US9885734B2 (en) Method of motion processing and related mobile device and microcontroller unit
JP2012150115A5 (en)
US11029414B2 (en) Electronic devices and methods for providing location information
TWI631451B (en) Method and mobile device with sensor time calibration
US10310593B2 (en) Electronic mobile device
JP2016033473A (en) Position calculation method and position calculation device
WO2019120195A1 (en) Indoor navigation system using inertial sensors and short-wavelength low energy device
JP6349698B2 (en) RUNNING STATE DETECTION DEVICE, BEND ANGLE PASSING TIME ACQUISITION METHOD AND PROGRAM
JP2015155802A (en) Portable electronic equipment and position calculation program
US10725064B2 (en) Methods of motion processing and related electronic devices and motion modules
JP5652195B2 (en) Turning detection device, terminal device and program
JP6384662B2 (en) Electronic device, sensor calibration method, and sensor calibration program
CN107623939B (en) Electronic device and method for providing location information
US11592295B2 (en) System and method for position correction
CN115917471A (en) Mobile device comprising a plurality of corresponding sensors
Gong et al. Research and design of Position and Navigation system based on ARM
JP2018040737A (en) Local time setting acquisition device, electronic clock, local time setting acquisition method, and program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant