Trilateration is the process of using geometry to estimate the position of the mobile device using estimated distances traveled by the different “positioning” or “ranging” signals that are received by a mobile device from the different transmitters, satellites, or other types of beacons of a particular positioning network. If position information like the transmission time and reception time of a positioning signal from a beacon are known, then the difference between those times multiplied by speed of light would provide an estimate of the distance traveled by that positioning signal from that beacon to the mobile device. Different estimated distances corresponding to different positioning signals from different beacons in that positioning network can be used along with position information like the locations of those beacons to estimate the position of the mobile device. Positioning systems and methods that estimate a position of a mobile device (in terms of latitude, longitude and/or altitude) based on positioning signals from beacons (e.g., transmitters, and/or satellites) and/or atmospheric measurements are described in co-assigned U.S. Pat. No. 8,130,141, issued Mar. 6, 2012, and U.S. Patent Application Publication No. US 2012/0182180, published Jul. 19, 2012.
Many known approaches for estimating the position of a mobile device use a single positioning network that provides a position estimate with a particular accuracy and a particular level of certainty. However, as described in the disclosure that follows, improved accuracy and certainty can be achieved using information from two or more positioning networks.
As discussed further below, it is possible to achieve more-accurate position estimates of greater certainty by combining position estimates from different positioning technologies, or using positioning information (e.g., a position estimate, an uncertainty metric) of one positioning technology to improve the position estimate of another positioning technology.
Different types of embodiments described in this disclosure can be used to estimate the position of a mobile device using position estimates and signaling from different sources. Embodiments disclosed herein provide various advantages, including improved accuracy and certainty for estimated positions of mobile devices.
In a first type of embodiment described in further detail below, position estimate(s) from a first positioning technology are used to perform receiver autonomous integrity monitoring (RAIM) on pseudoranges that are computed using signaling of a second network. The acceptable accuracy of the first positioning technology depends on the environment (e.g., better than 10 meters for rural environments, 20 meters for sub-urban environments, and 30 meters for urban environments). If a position estimate from the first positioning technology is available and is within the desired accuracy based on the environment, that position estimate can be used to determine which pseudorange(s) of the second technology are consistent with the position estimate. Any pseudorange is that is not consistent with the position estimate can be removed from consideration or adjusted before consistent or adjusted pseudoranges are provided to a particle filter for computing an estimate of the mobile device's position using the provided pseudoranges.
In a second type of embodiment described in further detail below, different position estimates from different positioning technologies are combined.
In a third type of embodiment described in further detail below, location information from a first positioning technology is used to modify the weights of different position estimate hypotheses (e.g., weights, or particles in a particle filter) used by a second positioning technology. For example, given an LLA (Latitude, Longitude, Altitude) estimate with a particular level of uncertainty from the first positioning technology, particles in a particle filter of the second positioning technology are re-weighed by replacement weights or adjustments to previous weights so particles that are closer to the LLA estimate are weighed higher than particles that are comparatively further away from the LLA estimate. In some implementations, the new weights will depend on the level of uncertainty in the LLA estimate from the first positioning technology.
Attention is initially drawn to an operational environment 100 illustrated in
Each of the transmitters 110, the local beacons 160, and the mobile device 120 may be located at different altitudes or depths that are inside or outside various natural or manmade things (e.g. buildings) 190. Positioning signals 113, 153, or 163 are respectively generated and transmitted by the transmitters 110, the satellites 150, or the beacons 163 using known approaches, and also received and processed by the mobile device 120 using known approaches. The mobile device 120 may take different forms, including a mobile phone, a tablet, a laptop, a tracking tag, a receiver, or another suitable device that can receive and process the positioning signals 113, 153 and/or 163.
Different approaches for estimating a position of a mobile device are provided below.
If a position estimate from the one positioning technology is available to a mobile device 120, and is within a desired accuracy based on the environment of the mobile device 120, that position estimate can be used to identify one or more inaccurate pseudoranges that were computed using another positioning technology. The identified pseudoranges can be corrected, and those corrected pseudoranges can be used to compute an estimated position of the mobile device. Alternatively, the identified pseudoranges can be ignored such that the ignored pseudoranges are not used to compute an estimated position of the mobile device.
One embodiment for identifying pseudorange(s) to correct before use in computing an estimated position of a mobile device is shown in
A first positioning technology (e.g., satellite network or terrestrial transmitter network) is used to estimate N pseudoranges p1
A second positioning technology (e.g., another satellite network or terrestrial transmitter network, Wi-Fi network, Bluetooth network, or other) is used to compute a first estimated position pest of the mobile device, and also to compute an uncertainty metric τext2 (also referred to herein as a confidence interval or a confidence metric) of the first position estimate pest (220).
N distances d1
Known approaches may be used to compute the N pseudoranges p1
For each computed pseudorange pn (for n=1 through N) for a respective transmitter Tn, a pseudorange error Perror_n is computed as the difference between that computed pseudorange pn and the corresponding distance dn for the respective transmitter Tn (240). A vector of the pseudorange errors Pkerror with number of elements equal to the number of transmitters seen by the mobile device may also be computed.
For each computed pseudorange error Perror_n (for n=1 through N) a pseudorange correction Pcorrection_n is computed as f(σext2)(Perror_n) where f(σext2) is a global scale factor (250). By way of example, if the uncertainty of the first position estimate pest is low, meaning the estimate is highly reliable, f (σext2) can be set close to 1; if the uncertainty is high, meaning the estimate is not highly reliable, f (σext2) can be chosen as a small number that is less than 1 and approaches zero as the uncertainty increases. If the vector of the pseudorange errors Pkerror is computed, a pseudorange correction Pkcorrection can be computed as Pkcorrection=f(σext2)(Pkerror).
For each computed pseudorange pn (for n=1 through N), a corrected pseudorange p′n is computed as the difference between that computed pseudorange pn and the corresponding pseudorange correction Pcorrection_n (260) (e.g., p′n=pn−Pcorrection_n). If the vector of the pseudoranges Pk is computed, a corrected vector of the pseudoranges P′k . . . is computed as P′k=Pk−Pkcorrection).
The corrected pseudoranges p′n (for n=1 through N) are then used in a trilateration algorithm to compute an estimated position of the unknown position of the mobile device. Known approaches may be used to compute the estimated position using the corrected pseudoranges p′n in a known trilateration algorithm.
Assuming a scenario where a user with a mobile device is walking, one can continue to use the first position estimate that is determined at time t for all the position estimates obtained at time t+1, t+2, . . . , t+T, where T is chosen based on the speed with which the position mobile device is moving. As an example, if T=5 seconds is chosen, the assumption is that because the mobile device is moving at a slow speed (walking), the first position estimate determined 5 seconds ago might still be reliable, and therefore can be used to estimate and apply pseudorange corrections.
The process of estimating and using the pseudorange corrections for the next few time instances becomes more reliable if the positioning mobile device has inertial sensors (e.g., an accelerometer, a gyro, an e-compass), and has access to the velocity from those sensors and quality of velocity based on sensor platform configuration (e.g., in pocket, held-in-hand, hip-mounted, kept on desk, docked, etc.).
Discussion above for
In some scenarios, a mobile device receives multiple position estimates and respective uncertainty metrics using k different positioning technologies. An example of such a scenario is shown in
By way of example, a kth position estimate xk computed using the kth technology can be a three-dimensional vector such that xk=[Latitudek, Longitudek, Altitudek], while the uncertainty metric ak computed using the kth technology can be a number reflecting the accuracy of the kth position estimate xk. Different position estimates x1, x2, . . . xK can be combined to compute a new position estimate as described below.
One embodiment for combining position estimates from K different positioning technologies is shown in
The steps of determining weights w1, w2, . . . wK (330) and determining the final position estimate {circumflex over (x)} (340) can be designed with the objective that the final position estimate {circumflex over (x)} is optimal. One way to formulate the optimization problem is to determine the final position estimate {circumflex over (x)} such that it maximizes a joint probability density function, or a maximum likelihood function, such as:
max{circumflex over (x)}P(x1, x2, . . . xn|{circumflex over (x)}) (Equation 1).
The solution to Equation 1, and hence the design of the steps of determining weights w1, w2, . . . wK and determining the final position estimate {circumflex over (x)} depends on assumptions taken on the data being used.
One common assumption is to treat the data as Gaussian distributed, which results in the solution below:
As a result, the final position estimate {circumflex over (x)} is the weighted average of the position estimates obtained from all positioning technologies.
One implementation for combining position estimates computed using different positioning technologies under a Gaussian assumption of Equation 2 is depicted in
For each variance 1/σ2k, a weight wk is determined as a ratio of the individual variance 1/σ2k to the total variance α, where wk=(1/σk2)/α. The final position estimate {circumflex over (x)} is computed as the sum of each individual position estimate pk scaled by its weight wk.
Another assumption is to treat the data as Laplacian distributed, and to use a weighted median, which results in the solution below:
Use of a weighted median can reject more outliers than a weighted average. By way of example, a weighted median function can be implemented as follows in pseudocode:
Therefore, the weighted median can be used to compute the final position estimate {circumflex over (x)} by combining estimates from all positioning technologies. One implementation for combining position estimates computed using different positioning technologies under a Laplacian assumption and a weighted median of Equation 3 is depicted in
As shown in
Under some circumstances, an uncertainty metric provided by a positioning technology does not represent of the actual position error. Under such circumstances, a dedicated training phase may be performed where data is collected from several locations where ground truth is known, and then actual position error is calculated in order to determine a ‘mapping’ function that would adjust the uncertainty metric provided by the positioning technology to a new estimated uncertainty metric which is more closely representative of the actual position error.
One embodiment for determining a mapping function is shown in
As shown in
Examples of different approaches for determining a mapping function for a positioning technology, and for using the mapping function to determine a corrected metric are provided below.
One approach assumes that the kth mapping function determined for the kth positioning technology has a ‘slope-intercept’ form, such as:
σ′=ασ=β (Equation 4).
where σ is the kth uncertainty metric reported by the kth positioning technology, σ′is the variance of the error from the kth positioning technology, and α and β are coefficients that map σ to σ′for the kth positioning technology. Reference herein to a “multiplied coefficient” refers to α, and reference herein to an “added coefficient” refers to β. The coefficients α and β can be estimated for a positioning technology using different approaches described below.
By way of example, the coefficients α and β of the above mapping function can be estimated by collecting M sets of measurements reported by the kth positioning technology, where each set of measurements m includes an mth position estimate, an mth uncertainty metric σm, and an mth error em (which is calculated based on distance between the mth position estimate and known ground truth). Assuming that the resulting error is Gaussian distributed, one can use a Maximum Likelihood (ML) approach to estimate the coefficients, as shown below:
Estimation of the coefficients α and β is independently performed for any of the K positioning technologies that provide suitable measurements (e.g., position estimates, uncertainty metrics, and errors).
Another approach for estimating the coefficients α and β of the above mapping function uses an exhaustive search. By way of example, when training data (e.g., position estimates and uncertainty metrics collected at known ground truths) is collected for each positioning technology k of K positioning technologies, the following process is followed for every integer t from 1 to T (e.g., T=1000): (a) choose a set of parameters {αk(t), βk(t)} for each positioning technology k, where the parameters for each positioning technology are determined using Equation 5; (b) for every training data point i (e.g., ground truth along with position estimates and uncertainty metrics of the positioning technologies), (i) compute a corrected uncertainty metric as
σkv(i)=αk(t)σk(i)+βk(t) (Equation 6)
for each positioning technology k, (ii) compute a combined position estimate by combining the position estimates from all the positioning technologies for the ith data point as
{circumflex over (x)}
(i)=optimal_combining(x1(i), . . . , xn(i), {tilde over (σ)}1(i), . . . , {tilde over (σ)}n(i)) (Equation 7)
where the optimal combining method uses Equation 3, and (iii) determine the position error for the ith data point by comparing the computed position estimate {circumflex over (x)}(i) against the ground truth for the ith data point, and store computed position error in an array of position_errors(i); and (c) determine the 80th percentile (or some other statistic) of the array of numbers position_errors and save it in an array of numbers as position_error_stats(t). After the position_error_stats(t) array of numbers is determined, determined a value of t such that
t=min(position_error_stats) (Equation 8)
and choose the corresponding {αk, βk}′s the correction coefficients for the positioning technologies k=1, . . . , n.
Yet another approach for determining the coefficients α and β of the above mapping function uses a least squares fit based on the training data, where the least squares fit method uses the array of position error estimates and finds the coefficients for which the minimum mean squared error (MMSE) is obtained.
A position filter with multiple hypotheses can utilize the knowledge of various factors like location environment, source of aiding information, and location platform to adjust the estimated uncertainty correction parameters. The factors for adjusting the uncertainty metric of an estimate can depend on the deployment of the aiding technology. By way of example, deployment of a position technology (e.g., WiFi) can have varying accuracy in different regions defined by a polygon. These polygons can be associated with different morphologies (e.g., dense urban, urban, sub-urban, rural) or buildings or venues which may have different positioning quality for a given technology.
As shown in
The user context can be determined using information from different sensors available on a user device. Different user context like motion (e.g,. stationary or moving), indoor or outdoor position, or other user contexts can be determined using information from sensors like a GNSS receiver, WiFi, Cell-Id, and inertial sensors. The knowledge of user context can be used to determine the confidence of the location information used in aiding.
User motion (e.g,. stationary or moving) can be detected using the GNSS speed information or inertial sensors (accelerometers) information. If the speed from GNSS receiver is above a threshold (e.g,. 0.5 m/s), then the user can be considered to be in motion. Similarly, if the combined acceleration is greater than gravity by a threshold (e.g,. 1 m/s), then user can be considered in motion.
Another user context is to determine is whether the user is indoor or outdoor. This can be determined using information from a GNSS receiver like signal strength of the GNSS satellites, number of satellites tracked compared to visible ones, number of WiFi access points seen and their RSSI information. In one embodiment, the user is considered to be outdoor when the GNSS receiver is able to track a significant percentage of visible satellites (e.g,. more than 75%) with power level generally observed in outdoor conditions (e.g,. higher than −150 dBm).
Barometer data coupled with location information can be used to determine whether the user is on ground floor or in a higher floor.
The information of user context permits utilizing appropriate location information source for aiding.
In a third type of embodiment described in further detail below, location information from a first positioning technology is used to modify the weights of different position estimate hypotheses (e.g., weights or particles in a particle filter) used by a second positioning technology. For example, given an LLA estimate with a particular level of uncertainty from the first positioning technology, particles in a particle filter of the second positioning technology are re-weighed by replacement weights or adjustments to previous weights so particles that are closer to the LLA estimate are weighed higher than particles that are comparatively further away from the LLA estimate. The new weights will depend on the level of uncertainty in the LLA estimate.
For the purposes of this section, external location information implies a position estimate received from a first type of positioning technology that is different than a second type of positioning technology used for computing a final estimated position of the mobile. By way of example, the first type of positioning technology may be a Wi-Fi positioning network or a Bluetooth positioning network, and the second type of positioning technology may be a satellite positioning network or terrestrial positioning network like those described in co-assigned U.S. Pat. No. 8,130,141, issued Mar. 6, 2012, and U.S. Patent Application Publication No. US 2012/0182180, published Jul. 19, 2012. The position estimate may instead be the resultant position estimate computed by combining multiple position estimates as described elsewhere herein (e.g., with respect to
The approaches described below can be applied to any multiple-hypothesis position filter, including a particle filter or a bank of Kalman filters. For purposes of illustration, a particle filter is used as an example in the following description, but the concepts of the following description apply to any multiple-hypothesis position filter.
By way of example, the following processing steps typically occur when a mobile device's position is estimated using a multiple-hypothesis positioning filter, such as a particle filter. The mobile device is started. Signaling data is received from multiple transmitters (e.g., satellites or any other transmitters whose transmitted data can be used to estimate a range or pseudorange, as is known in the art). The signaling data is processed using a ranging function to estimate the time of arrival (TOA) between respective transmitters and the mobile device, along with uncertainty metrics of the estimated TOAs. The TOAs and the uncertainty metrics are inputted to a single-shot positioning function to compute an estimated position of the mobile device. A grid of points in two (horizontal) or three (horizontal x vertical) dimensions is assumed, where the grid of points can be evenly or un-evenly spaced, where each point represents a hypothesis that the mobile device is located at that point, and where the probability of each hypothesis to be true is initially uniform. By way of example,
The example of a multiple-hypothesis position filter described above provides useful position estimates for the mobile device. However, improved position estimates from multiple-hypothesis position filters are possible by using external location information from another positioning technology to modify the weights of different position estimate hypotheses, as described below.
One embodiment for using location information from a first positioning technology to modify the weights of different position estimate hypotheses of a second positioning technology is shown in
As shown, a first position estimate (latext, longext) and a corresponding first uncertainty metric (uext) from the first positioning technology are determined using known approaches (1010). In some embodiments, the first position estimate may instead be the resultant position estimate computed by combining multiple position estimates as described elsewhere herein (e.g., with respect to
A second position estimate and a corresponding second uncertainty metric from the second positioning technology are determined using known approaches (1020).
A hypothesis grid (e.g., like the two-dimensional grid in
For each particle (i.e., hypothesis), each weight wk of that particle is recalculated as w′k based on the distance between the assumed location (latk, longk) of that particle and the first position estimate (latext, longext) (1040). In one implementation, w′k=wk ρk, where the value of a multiplier ρk ∈[0,1] is a function of the distance between the assumed location (latk, longk) of that particle and the first position estimate (latext, longext). One possibility for ρk is the following:
where σext2 (uext) is the variance of the first position estimate (latext, longext), which is mapped from the uncertainty metric uext using the mapping concepts described above with respect to correcting uncertainty metric estimates, where the uncertainty metric may or may not be corrected using training data. Any other approaches for determining ρk are contemplated. Another approach for determining ρk uses values of ρk that approach the value of 1 as assumed locations (latk, longk) approach the first position estimate (latext, longext), and values of ρk that approach the value of 0 as assumed locations (latk, longk) get further away from the first position estimate (latext, longext), which means wk changes less for assumed locations that are closer to the first position estimate (latext, longext) compared to assumed locations that are further away from the first position estimate (latext, longext). This is a good outcome since hypotheses close to the first position estimate (latext, longext) are more trusted than hypotheses further away. In some embodiments, as σext2 increases, the penalty for being further from the first position estimate (latext, longext) decreases, which is good when the first position estimate is not very reliable such that the particle weights should not be adjusted as much as when the first position estimate is more reliable.
Once the weights of the particles are recalculated, they can be normalized such that the sum of all weights is equal to one (1050). The normalization can help in numerical stability—e.g., when ρk for all particles is extremely small, thereby making wk approach 0 for all particles. Since wk is considered as the probability that the final position estimate is at (latk, longk) in a typical particle filter implementation, a wk close to zero implies that the final position estimate may not belong to any of the considered hypothesis particle locations.
Finally, the normalized weights are used to determine a final position estimate using known approaches (1060). In one embodiment, the weights are used as the confidence factor or measurement noise estimate in the Kalman or particle filter implementation.
In addition to modifying the weights, methods described below can be used to perform a further integrity check on the quality of the first position estimate that is being used to adjust the weights.
In some cases, the integrity of the first position estimate cannot be controlled. However, the impact of the first position estimate on the final position estimate can be controlled. For example, if the uncertainty of the first position estimate is low, the impact of the first position estimate can be ‘floored’ so ρk is smaller. This would help avoid the situation where the particle filter heavily relies on the first position estimate. In one embodiment, the following equation is used:
Similarly, if the uncertainty is high (i.e., the first position estimate is not reliable), then the weights are not modified using a ρk derived from the first position estimate (or ρk is set to a value of 1), which avoids the situations where the first position estimate has large position errors, and using the first position estimate will introduce large errors in the final position estimate. In one embodiment, the following equation is used:
if σext2(uext)>ceil_val, σk=1 (Equation 11).
Methods of this disclosure may be implemented by hardware, firmware or software. One or more non-transitory machine-readable media embodying program instructions that, when executed by one or more machines, cause the one or more machines to perform or implement operations comprising the steps of any of the methods described herein are contemplated. As used herein, machine-readable media includes all forms of machine-readable media (e.g. non-volatile or volatile storage media, removable or non-removable media, integrated circuit media, magnetic storage media, optical storage media, or any other storage media) that may be patented under the laws of the jurisdiction in which this application is filed, but does not include machine-readable media that cannot be patented under the laws of the jurisdiction in which this application is filed.
By way of example, machines may include one or more computing device(s), processor(s), controller(s), integrated circuit(s), chip(s), system(s) on a chip, server(s), programmable logic device(s), other circuitry, and/or other suitable means described herein or otherwise known in the art. Systems that include one or more machines or the one or more non-transitory machine-readable media embodying program instructions that, when executed by the one or more machines, cause the one or more machines to perform or implement operations comprising the steps of any methods described herein are also contemplated.
Method steps described herein may be order independent, and can therefore be performed in an order different from that described. It is also noted that different method steps described herein can be combined to form any number of methods, as would be understood by one of skill in the art. It is further noted that any two or more steps described herein may be performed at the same time. Any method step or feature disclosed herein may be expressly restricted from a claim for various reasons like achieving reduced manufacturing costs, lower power consumption, and increased processing efficiency. Method steps performed by a transmitter or a mobile device can be performed by a server, or vice versa.
Systems comprising one or more modules that perform, are operable to perform, or adapted to perform different method steps/stages disclosed herein are also contemplated, where the modules are implemented using one or more machines listed herein or other suitable hardware. When two things (e.g., modules or other features) are “coupled to” each other, those two things may be directly connected together, or separated by one or more intervening things. Where no lines and intervening things connect two particular things, coupling of those things is contemplated in at least one embodiment unless otherwise stated. Where an output of one thing and an input of another thing are coupled to each other, information sent from the output is received by the input even if the data passes through one or more intermediate things. Different communication pathways and protocols may be used to transmit information disclosed herein. Information like data, instructions, commands, signals, bits, symbols, and chips and the like may be represented by voltages, currents, electromagnetic waves, magnetic fields or particles, or optical fields or particles.
The words comprise, comprising, include, including and the like are to be construed in an inclusive sense (i.e., not limited to) as opposed to an exclusive sense (i.e., consisting only of). Words using the singular or plural number also include the plural or singular number, respectively. The word or and the word and, as used in the Detailed Description, cover any of the items and all of the items in a list. The words some, any and at least one refer to one or more. The term may is used herein to indicate an example, not a requirement—e.g., a thing that may perform an operation or may have a characteristic need not perform that operation or have that characteristic in each embodiment, but that thing performs that operation or has that characteristic in at least one embodiment.
By way of example, transmitters described herein may include: antenna module(s) for exchanging signals with other systems; RF front end module(s) with circuitry components that are known or disclosed herein); processing module(s) for performing signal processing (e.g., generating signals for transmission at a selected time, using a selected frequency, using a selected code, and/or using a selected phase), methods described herein, or other processing; memory module(s) for providing storage and retrieval of data and/or instructions relating to methods of operation described herein that may be executed by the processing module(s); sensors module(s) for measuring conditions at or near the transmitter (e.g., pressure, temperature, humidity, wind, or other); and/or interface module(s) for exchanging information with other systems via other links other than a radio link. Signals transmitted by a transmitter may carry different information that, once determined by a mobile device or a server, may identify the following: the transmitter; the transmitter's location (LLA); pressure, temperature, humidity, and/or other conditions at or near the transmitter.
A mobile device may include any of: antenna module(s) for exchanging signals with other systems; RF front end module(s) with circuitry components that are known; processing module(s) for signal processing of received signals to determine position information (e.g., times of arrival or travel time of received signals, atmospheric information from transmitters, and/or location or other information associated with each transmitter); processing module(s) for using the position information to compute an estimated position of the mobile device; processing module(s) for performing methods described herein, and/or for performing other processing; memory module(s) for providing storage and retrieval of data and/or instructions relating to methods of operation described herein that may be executed by the processing module(s) or other module(s); sensor module(s) for measuring environmental conditions at or near the mobile device (e.g., pressure, temperature, other), which may be compared to the same environmental conditions at or near transmitters to determine the altitude of the mobile device; other sensor module(s) for measuring other conditions (e.g., movement, orientation); interface module(s) for exchanging information with other systems via other links other than a radio link; and/or I/O module(s) for permitting user interaction with the mobile device.
It is noted that the term “positioning system” may refer to satellite systems (e.g., Global Navigation Satellite Systems (GNSS) like GPS, GLONASS, Galileo, and Compass/Beidou), terrestrial systems, and hybrid satellite/terrestrial systems.
This application relates to the following related application(s): U.S. Pat. Appl. No. 62/456,492, filed Feb. 8, 2017, entitled SYSTEMS AND METHODS FOR ESTIMATING A POSITION OF A RECEIVER; and U.S. Pat. Appl. No. 62/572,497, filed Oct. 15, 2017, entitled SYSTEMS AND METHODS FOR ESTIMATING A POSITION OF A RECEIVER. The content of each of the related application(s) is hereby incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
62572497 | Oct 2017 | US | |
62456492 | Feb 2017 | US |