1. Field of the Invention
The present disclosure relates to sensing technologies. More specifically, the present disclosure relates to a method and system for locating devices using a mobile sensing infrastructure.
2. Related Art
Various local or indoor positioning systems (LPS) have been developed in recent years. The signal metrics for localization include Radio Signal Strength (RSS), Angle of Arrival (AOA), Time of Arrival (TOA), and Time Difference of Arrival (TDOA). One advantage of RSS-based localization is the low cost of hardware, since most buildings are equipped with wireless local area network (WLAN) with many existing access points (AP), while the disadvantages are its low accuracy (on the order of several meters) and lack of robustness in cluttered environments, the expensive, manual processes of surveying and/or fingerprinting of the environment.
There has been a long history of using ultrasound/acoustic TOA for localization. Ultrasound/acoustic TOA-based localization has better accuracy (approximately 10 cm), but also has relatively short ranges, narrow directionality, and limited robustness in cluttered environments. It is also difficult to produce transmission and receiving sensitivities which are omnidirectional along all three dimensions.
AOA sensors are typically built using a sensor array, i.e., with several receivers arranged in a certain pattern to detect signal phase shifts between them. Therefore, AOA sensors usually cost more than other types of sensor.
Ultra wideband (UWB) technology makes precise indoor localization possible due to its long range (which can extend as far as 100 m) and its high accuracy (on the order of 15 cm). Some UWB systems use TOA or TDOA signals with homogenous nodes. That is, each node has a transmitter and a receiver, and can sense the distance from neighboring nodes within certain range. Other UWB systems may contain two types of nodes: UWB tags and sensors. Tags are UWB transmitters, do not generally have the ability to process data, and generally cannot communicate with each other. Sensors typically include an array of UWB receivers configured to obtain an AOA, consisting of yaw and pitch bearings from the receiver to a tag.
Typically, transmitters can be light and small. AOA sensors, on the other hand, are often heavier and larger. The cost of UWB tags is typically much lower than that of UWB sensors.
In conventional sensing systems, typically a set of fixed, calibrated UWB sensors in precisely known positions detect a mobile tag's signal. The host computer processes the data from UWB sensors and calculates the locations of the mobile tags. In most applications, the UWB sensors are stationary and permanently installed, while the UWB tags are mobile and tracked by the sensors whenever they are within the sensing range of the sensors. However, such a configuration typically requires a number of expensive UWB sensors, and the installation and calibration of these sensors can be very costly.
One embodiment of the present invention provides a system that locates a set of static target transmitting mechanisms using a mobile sensing infrastructure. During operation, the system determines a reference frame of a sensing mechanism by detecting signals of at least two transmitting mechanisms. The system further determines locations of any other target transmitting mechanisms relative to the reference frame using the sensing mechanism. In addition, the system produces a result to indicate the locations of the target transmitting mechanisms.
In a variation on this embodiment, a transmitting mechanism includes an ultra-wideband transmitter. The sensing mechanism includes one or more ultra-wideband receivers.
In a variation on this embodiment, the sensing mechanism comprises at least two receiver modules placed in pre-determined positions relative to each other. Each receiver module is configured to detect an angle of arrival (AOA) of a signal from a transmitting mechanism.
In a variation on this embodiment, determining the location of target transmitting mechanism involves computing a set of x, y, and z coordinates based on the respective AOA of a signal from the target transmitting mechanism detected by each receiver module in the sensing mechanism.
In a variation on this embodiment, the sensing mechanism can be mobile.
In a further variation, determining the location of the target transmitting mechanism involves relocating the sensing mechanism, so that signals from the target transmitting mechanism and at least one transmitting mechanisms can be detected at the same time, wherein the locations of the at least one transmitting mechanism relative to the reference frame is known.
In a variation on this embodiment, the target transmitting mechanism is attached to an object. The system determines the location of the transmitting mechanism. Further, the system produces a result to indicate a dimension and/or location of the object based on the location of the transmitting mechanism attached to the object.
In a further variation, determining the location of each of the additional transmitting mechanism involves detecting simultaneously a signal from at least one transmitting mechanism the location of which relative to the reference frame have been determined.
In a variation on this embodiment, the target transmitting mechanism is attached to an object. Furthermore, the result produced indicates the location of the object.
In a variation on this embodiment, the system uses a number of measurements of the AOA data from the set of transmitting mechanisms, and refines the locations of the transmitting mechanisms based on the measurements.
In a variation on this embodiment, the system uses the transmitting mechanisms as a location infrastructure to track mobile sensors after the transmitting mechanisms are localized.
TABLE I presents a pseudo code for the leap frog computation in accordance with one embodiment of the present invention.
The following description is presented to enable any person skilled in the art to make and use the invention, and is provided in the context of a particular application and its requirements. Various modifications to the disclosed embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other embodiments and applications without departing from the spirit and scope of the present invention. Thus, the present invention is not limited to the embodiments shown, but is to be accorded the widest scope consistent with the claims.
The data structures and code described in this detailed description are typically stored on a computer-readable storage medium, which may be any device or medium that can store code and/or data for use by a computer system. This includes, but is not limited to, volatile memory, non-volatile memory, magnetic and optical storage devices such as disk drives, magnetic tape, CDs (compact discs), DVDs (digital versatile discs or digital video discs), or other media capable of storing computer readable media now known or later developed.
Overview
Embodiments of the present system provide a system that localizes tags from a mobile UWB sensor base. This arrangement reduces the infrastructure cost of building a smart space or can be used as disposable ad-hoc deployment of location systems for emergency response in disastrous environments. Such a system also better protects the user's privacy (the computation of locations at the user's end) and can obtain orientations of the sensor in addition to 3D positions (a useful feature for hand-held cameras). The static tags can be standalone, or embedded into devices (such as RFID, lights and switches, etc.) so that the locations of these devices are obtained (rather than measured and entered the system by hand) to facilitate management and to provide location-based services. The mobile sensor base and non-embedded tags can be reused for localizing tags in other spaces.
The mobile base includes at least two sensors mounted in fixed positions relative to each other. In one embodiment, both sensors have faces aligned in a vertical plane; there is a fixed distance between them and both have zero pitch and roll angles. The base can move in a 2D plane: X, Y, yaw. Vertical motion in Z direction is also possible and is useful if sensors are vertically positioned. In one embodiment, the mobile base also has a host computer and an Ethernet switch, through which both the sensors and the host computer are coupled. To localize tags, the mobile base is moved around in the space of tags, and AOA data between the tags and sensors are obtained over time. Note that only subsets of the tags need to be sensed simultaneously.
Conventional mobile-assisted localization (MAL) systems rely on distance rather than angle inputs. Embodiments of the present invention exploit constraints of AOA between sensors and tags, which result in closed-form solutions. The uniqueness of this system, compared with other MAL systems, in addition to the use of AOA data and asymmetric tag/sensor combination, is the structured mobile platform (two sensors in a fixed position) and constrained motion of the platform (four instead of six degrees of freedom).
Data Characterization
In order to understand the noise characteristics of the detected UWB data, a series of experiments have been conducted. Embodiments of the present invention provide a robust data extraction mechanism that operates with a continuous source of input data.
We first study the horizontal (yaw: α) and vertical (pitch: β) angle variations given a static pair of a sensor and a tag. A sensor and a tag are placed in a fixed position, and AOA data is collected in a given time period. Although details depend on the relative positions of the sensor and the tag, it is observed that the error distributions for yaw and pitch with respect to the mean are very similar.
To reduce variations in angle readings, the system averages multiple data readings from a tag's stable position.
The AOA input to our algorithm is a continuous series of data points, with each entry the following information is collected: timeslot, sensor, tagID, α, β. timeslot is the timeslot in which the data is collected (in one embodiment, one slot is about 1/40 seconds). sensor and tagID indicate from which pair of UWB sensor and tag the data is collected, respectively. α and β are the pitch and yaw angles, respectively. Although in a stable position the angle variations are small in general, the readings can be less reliable when sensors are moving. It is important to detect a set of stationary points from a continuous input, where the data are relatively stable.
In one embodiment, the system segments the input data so that consecutive data points with both α and β variations less than ε are grouped. Only groups with the number of data points more than N are kept. In one embodiment, the system sets ε=0.05 and N=5. Each group has a starting timeslot s and ending timeslot e, and an average α and β in the period of [s, e].
After grouping data points for each tag/sensor pair, the next step is to find a common set of data points consistent for all tag/sensor pairs. Such a set of points corresponds to the set of stationary positions in the trajectory of the mobile sensor platform. Let the start and end time of a period associate with a left and right parenthesis, respectively. The system first orders all the parenthesis along the time line and then searches for periods with balanced left and right parenthesis.
After obtaining the set of data points corresponding to the set of stationary points of the mobile platform, the system can obtain two angle matrices, α and β, where α(i,j,k) and β(i,j,k) are the angles of yaw and pitch, respectively, from tag i to sensor j at k'th time period. If tag i is out of range of sensor j at time k, α(i,j,k) and β(i,j,k) are set to be inf. The α and β matrices are the input to the localization computation described in the next section.
Localization Computation
Sensor/Tag Locations and AOA
Each sensor has six degrees of freedom in space: xs, ys, zs, a, b, r where xs, ys, zs are the 3D coordinates and a, b, r are yaw, pitch and roll angles, respectively. In one embodiment, it is assumed that r=0 and tags are omnidirectional with xt, yt, zt locations. Each sensor has its own reference frame, which is within the range of detection of a sensor. The position of a tag in a sensor's reference frame uniquely determines the AOA: yaw and pitch (see
xts sin(α)−yts cos(α)=0 (1)
xts sin(β)−zts cos(β)cos(α)=0 (2)
Given a sensor's position xs, ys, zs, a, b, and a tag's position xt, yt, zt, in a global reference frame, the tag's position within the sensor's reference frame, xts, yts, zts, can be obtained by:
where T is the rotational transformation matrix for the sensor frame:
Using these of equations, one can compute a tag's location xt, yt, zt given the AOA data from two sensors with known locations (four equations, three unknowns). Or one can compute a sensor's orientation (yaw and pitch) given the AOA data from a fixed-location tag (two equations, two unknowns).
One problem an embodiment of the present invention aims to solve is to localize a set of static tags in 3D space. At least two sensors are mounted on a mobile cart in fixed positions relative to each other. In one embodiment, (see
Let the first cart position be the global reference frame. Each new cart position adds four unknowns. If k tags can be “seen” at a cart position, 4k more equations are added. Let n be the total number of tags and m be the number of extra cart positions. There are 3n+4m unknowns and 4k(m+1) equations. One may solve the set of equation for the unknowns if
4k(m+1)≧3n+4m. (5)
The number of cart positions is only one factor for solving the equations. Another factor is the connectivity of the overall tag/sensor pairs. Note that in this disclosure, “being connected” is used in a graph-theory sense, and does not necessarily mean being physically contacting. Here, a tag is considered connected to a sensor at a position if it can be seen by the sensor at that position.
There are 2(m+1) sensor nodes and n tag nodes for m positions and n tags, which constitute a bipartite graph. Such a graph has to be at least connected to have all coordinates in the same reference frame. For example, if three tags are seen by the sensors in the first cart position, and a totally different three sensors are seen by the sensors in the second cart position, one cannot obtain the six tag locations in one reference frame, although 4×3×2≧3×6+4. Let c≧1 be the minimum number of tags in common for a new location. Given n tags and at most k tags can be seen at a time, ideally the following inequality is met:
k+(k−c)m≧n. (6)
In the previous example, we have 3+(3−1)<6.
Given the input data α and β, the system first filters out “bad” cart positions. A cart position is “bad” if it has no more than two tag connections. The system removes such cart positions since each position adds four variables and one pair of sensor/tag connection adds two equations. A “good” cart position, in contrast, adds at least as many equations as variables.
Closed-Form Solutions
We can plug the data α and β into the equations (1)-(4) in the previous section, and use a nonlinear solver to find the solution. However, since the constraints are nonlinear and the size of the problem is large (4k+3n variables for k positions and n tags), one may not find the solution in practice. However, due to the special configuration of the sensor platform, the system can obtain a complete or partial solution using a set of linear equations. The procedure includes two components: from sensors to tags, and from tags to sensors.
From Sensors to Tags
In the two-sensor embodiment, given a position of the two sensor frame (see
Let λ1 and λ2 be distances from a tag to the two sensors in the XY plane, respectively, we have
x1=x1+λ1 cos(α1+a) (7)
y1=y1+λ1 sin(α1+a) (8)
x1=x2+λ2 cos(α2+a) (9)
y1=y2+λ2 sin(α2+a). (10)
From
λ1 cos(α1+a)−λ2 cos(α2+a)=x1−x2=d sin(a)
λ1 sin(α1+a)−λ2 sin(α2+a)=y1−y2=−d cos(a)
one can solve for λ1 and λ2. Plugging these values in Eq. (7) and (9), we have
Using equations
This approach can be extended to systems with greater numbers of sensors and/or different sensor placements using similar techniques.
From Tags to Sensors
In the two-sensor configuration, if the pair of sensors can see a couple of tags with known positions, the sensor frame position x, y, z, a can be obtained. Let αik and βik be yaw and pitch angles from tag i to sensor k, respectively; and let λik be the projected distance from tag i to sensor k on the XY plane. If a tag i can be seen by both sensors, we have
−λi1 sin(αi1)+λi2 sin(αi2)=d
λi1 cos(αi1)−λi2 cos(αi2)=0
The system can compute λi1 and λi2. Given a pair of tags i and j, and a sensor at xk, yk, zk, a, where k=1 or 2, we have
xk=xi−λik cos(αik+a) (11)
yk=yi−λik sin(αik+a) (12)
xk=xj−λjk cos(αjk+a) (13)
yk=yj−λjk sin(αjk+a) (14)
and
xj−xj−λik cos(αik+a)+λjk cos(αjk+a)=0 (15)
yi−yj−λik sin(αik+a)+λjk sin(αjk+a)=0. (16)
(15)·cos(a)+(16)·sin(a) produces:
(xi−xj)sin(a)−(yi−yj)cos(a)=−λik sin(αik)+λjk sin(αjk).
If a sensor sees n tags, there are 2(n−1) linear equations with two variables cos(a) and sin(a). When n≧2, once can solve the set of linear equations and obtain cos(a) and sin(a). Therefore,
Using Eq. (11) and (12) for each tag i, we have
x1i=xi−λi1 cos(αi1+a)
y1i=yi−λi1 sin(αi1+a)
x2i=xi−λi2 cos(αi2+a)
y2i=xi−λi2 sin(αi2+a)
and
z1i=zi−λi1 tan(βi1).
z2i=zi−λi2 tan(βi2)
Therefore, the estimated locations for sensors 1 and 2 seeing n tags are
respectively. The center of the sensor frame is at
This approach can be extended to systems with greater numbers of sensors or different sensor placements using similar techniques.
Leapfrog Computation
Let the first cart position be the reference frame, the leapfrog computation alternates the computation of tags positions and cart positions, until all the locations are obtained. The pseudo code is shown in shown in Table 1.
Optimization-Based Computation
One embodiment of the present invention employs optimization-based computations to minimize the least-square errors for all equations.
Let ek=0 be an equation from one tag/sensor pair. One can minimize ½Σkek2 for all tag/sensor pairs. In one embodiment, the system uses the constrained optimization, where constraints are ranges for locations ([−bound, bound]) and angles [−π,π]).
The system can adopt two variations of this approach. The first variation (denoted as “LSLeapfrog”) involves applying the optimization procedure at each of the leapfrog steps, i.e., at each step, from sensors to tags or from tags to sensors, using the closed-form solution first and then applying the least-squares minimization with the closed-form solution as the initial value. The second variation (denoted as “LeapfrogLS”) uses the original leapfrog solution as the initial value for least-squares minimization of all equations.
The following examples illustrate the localization performance in two scenarios: (1) Wall: tags are put on four walls of a room, and (2) Hallway: tags are distributed along two walls of a narrow hallway. A total of 12 tags are used, in an area bounded by [−150,150].
The distance between the pair of sensors are assumed to be 25 or 40, and the angle noise is added by a uniform distribution in [−m, m] where m is 0, 0.01 or 0.02.
The three computation methods presented in the previous section are compared in terms of average tag location accuracy. The estimation error for one tag is the distance between the true and estimated locations. The location accuracy is the average estimation errors for all tags.
Application and Implementation
In one embodiment, a user can attach one or more tags to an object and use the aforementioned system to localize the tags. Based on the localization information of the tags, the user can then obtain the dimension and/or location information of the object. Note that there is not limitation with respect to the size and location of the object, so long as the initial reference frame of the sensor system is calibrated properly. For example, the object can be a lamp, a piece of equipment, or a building.
In further embodiments, one can use the tags the locations of which have been determined as an infrastructure to detect the location of mobile sensors. That is, a number of fixed tags form a reference frame, and by detecting the relative position of the mobile sensors to the fixed tags, one can determine the location of the sensors.
Storage device 1208 stores a tag localization application 1216, and applications 1220 and 1222. In addition, tag localization application 1216 contains a Leapfrog computation module 1218, which performs the Leapfrog computation to determine the locations of a plurality of tags. During operation, tag localization module 1216 is loaded into memory 1206 and executed by processor 1204. Note that computer system 1202 can be coupled to the Internet, through which the tag-location information can be shared among different computer systems.
The foregoing descriptions of embodiments of the present invention have been presented only for purposes of illustration and description. They are not intended to be exhaustive or to limit the present invention to the forms disclosed. Accordingly, many modifications and variations will be apparent to practitioners skilled in the art. Additionally, the above disclosure is not intended to limit the present invention. The scope of the present invention is defined by the appended claims.
Number | Name | Date | Kind |
---|---|---|---|
5793630 | Theimer et al. | Aug 1998 | A |
6046683 | Pidwerbetsky et al. | Apr 2000 | A |
6084512 | Elberty et al. | Jul 2000 | A |
6259406 | Sugiura et al. | Jul 2001 | B1 |
6342854 | Duffett-Smith et al. | Jan 2002 | B1 |
6456239 | Werb et al. | Sep 2002 | B1 |
6473038 | Patwari et al. | Oct 2002 | B2 |
6583761 | Angermeier et al. | Jun 2003 | B1 |
6674403 | Gray et al. | Jan 2004 | B2 |
7030761 | Bridgelall et al. | Apr 2006 | B2 |
7081818 | Eckstein et al. | Jul 2006 | B2 |
7102537 | Inoue et al. | Sep 2006 | B2 |
7312752 | Smith et al. | Dec 2007 | B2 |
7502619 | Katz | Mar 2009 | B1 |
20020122003 | Patwari et al. | Sep 2002 | A1 |
20030119523 | Bulthuis | Jun 2003 | A1 |
20030130793 | Patwari et al. | Jul 2003 | A1 |
20050030160 | Goren et al. | Feb 2005 | A1 |
20050042999 | Rappaport | Feb 2005 | A1 |
20060114104 | Scaramozzino | Jun 2006 | A1 |
20060132352 | Schantz et al. | Jun 2006 | A1 |
20060159307 | Anderson et al. | Jul 2006 | A1 |
20070247316 | Wildman et al. | Oct 2007 | A1 |
20080055158 | Smith et al. | Mar 2008 | A1 |
20080143482 | Shoarinejad et al. | Jun 2008 | A1 |
20080157970 | Single et al. | Jul 2008 | A1 |
20080186231 | Aljadeff et al. | Aug 2008 | A1 |
20080204322 | Oswald et al. | Aug 2008 | A1 |
20080224869 | Kaplan | Sep 2008 | A1 |
20080252422 | Dowla et al. | Oct 2008 | A1 |
Number | Date | Country |
---|---|---|
19647098 | Jun 1998 | DE |
Number | Date | Country | |
---|---|---|---|
20080291024 A1 | Nov 2008 | US |