Patent Publication Number: US-8527234-B2

Title: Locating apparatus, locating method and computer program storage product thereof for a mobile device

Description:
PRIORITY 
     This application claims the benefit from the priority to Taiwan Patent Application No. 098139889 filed on Nov. 24, 2009, the disclosure of which are incorporated by reference herein in their entirety. 
     FIELD 
     The present invention relates to a locating apparatus, a locating method and a computer program storage product thereof for a mobile device. More particularly, the present invention relates to a locating apparatus, a locating method and a computer program storage product thereof capable of acquiring location information of a mobile device without the support of the Global Positioning System (GPS). 
     BACKGROUND 
     The Global Positioning System (GPS) is a medium-range circular-orbit satellite system, it provides accurate locating services for most of areas on the Earth. GPS was originally developed for military purposes. GPS is currently available to civilians and has brought about revolutionary changes in daily life. For example, through signals provided by GPS and an e-map provided by a locating/navigating device, vehicle drivers are able to locate their own positions, to know where they are and to enjoy the navigation function. 
     However, since a vehicle is an object that may move at any time, GPS signals are likely to be attenuated or shielded as the vehicle passing by a building, through a tunnel or to be sheltered by the terrain. If the locating/navigation apparatus disposed on the vehicle fails to receive the GPS signals, it will fail to locate and to provide the current vehicle location, so that the locating/navigation apparatus can not provide the navigation function. 
     To continuously indicate the current vehicle location as driving in an area that the locating/navigation apparatus can not receive GPS signals, a sensing unit for sensing a plurality of parameters has been provided in the prior art to solve such a problem. More specifically, according to the parameters sensed by the sensing unit (e.g., an accelerometer and/or a gyroscope), the locating/navigation apparatus can estimate the current vehicle location by employing a dead reckoning approach from a previous location obtained before failure of the locating/navigation apparatus to receive GPS signals. In this way, the locating/navigation apparatus can keep presenting the current vehicle location even when it fails to receive GPS signals. 
     Unfortunately, the location accuracy of the locating/navigation apparatus may decline because these parameters sensed by the sensing unit are affected by various factors. For example, when the vehicle is driving on an uphill or downhill road, the parameters sensed by the sensing unit are erroneous due to influence of the gravity. Besides, the dead reckoning approach adopted by the locating/navigation apparatus is only able to estimate locations of the vehicle in a plane. However, there are transportation network formed of planar roads and elevated roads in modern cities, employing the dead reckoning approach will cause significant degradation in location accuracy of the locating/navigation apparatus. 
     In view of this, there remains a continuing need to provide locating/navigation apparatus with a more accurate locating method that can inform users of their current location even when GPS signals are not available. 
     SUMMARY 
     An objective of particular embodiments of the present invention is to provide a locating apparatus for a mobile device with an initial speed. The locating apparatus comprises a storage unit, a sensing unit, a calculation unit and a processing unit. The storage unit is configured to store the initial speed as initial speed information. The sensing unit is configured to sense acceleration information and height displacement information. The calculation unit is configured to calculate angle information according to the initial speed information, the acceleration information, the height displacement information and a predetermined time interval, to calculate modified acceleration information according to the acceleration information and the angle information, and to calculate composite displacement information according to the initial speed information, the modified acceleration information and the predetermined time interval. The processing unit is configured to generate location information according to the composite displacement information and the height displacement information. 
     Another objective of particular embodiments of the present invention is to provide a locating method for a mobile device with initial speed. The locating method comprises the steps of: enabling a storage unit to store the initial speed as initial speed information; enabling a sensing unit to sense acceleration information and height displacement information; enabling a calculation unit to calculate angle information according to the initial speed information, the acceleration information, the height displacement information and a predetermined time interval; enabling the calculation unit to calculate modified acceleration information according to the acceleration information and the angle information; enabling the calculation unit to calculate composite displacement information according to the initial speed information, the modified acceleration information and the predetermined time interval; and enabling a processing unit to generate location information according to the composite displacement information and the height displacement information. 
     To accomplish the aforesaid objectives, certain embodiments of the present invention further provide a computer program storage product comprising a tangible machine-readable medium which has executable codes to perform the aforesaid locating method for a mobile device. When the executable codes are loaded into the locating apparatus via a computer and executed, the aforesaid locating method can be accomplished. 
     The locating apparatus, the locating method and the computer program storage product thereof according to the present invention can calculate angle information according to the initial speed information, the acceleration information and the height displacement information sensed by the sensing unit as well as the predetermined time interval, and modifies the acceleration information according to the angle information. Thereby, the present invention can not only locate an object in a three-dimensional (3D) environment even when no GPS signal is received, but also improve the locating accuracy. 
     The detailed technology and preferred embodiments implemented for the subject invention are described in the following paragraphs accompanying the appended drawings for people skilled in this field to well appreciate the features of the claimed invention. It is understood that the features mentioned hereinbefore and those to be commented on hereinafter may be used not only in the specified combinations, but also in other combinations or in isolation, without departing from the scope of the present invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIGS. 1A-1D  are schematic diagrams illustrating a first embodiment of the present invention; and 
         FIGS. 2A-2B  are flowcharts of a second embodiment of the present invention. 
     
    
    
     While the invention is amenable to various modifications and alternative forms, specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular example embodiments described. On the contrary, the invention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims. 
     DETAILED DESCRIPTION 
     In the following description, the present invention will be explained with reference to embodiments thereof. The present invention relates to a locating apparatus, a locating method and a computer program storage product thereof. The locating apparatus may be an apparatus capable of receiving GPS signals, such as a smart mobile phone, a personal digital assistant (PDA) or a netbook. The mobile device may be a device that is movable, such as a vehicle, a ship or an aircraft. However, description of these embodiments is only for purpose of illustration rather than to limit the present invention. It should be appreciated that, in the following embodiments and the attached drawings, elements unrelated to the present invention are omitted from depiction; and dimensional relationships among individual elements in the attached drawings are illustrated only for ease of understanding, but not to limit the actual scale. 
     Hereinafter, a locating apparatus  11  for a mobile device  10  of a first embodiment in accordance with the present invention will be described with reference to schematic views depicted in  FIGS. 1A to 1D . The locating apparatus  11  is configured to calculate location information of the mobile device  10  at a location k, and the locating apparatus  11  is disposed in the mobile device  10 . 
     Specifically,  FIGS. 1A-1C  are schematic diagrams showing the mobile device  10  moving from a location k−1 to the location k within a predetermined time interval (not shown). The location k−1 has a 3D coordinate of (x k-1 , y k-1 , z k-1 ), and the 3D coordinate of the location k is (x k , y k , z k ). In  FIG. 1A , θ k  represents an angle, wherein the angle is formed by the mobile device  10  moving from the coordinate (z k-1 ) to the coordinate (z k ) along the Z direction within the predetermined time interval, g represents the gravitational acceleration, g sin θ k  represents a component of the gravitational acceleration, Ax k  represents an acceleration of the mobile device  10  moving from the location k−1 to the location k, ΔS k  represents a composite displacement of the mobile device  10  moving from the location k−1 to the location k, and ΔD k  and ΔH k  represent a horizontal displacement and a height displacement of the mobile device  10  moving from the location k−1 to the location k respectively. The mobile device  10  has an initial speed (not shown) at the location k−1. 
     In  FIG. 1B , α k  represents a cornering angle of the mobile device  10  when cornering (from the X direction to the Y direction) from the coordinates (x k-1 , y k-1 ) to the coordinates (x k , y k ) within the predetermined time interval.  FIG. 1C  is a schematic 3D coordinate diagram showing the movement of the mobile device  10  from the location k−1 to the location k. 
     As shown in  FIG. 1D , the locating apparatus  11  of the first example embodiment of the present invention comprises a sensing unit  11   a , a storage unit  11   b , a calculation unit  11   c  and a processing unit  11   d . The sensing unit  11   a  further comprises an accelerometer  111 , a gyroscope  112 , an altimeter  113  and a low-pass filter (LPF)  114 . The storage unit  11   b  is configured to store map information  126 . In this embodiment, when the mobile device  10  is located at the location k−1, an initial speed and the 3D location coordinate (x k-1 , y k-1 , z k-1 ) are still calculated according to GPS signals, and are stored in real time by the storage unit  11   b  as initial speed information  127  and initial location information  128 . 
     When the mobile device  10  moves to the location k, the accelerometer  111  senses an acceleration of the mobile device  10  to generate acceleration information  123 . The gyroscope  112  is configured to sense a cornering angular speed of the mobile device  10  to generate cornering angular speed information  124 . The altimeter  113  is configured to sense a height displacement of the mobile device  10  to generate height displacement information  125 . 
     It should be noted that the altimeter  113  described in this embodiment senses the height displacement of the mobile device  10  according to variations in the atmospheric pressure and generates the height displacement information  125 . In case the atmospheric pressure varies abruptly within a short time, accuracy of the height displacement information  125  will degrade. Therefore, in order to improve accuracy of the height displacement information  125  generated by the altimeter  113 , the LPF  114  processes the height displacement information  125  to generate modified height displacement information  125 ′. It should be appreciated herein that, the present invention is not limited to improving accuracy of the height displacement information  125  by the LPF  114 ; the accuracy of the height displacement information  125  may also be improved in other manners by those of ordinary skill in the art depending on practical needs, and this will not be further described herein. 
     Also, the present invention is not limited to sense the acceleration, the cornering angular speed and the height displacement of the mobile device  10  by the accelerometer  111 , the gyroscope  112  and the altimeter  113  respectively; those of ordinary skill in the art may use other measuring instrument to sense the acceleration, the cornering angular speed and the height displacement depending on practical needs, and this will not be further described herein. 
     Thereafter, the calculation unit  11   c  calculates temporary displacement information according to the initial speed information  127 , the acceleration information  123  and the aforesaid predetermined time interval through Equation (1):
 
  Δ s   k   = V   k-1   ΔT +( Ax   k   ΔT   2 )/2  (1)
 
     V k-1  represents the initial speed information  127  (i.e., the initial speed of the mobile device  10  at the location k−1), ΔT represents the predetermined time interval, Ax k  represents the acceleration information  123  (i.e., the acceleration of the mobile device  10  moving from the location k−1 to the location k), and  Δs k    represents the temporary displacement information. 
     After calculating and generating the temporary displacement information according to the initial speed information  127 , the acceleration information  123  and the aforesaid predetermined time interval, the calculation unit  11   c  calculates angle information according to Equation (2):
 
θ k =sin −1 (Δ H   k /  Δ s   k   )  (2)
 
     Δs k  represents the temporary displacement information, ΔH k  represents the height displacement information  125 ′ (i.e., the height displacement of the mobile device  10  moving from the location k−1 to the location k), and θ k  represents the angle information (i.e., the angle formed by the mobile device  10  moving from the coordinate (z k-1 ) to the coordinate (z k ) along the Z direction within the predetermined time interval). 
     Then, according to the acceleration information  123  and the angle information, the calculation unit  11   c  calculates modified acceleration information through Equation (3):
 
 ax   k   =Ax   k   −g  sin θ k   (3)
 
     Ax k  represents the acceleration information  123  (i.e., the acceleration of the mobile device  10  moving from the location k−1 to the location k), g represents the gravitational acceleration, θ k  represents the angle information (i.e., the angle formed by the mobile device  10  moving from the coordinate (z k-1 ) to the coordinate (z k ) along the Z direction within the predetermined time interval), and ax k  represents the modified acceleration information. 
     Similarly, according to the cornering angular speed information  124  and the angle information, the calculation unit  11   c  calculates modified cornering angular speed information through Equation (4):
 
ω′ k =ω k /cos θ k   (4)
 
     ω k  represents the cornering angular speed information  124  (i.e., the cornering angular speed of the mobile device  10  sensed by the gyroscope  112 ), θ k  represents the angle information (i.e., the angle formed by the mobile device  10  moving from the coordinate (z k-1 ) to the coordinate (z k ) along the Z direction within the predetermined time interval), and ω′ k  represents the modified cornering angular speed information. 
     Next, according to the initial speed information  127 , the modified acceleration information calculated through Equation (3) and the predetermined time interval, the calculation unit  11   c  calculates composite displacement information through Equation (5):
 
Δ S   k   =V   k-1   ΔT+ax   k   ΔT   2 /2  (5)
 
     V k-1  represents the initial speed information  127  (i.e., the initial speed of the mobile device  10  at the location k−1), ΔT represents the predetermined time interval, ax k  represents the modified acceleration information, and ΔS k  represents the composite displacement information (i.e., the composite displacement of the mobile device  10  moving from the location k−1 to the location k). 
     According to the angle information and the composite displacement information, the calculation unit  11   c  calculates horizontal displacement information  129  through Equation (6):
 
ΔD k =ΔS k  cos θ k   (6)
 
     ΔS k  represents the composite displacement information (i.e., the composite displacement of the mobile device  10  moving from the location k−1 to the location k), θ k  represents the angle information (i.e., the angle formed by the mobile device  10  moving from the coordinate (z k-1 ) to the coordinate (z k ) along the Z direction within the predetermined time interval), and ΔD k  represents the horizontal displacement information  129  (i.e., the horizontal displacement of the mobile device  10  moving from the location k−1 to the location k). 
     Furthermore, according to the modified cornering angular speed information and the predetermined time interval, the calculation unit  11   c  calculates cornering angle information  130  through Equation (7):
 
α k =ω′ k ΔT  (7)
 
     ω′ k  represents the modified cornering angular speed information, ΔT represents the predetermined time interval, and α k  represents the cornering angle information  130 . 
     The processing unit  11   d  receives the height displacement information  125 , the map information  126 , the initial location information  128  (i.e. the 3D location coordinate (x k-1 , y k-1 , z k-1 ) of the mobile device  10  at the location k−1), the horizontal displacement information  129  and the cornering angle information  130 . Then according to the initial location information  128 , the horizontal displacement information  129  and the cornering angle information  130 , the processing unit  11   d  calculates two-dimensional (2D) coordinate information through Equation (8):
 
( x   k   ,y   k )=( x   k-1   +ΔD   k  cos α k   ,y   k-1   +ΔD   k  sin Δ k )  (8)
 
     (x k-1 , y k-1 ) represents the 2D location coordinate of the mobile device  10  at the location k−1, ΔD k  represents the horizontal displacement information  129  (i.e., the horizontal displacement of the mobile device  10  moving from the location k−1 to the location k), α k  represents the cornering angle information  130 , and (x k , y k ) represents the 2D location coordinate of the mobile device  10  at the location k. 
     Next, the processing unit  11   d  generates the location information (not shown) according to the 2D coordinate information and the height displacement information  125 ′, and labels a horizontal location and an altitude location (i.e., the 3D location coordinate (x k , y k , z k )) of the mobile device  10  at the location k in the map information  126  according to the location information. 
       FIGS. 2A-2B  show a second embodiment of the present invention, which is a locating method for a mobile device, e.g., the mobile device  10  described in the first embodiment. The locating method of the present invention may be used in a locating apparatus, e.g., the locating apparatus  11  described in the first embodiment. The mobile device has an initial speed. The locating apparatus comprises a sensing unit, a storage unit, a calculation unit and a processing unit. Map information is stored in the storage unit of the locating apparatus. 
     In particular, the locating method of the second embodiment may be implemented by a computer program storage product comprising a tangible machine-readable medium. When a plurality of executable codes stored in the tangible machine-readable medium are loaded into the locating apparatus via a computer, the executable codes are executed to accomplish the locating method of the present invention. These executable codes may be stored in the tangible machine-readable medium, such as a read only memory (ROM), a flash memory, a floppy disk, a hard disk, a compact disk, a mobile disk, a magnetic tape, a database accessible to networks, or any other storage media with the same function and well known to those skilled in the art. 
     Firstly, step  201  is executed to enable the storage unit to store the initial speed as initial speed information, and the sensing unit senses acceleration information and height displacement information in step  202 . Then, the sensing unit further modifies the height displacement information in step  203 . 
     Next, the calculation unit calculates angle information according to the initial speed information, the acceleration information, the predetermined time interval and the height displacement information in step  204 . More specifically, the calculation unit calculates temporary displacement information according to the initial speed information, the acceleration information and the predetermined time interval, and then calculates the angle information according to the temporary displacement information and the height displacement information. 
     Afterwards, step  205  is executed to enable the processing unit to determine whether the angle information exceeds a threshold value. If not, it means that the mobile device is driving on a planar road, so it is unnecessary to modify the acceleration information. Then, the calculation unit generates composite displacement information according to the initial speed information, the acceleration information and the predetermined time interval in step  206 , the processing unit generates location information according to the composite displacement information and the height displacement information in step  207 . Finally, step  208  is executed to enable the processing unit to label a horizontal location and an altitude location in the map information according to the location information. 
     If in step  207 , the processing unit determines that the angle information exceeds the threshold value, it means that the mobile device is driving on a non-planar road, the acceleration information must be modified. Then, step  209  is executed to enable the calculation unit to calculate modified acceleration information according to the initial speed information, the acceleration information and the angle information, the calculation unit calculates composite displacement information according to the initial speed information, the modified acceleration information and the predetermined time interval in step  210 . Afterwards, step  211  is executed to enable the calculation unit to calculate horizontal displacement information according to the composite displacement information and the angle information, and the processing unit generates the location information according to the horizontal displacement information and the height displacement information in step  212 . Finally, step  208  is executed to enable the processing unit to label a horizontal location and an altitude location in the map information according to the location information. 
     In addition to the aforesaid steps, the locating method of the present invention can also execute all the operations and functions set forth in the first embodiment. How the locating method of the present invention executes these operations and functions will be readily appreciated by those of ordinary skill in the art based on the explanation of the first embodiment, and thus will not be further described herein. 
     In summary, the locating apparatus, the locating method and the computer program storage product thereof according to certain embodiments of the present invention can calculate angle information according to the initial speed information, the acceleration information and the height displacement information sensed by the sensing unit as well as the predetermined time interval, and modify the acceleration information according to the angle information. Therefore, locating an object in a 3D environment can be accomplished accurately and timely without the support of GPS signals by the locating apparatus, the locating method and the computer program storage product thereof according to the present invention. 
     The above disclosure is related to the detailed technical contents and inventive features thereof. People skilled in this field may proceed with a variety of modifications and replacements based on the disclosures and suggestions of the invention as described without departing from the characteristics thereof. Nevertheless, although such modifications and replacements are not fully disclosed in the above descriptions, they have substantially been covered in the following claims as appended.