1. Field of Invention
The present invention relates to an improved method for determining whether a Global Positioning System (GPS) receiver is located within a predetermined distance from a base point.
2. Background
2D Fix and Three Satellite Fix Geofencing Problem
Geofencing is determining the position of an object relative to a base position. A boundary located a predetermined distance away from the base position is a geofence, and the object being tracked is either inside, directly on, or outside the geofence boundary. One way to perform geofencing is to attach a GPS receiver to the object to be tracked and use GPS data from the receiver to determine where the object is relative to the geofence.
A standard GPS fix requires signals from at least four satellites, however, the use of a three satellite GPS fix is a common practice in commercial GPS receivers. The reason for the use of a three satellite fix is the desire to increase GPS fix availability, frequently impeded by partial satellite view blockages. Though the three satellite fix increases fix availability, it has a serious drawback: the position obtained from a three satellite fix has, generally unpredictable, and often large, horizontal position errors. That makes the standard three satellite fix, where the output is a point position, especially unsuitable for geofence applications.
In co-pending U.S. patent application Ser. No. 11/692,665 filed Mar. 28, 2007, it was shown that the general solution of the two satellite fix problem is a surface. All references cited herein are incorporated by reference. Similarly, the solution of the three satellite fix problem is a curved line. The line can be approximated as a straight line in an area the size much smaller than a distance to a GPS satellite. This line is called a solution line.
Normally, a commercial GPS receiver reports the user position as a point (in Lat/Lon/Alt or XYZ coordinates). Since the solution of the three satellite fix is a line, it is necessary to have an additional constraint to obtain a position point.
A commonly used prior art constraint is the assumption of fixed altitude, where the altitude is, normally, taken from a previous (four satellite) GPS fix. With this constraint, the position point is computed as the intersection of the solution line with the locally horizontal plane lying at fixed altitude.
The goal of a geofence application, on the other hand, is not to find a position point, but, rather, to report whether a GPS receiver is inside or outside the user specified geofence volume. In the case of a four satellite GPS fix, one can always tell whether the GPS receiver is inside or outside the volume by comparing the position point coordinates with the coordinates of the geofence volume. In the case of a three satellite fix, there is a solution line instead of a point. With the solution line there can be the following two cases:
a) The solution line bypasses the geofence volume. In this case the GPS receiver is surely outside the geofence volume, or a geofence alarm is not present.
b) The solution line penetrates the geofence volume. In this case, it is not known whether the GPS receiver is inside or outside the geofence volume.
A method is therefore desired to determine whether an object falls into case a or b and if in case b, to further refine the solution to determine a probability that the object is inside or outside the geofence volume.
An object of the present invention is to provide an improved method for determining that a GPS receiver is located within a predetermined geofence volume. An embodiment of the invention includes the steps of receiving global positioning system signals from a plurality of GPS satellites; calculating a solution set of possible receiver positions from the global positioning signals; determining whether any portion of the solution set of receiver positions is within the geofence volume; and determining that the receiver is outside the geofence volume if no portion of the solution set of receiver positions is within the geofence volume.
In a further embodiment, the method is applied in the case where only two GPS satellite signals are available and the solution set is a plane.
In a further embodiment, the method is applied in the case where only three GPS satellite signals are available and the solution set is a line.
In a further embodiment, exclusion spaces are established in which there is a high probability that the receiver cannot be located. The receiver is determined to be in the geofence volume if a portion of the solution set is within the geofence volume and the only portion of the solution set that is not within the geofence volume is within the exclusion spaces.
In a further embodiment, the probability that the receiver is within the geofence volume is calculated for the case where portions of the solution set are within the geofence volume, portions of the solution set are within the exclusion spaces and not within the geofence volume and portions of the solution set are not within either the geofence volume or the exclusion spaces. The probability that the receiver is within the geofence volume is determined by comparing the size of the portion of the solution set that is within the geofence volume with the size of the portion of the solution set that is not within either the geofence volume or the exclusion spaces.
The invention will be described in conjunction with the following drawings in which like reference numerals designate like elements and wherein:
The following description of the invention makes reference to the following terms:
Term Definitions:
Solution Line—The line of possible user positions obtained in a three satellite GPS fix. It is different from the horizontal solution line referred to in co-pending application Ser. No. 11/692,665 defined therein as the intersection of the solution plane obtained in a two satellite fix with a receiver's position constraining plane.
2D Fix—the industry standard concept, that is, the computation of the point position formed by a solution line and a locally horizontal plane.
Geofence Volume—A user defined closed 3D area in which a GPS receiver has to be inside in order not to cause a geofence alarm.
User Position Exclusion Space or Exclusion Space—The three dimensional area in which a receiver can not reside. Exclusion spaces are defined based on supplementary information, e.g., some minimal local terrain's altitude information in combination with the assumption that the receiver is mounted on a surface based vehicle.
Open Space—The space not occupied by a geofence volume or exclusion spaces.
Horizontal Exclusion Space—The simplest form of horizontal exclusion space is the space (or half space) above or below a locally horizontal plane. Any exclusion space completely encompassed by the simplest horizontal exclusion space is also horizontal exclusion space.
Vertical Exclusion Space—The simplest form of vertical exclusion space is half space formed by a locally vertical plane splitting space into two halves. Exclusion space that can be completely encompassed by the simplest vertical exclusion space is also vertical exclusion space.
Geofence Cylinder—The cylindrical geofence volume with the axis line going through the base location and perpendicular to the locally horizontal plane.
Geofence Sphere—The spherical geofence volume with the centre in the base location.
Route Adherence Pipe or Adherence Pipe—The geofence volume in the form of a pipe with the receiver's prescribed route as the axis.
Route Adherence Corridor or Adherence Corridor—The geofence volume formed by vertical surfaces between which the receiver's prescribed route lies.
ρi The pseudorange to the ith satellite.
bU The clock bias of the receiver clock.
{right arrow over (x)}b The base position.
{right arrow over (x)}U The user's position vector.
{right arrow over (r)}B,i The range vector from the base position to the i-th satellite (is this correct ?)
{right arrow over (l)}B The line-of-sight vector from the base position to the i-th satellite position.
{right arrow over (δ)}U={right arrow over (x)}U−{right arrow over (x)}B The displacement vector from the base position to the current user position.
xB The base user position. In the locally horizontal coordinate system it is the center (or 0-coordinate) of the system.
xU The user position on a solution line.
xUmin The point on the solution line closest to base position xB.
δ=x−xB The displacement from base position xB.
δU=xU−xB The displacement vector pointing to a point on a solution line.
δUmin=xUmin−xB The displacement vector pointing from xB to xUmin.
lB,i=(lB,ixlB,iylB,iz)T The line of sight vector at base location xB for the i-th satellite.
L The line of sight matrix for 3 satellites computed at xB.
M=(LLT)−1 The inverse of the symmetric product of matrix L.
P(Alarm) The probability of a geofence alarm, i.e. probability of a monitored object being outside of the geofence area.
Pmax L(Alarm) The probability measure of a geofence alarm based on maximum length L of the solution line interval bound by the geofence volume.
Pmax S(Alarm) The probability measure of a geofence alarm based on maximum area S of the piece of the solution plane bound by the geofence volume.
Δρ−r,i=ρi−rB,i The difference between the pseudorange at the current location and the true range at the base location for the i-th satellite.
εSL The elevation angle of the three satellite fix solution line in the user coordinate frame.
αSL The azimuth angle of the three satellite fix solution line in the user coordinate frame.
eΔH The horizontal error per 1 meter of altitude error in 2D Fix
Dupper The distance between the locally horizontal plane containing xB and the upper exclusion space.
Dlower The distance between the locally horizontal plane containing xB and the lower exclusion space.
x2 D,H(x
Three Satellite Geofence Method Using Exclusion Spaces
The combination of terrain and solution lines in
The above example shows that the application of a standard 2D fix to geofencing may result in false and missed alarms. On the other hand, if we use the solution line geofence volume intersection method, we'll find that in both cases of the above example the solution lines 51, 52 cross the sphere 50. We cannot tell whether the receiver is outside or inside the sphere, or 0<P(Alarm)<1. This outcome is probably better than the erroneous P(Alarm)=0 or P(Alarm)=1 outcomes computed by the 2D fix method in this example.
One can reduce the number of 0<P(Alarm)<1 outcomes, transforming some of them into P(Alarm)=0 and P(Alarm)=1 outcomes, by introducing user position exclusion spaces. An exclusion space is the space where the receiver can not possibly reside. Exclusion spaces truncate the solution line, transforming it into an interval. This interval can completely reside inside a geofence volume, making possible P(Alarm)=0 outcomes for solution lines having of 0<P(Alarm)<1 outcomes. This is not possible without exclusion spaces.
There are three possible cases: 1) The solution interval formed by the solution line 61 or 62 and the volume not found in the exclusion spaces 64, 65 is outside the geofence sphere 60. In this case, P(Alarm)=1. 2) The solution interval formed by the intersection of the solution line 64 and the volume not found in the exclusion spaces 64, 65 is both inside and outside the geofence sphere, 0<P(Alarm)<1. 3) The solution interval solution interval formed by the intersection of the solution line 63 and the volume not found in the exclusion spaces 64, 65 is completely inside the geofence sphere, P(Alarm)=0.
Other geofence volumes can be used instead of a sphere. Another practical geofence volume is a cylinder. The case is illustrated on
Combining Various Geofence Volumes and Exclusion Spaces
A large variety of geofence volume types and exclusion space types can be combined to suit the application and terrain. The border surface of an arbitrary exclusion space can be defined in a parameterized form, i.e., for a given latitude and longitude the altitude of the exclusion space surface point can be found as the interpolation of the nearest altitude points taken from the database of altitudes of the surrounding area. One of the methods to approximate an arbitrary surface is to fit the surface with a set of triangles, forming a triangulated irregular network. This technique is well known in the art. See, for example, U.S. Pat. No. 7,002,573 to Trotta et al., “Method and System for converting Engineering Data into 3D Modeling Data.”
Vertical Exclusion Spaces
In the two satellite case (discussed in copending application Ser. No. 11/692,665) the set of possible user positions is determined by a solution plane rather than a solution line. A solution plane cannot be bound with horizontal exclusion spaces only. Even with horizontal exclusion spaces there will be only two outcomes P(Alarm)=1 and 0<P(Alarm)<1. By introducing vertical exclusion spaces, intersecting a geofence volume from at least two sides, one can create a subset of solution planes such that a solution plane from the subset will completely lay inside the geofence volume and vertical and horizontal exclusion spaces. In that case the geofence computation outcome will be P(Alarm)=0.
The case of the receiver object with movement restricted by two parallel walls serves as the example of the vertical exclusion spaces occurrence.
Probability of Alarm Measure Definitions
In the case of the solution line bound by exclusion spaces, let
where Lbound is the length of the solution line bound by the exclusion spaces, Lgoef vol is the length of the solution line bound by a geofence volume.
In the case of the two satellite fix with the solution plane bound by vertical and horizontal exclusion spaces, let
where Sbound is the area of the solution plane bound by the exclusion spaces, Sgoef vol is the area of the solution plane bound by a geofence volume.
In the case of no exclusion spaces, let
where Lboundmax is the maximum possible length of the solution line's interval inside the geofence volume and Sboundmax is the maximum area of the solution plane's section inside the geofence volume.
It is desirable to select exclusion spaces of the maximum possible size, leaving as little open space as possible. That will reduce the number of 0<P(Alarm)<1 outcomes.
In the extreme case of a monitored object constrained to a plane (instead of a 3D area), the percentage of 0<P(Alarm)<1 outcomes will be 0. That is the equivalent of applying the 2D fix to geofencing. The industry standard 2D fix is the intersection of the solution line with a plane of known altitude. If it is possible to restrict the receiver to a plane and the altitude of the plane is known, then position is known. If position is known then P(alarm) must be either 0 or 1. Outcomes were 0<P(Alarm)<1 are possible when it is not possible to restrict the receiver to a plane in a three-satellite situation.
Geofence Problem with Negligible Geofence Radius
The discussion above assumes that geofence radius Rgeof is significantly greater than average horizontal position error ehzmean which is the mean value of horizontal errors caused by standard GPS signal error sources (pseudorange and orbital parameter errors). In geofence applications where a monitored object is not allowed to move at all, Rgeof=0. Then the geofence problem becomes the problem of finding position x2 D,H(x
D2D,B=|x2D,H(x
where Hhorz,2D is the HDOP equivalent for the 2D fix and F is a reliability factor. If the inequality holds, we declare P(Alarm)=0, otherwise, we declare P(Alarm)=1.
Calculating Point Coordinates and Distances of Interest
Calculation of point coordinates and distances for the use in the three satellite GPS fix geofence algorithms are provided below.
These calculations are based on the set of equations obtained in patent application (1)
ρi=ri,B+{right arrow over (δ)}U·{right arrow over (l)}i,B+bU, i=1,2,3 Eq. 6
or, using bold letters for vector notation
ρi=rB, i+δU·lB, i+bU Eq. 7
We can rewrite Eq. 7 as
δU·lB, i=ρi−rB, i−bU=Δp−r, i−bU i=1,2,3 Eq. 8
In Cartesian coordinates we can write a matrix equation
is the matrix with the rows containing line-of-sight vectors for 3 satellites;
is the displacement vector from the base position;
is the vector of pseudorange/range differences for 3 satellites;
is the vector of ones.
Solving Eq. 8 for δ we obtain:
δU=L−1Δρ−r−bUL−11 Eq. 14
and
xU=xB+L−1Δρ−r−bUL−11 Eq. 15
Equation 15 represents the equation of a straight line in 3D space in the parametric form with bU serving as the line's parameter.
Finding Minimum Distance from the Base Location to the Solution Line
The distance from the base position to the solution line is the minimum value of
|δU|=√{square root over (δUTδU)} Eq. 16
where
δUTδU=(L−1Δρ−r)TL−1Δρ−r−bU((L−11)TL−1Δρ−r+(L−1Δρ−r)TL−11)+bU2((L−11)TL−11) Eq. 17
M is defined as:
M=(L−1)TL−1=(LLT)−1 Eq. 18
It follows that:
δUTδU=(Δρ−rTMΔρ−r)−2(1TMΔρ−r)bU+1TM1bU2 Eq. 19
The minimum value of δTδ (instead of √{square root over (δTδ)}) is found by differentiating it by bU and equating to 0:
From Eq. 20 it follows:
Equation 23 represents the minimum distance to the solution line δUmin and point on the line xn closest to base position xB.
Finding the Intersection of a Solution Line with a Plane (Solution of 2D Fix Problem)
Starting with the plane equation in Hessian form:
(xU−xB)·nPl=δUnPl=−DPlane Eq. 24
where nPl is the normal to the plane vector, and DB is the distance from the base position to the plane.
In the Cartesian system the equation will look like
δU, xnx+δU, yny+δU, znz=−DPlane Eq. 25
Equation 8 can be rewritten in the form:
δU, xlB, ix+δU, ylB, iy+δU, zlB, iz+bU=Δρ−r,i i=1,2,3 Eq. 26
Equations 25 and 26 can be written in the matrix form:
Solving the equation results in:
ν=Λ−1θ Eq. 29
Note 1. In the case of the locally horizontal plane nx=ny=0; δz=−Dplane
Introducing:
this can be written
Ω=μφ Eq. 31
and solved thus
μ=Ω−1φ Eq. 32
Intersection of a Solution Line with a Sphere Centered in a Base Location
The geofence sphere equation with the centre in base location xB can be written as:
δx2+δy2+δz2=δTδ=Rgeof2 Eq. 33
Substituting δUTδU from Eq. 17 to Eq. 33:
Δρ−rTM Δρ−r−2(1T M Δρ−r)bU+(1T M1)bU2=Rsph2 Eq. 34
or
(1T M1)bU2−2(1T M Δρ−r)bU+(Δρ−rTM Δρ−r−Rsph2)=0 Eq. 35
The roots of this quadratic equation are:
When the expression under square root in Eq. 36 is 0, Eq. 36 becomes Eq. 21. The vectors from the base location to the intersection points with the geofence sphere can be expressed as
δ1,2sph=L−1Δρ−r−bU1,2sphL−11 Eq. 37
and intersection points are
x1,2sph=xB+δ1,2sph Eq. 38
Intersection of a Solution Line with a Geofence Cylinder
The geofence cylinder's equation in the coordinate system, with the centre in xB and the xy plane being a locally horizontal plane, can be written as
δx2+δy2=Rcyl2 Eq. 39
The xy projection of three dimensional vector δU (Eq. 11)
A partial inverse line of sight matrix
where îkj is the k-th row and j-th column element of the L−1 matrix. Eq. 14 can be used to express (δU)xy
(δU)xy=(L−1)xyΔρ−r−bU(L−1)xy1 Eq. 42
The geofence cylinder equation Eq. 39 can be rewritten as:
(δU)xyT(δU)xy=Rcyl2 Eq. 43
Note that Eq. 43 is identical to Eq. 33. This the conclusion follows that:
Using Eq. 17 displacement vectors from the base location to the intersection points with the geofence cylinder δ1cyl, δ2cyl can be expressed as:
δU 1,2cyl=L−1Δρ−r−bU 1,2cylL−11 Eq. 45
and intersection points are:
xU 1,2cyl=xB+δU 1,2cyl Eq. 46
Geofence Algorithms
Geofence algorithms for various geofence volumes and exclusion spaces are presented below. For simplicity, the user frame coordinate system with the centre in xB is assumed.
In each case, before using the solution line, one should check for the solution line's DOP and discontinue computation if the DOP is too high, greater than 7-10.
Geofence Sphere
An exemplary algorithm for determining whether a solution line is inside or outside a geofence sphere is as follows. The algorithm's parameters are illustrated in
1. Compute δUmin=|δUmin|
2. If δUmin>Rgeof, declare P(Alarm)=1, end.
3. Declare 0<P(Alarm)<1, end.
Geofence Sphere with Upper and Lower Exclusion Spaces
An exemplary algorithm for determining whether a solution line is inside or outside a geofence sphere, where the sphere is bounded by exclusion spaces is as follows. The algorithm's parameters are illustrated in
1. Compute δUmin=|δUmin|
2. If δUmin>Rgeof, declare P(Alarm)=1, end.
3. Find vectors δU,1sph and δU,2sph pointing to the intersections of the solution line with the geofence sphere. Assuming, δU,1zsph<δU,2zsph, if δU,1z<−Dlower and δU,2zsph>Dupper, declare P(Alarm)=0, end.
4. If the result of step 3 is not that P(Alarm)=0, then Declare 0<P(Alarm)<1, end.
Geofence Cylinder
An exemplary algorithm for determining whether a solution line is inside or outside a geofence cylinder is as follows. The algorithm's parameters are illustrated in
1. Compute expression taken from the expression under the square root in Eq. 44:
Dquadr=(1T MxyΔρ−r)2−(1T Mxy1)(Δρ−rTMxyΔρ−r−Rcyl2) Eq. 47
If Dquadr<0 (No real roots in Eq. 44), declare P(Alarm)=1, end.
2. Declare 0<P(Alarm)<1, end.
Geofence Cylinder with Upper and Lower Exclusion Spaces
An exemplary algorithm for determining whether a solution line is inside or outside a geofence cylinder is as follows. The algorithm's parameters are illustrated in
1. Compute expression taken from the expression under the square root in Eq. 44:
Dquadr=(1T MxyΔρ−r)2−(1T Mxy1)(Δρ−rTMxyΔρ−r−Rcyl2)
2. Compute vectors δ1cyl and δ2cyl from Eq. 45. Assuming δU,2zcyl>δU,1zcyl, if δU,2zcyl>Dupper and δU,1zcyl<−Dlower (both intersections with the cylinder occur in the exclusion spaces), declare P(Alarm)=0, end.
3. Declare 0<P(Alarm)<1, end.
Geofence Cylinder with Exclusion Spaces, 2D Fix Method.
This exemplary algorithm produces the same results as the immediately previous algorithm but computes different parameters. The parameters used in the algorithm are illustrated in
1. Compute 2D fixes at altitudes xB,z+Dupper and xB,z+Dlower.
2. Projecting the found points on a horizontal plane, find the distance between the 2D line passing through points (xupper, yupper), (xlower, ylower) and the xB projection (xbase, ybase). The distance is given by the formula
If R≧Rgeof declare P(Alarm)=1, end.
3. If Rupper<Rgeof and Rlower<Rgeof declare P(Alarm)=0, end.
4. Declare 0<P(Alarm)<1, end.
Generalized Geofencing Method
A generalized exemplary method for determining whether a GPS receiver is located within a geofence volume is illustrated in
At step 210 global positioning system signals are received from a plurality of GPS satellites;
At step 220, a solution set of possible receiver positions is calculated from the global positioning signals received in step 210;
At decision point 230, it is determined whether any portion of the solution set is within the geofence volume; and
If at step 230 it is determined that no portion of the solution set is inside the geofence volume, then at step 240 it is determined that the receiver is outside the geofence volume and P(Alarm)=1.
If at step 230 it is determined that some portion of the solution set is inside the geofence volume, then it can not be determined that the receiver is inside or outside the geofence volume and at step 250, 0<P(Alarm)<1.
The method is complete and ends at step 260 after either step 240 or 250.
Three Satellite Geofencing Method with Modeled Exclusion Space Boundaries
As in the generalized method, GPS signals are received and a solution set of possible receiver positions is calculated. For a three satellite case, the solution set is a line.
Referring to
If some portion of the solution line is inside the geofence, then at step 330, upper and lower exclusion spaces are defined with co-joined triangles, for example, in a triangulated irregular network. At step 340 the triangles that intersect the solution line are determined. If the solution line intersects more than one triangle in an exclusion space boundary, then the point of intersection closest to the base location is chosen. At decision point 360, it is determined whether the intersections of the solution line with the upper and lower exclusion space boundaries are both within the geofence volume. If they are, at step 370, P(Alarm) is set to 0, meaning that the receiver must be within the geofence. If either of the intersection points is outside the geofence, then at step 380, 0<P(Alarm)<1. On each case, the method steps end at step 390. In the case where 0<P(Alarm)<1, P(Alarm) can be estimated, as described above, by determining the portion of the solution set outside the geofence and inside the exclusion spaces versus the total portion of the solution set inside the exclusion spaces.
While the invention has been described in detail and with reference to specific examples thereof, it will be apparent to one skilled in the art that various changes and modifications can be made therein without departing from the spirit and scope thereof.
Number | Name | Date | Kind |
---|---|---|---|
3384891 | Anderson | May 1968 | A |
5452211 | Kyrtsos et al. | Sep 1995 | A |
5867122 | Zahm et al. | Feb 1999 | A |
5977909 | Harrison et al. | Nov 1999 | A |
7002573 | Trotta et al. | Feb 2006 | B2 |
20040039527 | McDonald et al. | Feb 2004 | A1 |
20050159883 | Humphries et al. | Jul 2005 | A1 |
20050203683 | Olsen et al. | Sep 2005 | A1 |
20050205719 | Hendrickson et al. | Sep 2005 | A1 |
20060100777 | Staton et al. | May 2006 | A1 |
20090231192 | van Diggelen et al. | Sep 2009 | A1 |
20100127919 | Curran et al. | May 2010 | A1 |
Number | Date | Country | |
---|---|---|---|
20090309789 A1 | Dec 2009 | US |