METHOD AND APPARATUS FOR IMPROVING POSITIONING OF MOBILE COMMUNICATION DEVICES USING INERTIAL POSITIONING
FIELD OF THE INVENTION
The present invention relates generally to location or positioning systems. More specifically, the present invention relates to location or positioning systems in mobile communication devices that rely on a infra-structure based systems and inertial based systems.
BACKGROUND OF THE INVENTION
Mobile communication devices are often referred to as mobile stations and are usually based either on GSM (Global System for Mobile communication) cellular networks or CDMA (Code Division Multiple
Access) cellular networks. Each type of the cellular networks has a variety of means for locating the positions of these mobile stations.
The GSM Location Service (LCS) employs the following methods for locating the positions of mobile stations : up-link time of arrival (UL-TOA), enhanced observed time of arrival (E-OTD), and assisted-GPS (A-GPS). CDMA networks employs the following : time difference of arrival (TDOA), angle of arrival (AOA), and assisted-Global Positioning Systems (A-GPS). Other cellular networks also prescribe similar methods for locating the positions of mobile stations. All of the above mentioned methods are considered to be radio-based. Reference is made to GSM 03.71 that contains details on GSM Location Service. An example of E-OTD technology is documented in U.S. Pat. Doc. No. 6,061 ,021.
In general, radio-based location methods typically require at least three Radio Frequency (RF) signals to be able to triangulate and determine a position of a mobile station. For GPS-based positioning
systems, signals from at least three GPS satellites are used while in conventional cellular networks such as GSM or CDMA, signals from at least three base stations are required to determine a position of a mobile station. However, situations may arise when the required number of signals cannot be acquired preventing the locating of the position of a mobile station.
Furthermore, the A-GPS method may require several seconds to a minute to locate the position of a mobile station as it requires acquisition of the GPS satellites. This method does not work well indoors and in high-density urban areas as line-of-sight (LOS) to the GPS satellites is required. The UL-TOA, E-OTD, TDOA, and AOA methods also do not work well in areas where there is poor base station geometry. For these reasons, location systems that only use radio-based location methods cannot provide continuous position updates or tracking of a mobile station.
U.S. Pat. Doc. No. 6,240,367 and U.S. Pat. Doc. No. 6,327,533 present examples of navigation systems comprising of GPS combined with inertial navigation systems. These navigation systems are typically deployed in vehicles. Such navigation systems could well be adapted for use in mobile stations. However, this is limited only if the mobile station but may not be appropriate for mobile stations as it is possible for the manufacturer of an MS to employ a radio-location system that may not employ GPS.
To address the above-mentioned deficiencies of the prior art, it is a primary object of the present invention to improve location estimation of an MS, to provide such estimations in an efficient and timely manner, and to be adaptable to different positioning technologies.
BRIEF SUMMARY OF THE INVENTION
The present invention seeks to provide a method and apparatus for improving positioning of mobile communications devices using inertial positioning.
Accordingly, in one aspect, the invention provides an improved method for positioning of a mobile communication device comprising a primary positioning system and an inertial positioning system, the method comprising the steps: determining if the primary positioning system should be bypassed; performing positioning using the primary positioning system if the primary positioning system is not bypassed; performing positioning using the inertial positioning system if the primary positioning system is bypassed, or if the primary positioning system cannot return an acceptable position estimate.
Accordingly, in another aspect, the present invention provides a mobile station comprising a mobile station controller and an inertial positioning subsystem; the mobile station controller for controlling operation of the mobile station and for communicating with a cellular network to operate a primary positioning system; and the inertial positioning subsystem for augmenting the primary positioning system
BRIEF DESCRIPTION OF DRAWINGS
A more complete understanding of the present invention may be derived from the detailed description and claims. The detailed description and claims make reference to the accompanying drawings wherein like numbers refer to similar items throughout the drawings.
FIG. 1 shows a schematic block diagram of the present invention.
FIG.2 shows a schematic block diagram of a inertial positioning system in Fig. 1;
FIG. 3 shows a state diagram of a background procedure performed by a processor module portion of Fig. 2;
FIG. 4 shows an activity diagram of the UNINITIALIZED state of the background procedure performed by the processor module in accordance with the present invention;
FIG. 5 shows an activity diagram of the INITIALIZED state of the background procedure performed by the processor module in accordance with the present invention;
FIG. 6 shows a flowchart of a foreground procedure in accordance with the present invention.
FIG. 7 shows a flowchart of calculating displacement vector in accordance with the present invention.
DETAILED DESCRIPTION OF THE INVENTION
Referring to FIG. 1, there is shown a block diagram of a mobile communication device or mobile station 12 in accordance with the present invention. The present invention proposes the addition of an inertial positioning subsystem 16 to the mobile station 12 to augment its own radio-based primary positioning system which is dependent on a cellular network for triangulation. The mobile station controller 14, which comprises the hardware and software needed for the normal operation of the mobile station 12 as well as for communicating with the cellular
network to operate the primary positioning system, is adapted to interface with the inertial positioning subsystem 16. The inertial positioning subsystem 16 is responsible for determining the location of the entire system 10 using an inertial positioning method. A preferred embodiment of the present invention is where the inertial positioning subsystem 16 is completely enclosed within the chassis and attached to the chassis of the mobile station 12. An alternative embodiment has the inertial positioning subsystem 16 externally affixed to the chassis of the MS 12 via a connecting means.
Referring to Fig. 2, the inertial positioning subsystem 16 comprises: a sensor array 19, nine signal filters 30a-i, and a processor module 40. The sensor array 19 further comprises nine sensors
The nine sensors comprises: a x-axis accelerometer 20, a y-axis accelerometer 21, and a z-axis accelerometer 22; a x-axis magnetometer 23, a y-axis magnetometer 24, and a z-axis magnetometer; a x-axis tiltmeter 26 and a y-axis tiltmeter 27; and a temperature sensor 28.
The x-axis accelerometer 20, y-axis accelerometer 21 and the z-axis accelerometer 22 measure accelerations along the x, y and z-axis of the mobile station 12 respectively as acceleration readings. Similarly, the x- axis magnetometer 23, the y-axis magnetometer 24, the z-axis magnetometer 25 measures the earth's magnetic field along the x, y and z-axis of the mobile station 12 respectively as magnetic field readings. The x-axis tiltmeter 26 and the y-axis tiltmeter 27 measures the mobile station's 12 tilt around the x and y-axis of the mobile station 12 respectively as tiltmeter readings. The temperature sensor 28 measures the temperature of the system 16. Each of the nine signal filters 30a-i conditions the signals read from the sensors to prevent aliasing and to reduce noise. The preferred embodiment uses solid-state or
Microelectromechanical Systems (MEMS) based sensors due to their small size. Integrated sensors with a plurality of sensors comprising a
variety of combinations of the following may also be utilized: accelerometers, magnetometers tiltmeters and temperature sensors.
The processor module 40 performs analog-to-digital conversion of the signals emitted by the sensor array 19, and performs calculations required to determine the mobile station's 12 current position. In a preferred embodiment, the processor module 40 may be implemented using a conventional microcontroller, microprocessor, or like device which executes software programs that are stored in a memory.
The orientation of the mobile station 12 is characterized by the earth's magnetic field measured by the magnetometers 23 24 25 and the system's tilt measured by the tiltmeters 26 27. Corrections to errors in magnetometer readings caused by the magnetic interference field of the mobile station 12 are applied. The mobile station's 12 azimuth (to magnetic north) and inclination can be derived from these values. The mobile station's 12 azimuth to true north can be derived by applying the appropriate value of declination at the system's current position. Moving the mobile station 12 from one point in space to another causes acceleration to be measured by the accelerometers 20 21 22. The processor module 40 will apply temperature compensations to readings taken from the sensor array 19.
The inertial positioning subsystem 16 must be initialized with initial position data using position estimates of the mobile station 12 obtained by its own primary positioning system using a primary positioning method.
This initial position data is then fed into the inertial positioning subsystem
16.
FIG. 3, FIG. 4, and FIG. 5 shows state and activity diagrams of a background procedure 100 undertaken by the processor module 40. FIG. 6 shows a flowchart of the foreground procedure 200 undertaken by the cellular network to determine the position of the mobile station 12. The
background procedure 100 and the foreground procedure 200 run independently of each other and can be considered as running concurrently.
Referring to FIG. 3, UNINITIALIZED state 102 is the state that the inertial positioning subsystem 16 starts in. In this state it is unaware of its initial position and therefore unable to provide any position estimate. INITIALIZED state 104 is the state in which the inertial positioning subsystem 16 has received sufficient data for initialization purposes. In this state the inertial positioning subsystem 16 is aware of its initial position, and can provide position estimates.
FIG. 4 and FIG. 5 makes references to several common messages or events. They comprise: position data message 120, position request 122, and internal timer event 124. The position data message 120 comprises the position of the mobile station 12 as determined by the primary positioning method. The position request 122 is basically a request for the position of the mobile station 12 as determined by the inertial positioning subsystem 16. The position data message 120 and position request message 122 both originate from the cellular network, generated by the foreground procedure 200. The internal timer event 124 is generated at regular intervals by a clock signal in the processor module 40.
Referring to FIG. 4, when the processor module 40 receives a position data message 120, the position data 120 which comprises the position of the mobile station 12 is then stored 160 as initial position. Next, displacement vector of the mobile station 12 is reset 162 to zero. The displacement vector refers to the displacement of the mobile station 12 with respect from the mobile station's 12 initial position. Background procedure 100 then changes to the INITIALIZED 104 state.
If a position request message 122 is received, the background procedure 100 will generate a 'not ready' 164 message, signifying that the inertial positioning subsystem 16 is not ready to provide position estimates and the background procedure 100 remains in the UNINITIALIZED 102 state. If the internal timer event 124 occurs, it is ignored and the background procedure 100 remains in the UNINITIALIZED 102 state.
Referring to FIG. 5, when the background procedure is in the INITIALIZED 104 state and receives the position data message 120 the position data 120 which comprises the position of the mobile station 12 is then stored 180 as initial position. Next, displacement vector of the mobile station 12 is reset 182 to zero. The background procedure 100 remains in the INITIALIZED 104 state.
If a position request message 122 is received, the background procedure 100 will proceed to calculate 184 a position estimate using the values of the mobile station's initial position and the displacement vector. The position data is then sent 186 to the mobile station controller 14 which then communicates with the cellular network to relay the position data. The background procedure 100 remains in the INITIALIZED 104 state.
If an internal timer event 124 occurs, the background procedure 100 will proceed to read 188 data from the sensors array 19. The data read is then used to update 190 the displacement vector. The background procedure 100 remains in the INITIALIZED 104 state.
Referring to FIG. 6, the foreground procedure 200, is executed within the cellular network. This foreground procedure 200 is executed when the position of the mobile station 12 is required. The foreground procedure 200 first checks to determine whether the primary positioning system should be bypassed 202. The criteria for such a decision may be
user-defined and may vary according to the situation. This allows the cellular network to reduce the load on the primary positioning system and also to reduce the load caused by the primary positioning system. If the the cellular network decides not to bypass the primary positioning system, the next step would be to perform 204 primary positioning using the primary positioning system. Next, the cellular network will determine whether the position estimate arrived at by the primary positioning procedure earlier is acceptable 206. If the position estimate is acceptable 206, the foreground program 200 then proceeds to return 208 the primary positioning position estimate to the cellular network. A position estimate is considered unacceptable when the positioning method cannot return a position estimate, or when the positioning method returns a position estimate that comes with a high level of uncertainty or error. Next, the inertial positioning subsystem 16 is updated 210 with the primary positioning position estimate. The foreground procedure 200 then ends 240.
If the cellular network decides to bypass 202 the primary positioning system or if the position estimate by the primary positioning system is unacceptable 206, the foreground procedure would then proceed to perform positioning using the inertial positioning subsystem 16. First the foreground procedure 200 queries 220 the inertial positioning subsystem 16 in the mobile station 12 for its position. The mobile station 12 returns its current position as calculated by the background procedure 100. Next, if a position estimate is not available 222 from the inertial positioning system, the foreground procedure returns to the step of performing 204 the primary positioning system. Otherwise, the position estimate from the inertial positioning system is returned 224 to the cellular network. The foreground procedure 200 then ends 240.
Referring to FIG. 7, the process of updating the displacement vector 190 in the background procedure 100 starts with the projecting of acceleration readings 301 from the sensor array 19 onto a local horizontal
plane. Next, projecting magnetic field readings 302 from the sensor array 19 onto the local horizontal plane. The tiltmeter readings are also incorporated into both steps of projecting of the acceleration readings 301 and the magnetic field readings 302. The basic objective of the process of updating the displacement vector 190 is to obtain acceleration components of North-South, East-West, and vertical directions and subsequently calculating relative offset using these values.
An example of calculations for projecting the acceleration readings 301 and magnetic field readings 302 are shown here:
Let the mobile station's 12 heading be in the same direction as the positive direction of its local X-axis.
Let:
Tx = tilt around the X-axis of the local horizontal plane (θ) Ty = tilt around the Y-axis of the local horizontal plane (φ)
The tilt correction transformation matrix would be given by:
cosφ 0 sinφ 0 sinβ sin ø cos - sinβ cos 0
-cosβsin sinβ cosβcos 0
0 0 0 1
Let:
Hx = earth's magnetic field along the X-axis local to the mobile station 12. Hy = earth's magnetic field along the Y-axis local to the mobile station 12. Hz = earth's magnetic field along the Z-axis local to the mobile station 12. Hx' = earth's magnetic field along the X-axis of the local horizontal plane. Hy' = earth's magnetic field along the Y-axis of the local horizontal plane. Hz' = earth's magnetic field in the local vertical direction.
Magnetic field readings corrected for tilt is given by:
Hx cosφ + Hz sinφ
H_ sin β sin φ + Hy cos - Hz sin β cos
- Hx cosβ sin + Hy sin β + Hz cos θ cos φ
Let: ax = acceleration along the X-axis local to the mobile station 12. ay = acceleration along the Y-axis local to the mobile station 12. az = acceleration along the Z-axis local to the mobile station 12. ax' = acceleration along the X-axis of the local horizontal plane. ay" = acceleration along the Y-axis of the local horizontal plane. a2' = acceleration in the local vertical direction.
Acceleration readings corrected for tilt is given by: x cosφ + a2 sin ax sinβ sin φ + ay cosβ - az sinβ cos
- ax cos β sin + ay sinβ + az cos θcosφ
aj = acceleration along the north-south direction. aj = acceleration along the east-west direction. ak = acceleration in the local vertical direction (without gravity).
Next, calculating 303 true bearing and inclination from the projected magnetic field readings and current earth position estimate. An example of such a calculation is shown here:
The azimuth (the angle between magnetic north and the heading direction), , is given by:
(α is counted clockwise from magnetic north)
H„ a = arctan .
Inclination (the angle between the earth's field vector and the horizontal plane), δ is given by:
(δ is positive if it points vertically down, negative otherwise)
H.
<5 = arctan
Declination (the angle between true north and magnetic north, counted clockwise from true north), λ, can be calculated using a model of the earth's geomagnetic field. This value is dependent on the actual position on earth and the current time. Declination will probably not differ by much within a small local area. True bearing, β = α + λ
Next, the acceleration components in the N-S, E-W, and vertical directions are calculated 304. An example of such a calculation is shown here:
Acceleration along NS/EW directions is given by:
Thereafter, the relative offset from the mobile station's 12 initial position is calculated 305. An example of such a calculation is shown here:
Let: δSj = position offset along the north-south direction δSj = position offset along the east-west direction δsk = position offset in the local vertical direction
Position offsets at time u are given by:
δsi(u) = ai(t)dt>
The present invention thus provides an improved mobile station 12 location or positioning system which includes both a radio-based primary positioning system and an inertial positioning subsystem 16. This system is an improvement over present mobile station location systems which rely solely on radio positioning methods as it provides a means of providing position estimates when radio positioning is not available. However, when a radio position estimate is available, it may be further be used to correct the estimates returned by the inertial positioning system.