When position data from a global navigation satellite system is unavailable, a parameter, associated with a horizontal position (e.g. latitude and longitude) of a moveable object over a known surface such as terrain map, may be measured. Deterministic models may be used to determine the horizontal position.
A deterministic approach does not take into account model and sensor inaccuracies and noise. To address these shortcomings, non-linear Bayesian state estimators of stochastic dynamic systems may be used to estimate the horizontal position (and related parameters) of the moveable object on a known surface based upon a parameter associated with a horizontal position. However, a non-linear state estimator, based on a numerical solution of the Bayesian relations, i.e., a point mass filter, requires significant computation resources. The state estimator estimating three or more variables cannot be solved with typical data processing systems in a period of time consistent with application requirements. Therefore, there is a need to reduce the computational requirements for these non-linear estimators used to estimate the horizontal position (and related parameters) on a known surface based upon a measured parameter associated with the horizontal position.
A method is provided. The method comprises: initializing a point mass filter; initializing the one or more Bayesian filters; obtaining measurement data associated with a horizontal position on a surface; obtaining measurement data of a horizontal position and a velocity; obtaining geo-mapping data; estimating, with the point mass filter, the horizontal position on the surface based upon the geo-mapping data and the measurement data; estimating, with the one or more Bayesian filters, remaining state parameters based upon an output of the point mass filter and the measurement data; predicting, with the point mass filter, an a priori horizontal position, on a surface for a future time when the next measurement data will be obtained; and predicting, with the one or more Bayesian filters, an a priori remaining state parameters for a future time when the next measurement data will be obtained.
Understanding that the drawings depict only exemplary embodiments and are not therefore to be considered limiting in scope, the exemplary embodiments will be described with additional specificity and detail through the use of the accompanying drawings, in which:
In accordance with common practice, the various described features are not drawn to scale but are drawn to emphasize specific features relevant to the exemplary embodiments. Reference characters denote like elements throughout figures and text.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific illustrative embodiments. However, it is to be understood that other embodiments may be utilized and that structural, mechanical, and electrical changes may be made. Furthermore, the method presented in the drawing figures and the specification is not to be construed as limiting the order in which the individual steps may be performed. The following detailed description is, therefore, not to be taken in a limiting sense.
A Rao-Blackwellized point mass filter (RBPMF) is used to overcome the computational complexity related limitations of the point mass filter (PMF). The point mass filter is a non-linear Bayesian state estimator based on a numerical solution to the integral Bayesian recursive relations. RBPMF is an estimator that is an extension of a point mass filter, and permits a state variable model to be decomposed into non-linear state equation(s) and linear state equation(s). The non-linear state equation(s) can be solved by a standard point mass filter. The linear state equation(s) can be solved by one or more linear estimators, i.e. one or more Bayesian filters (BFs), which are much more computationally efficient. In one embodiment, the Bayesian filters are Kalman filters (KF). The term Kalman filters shall include all variations of Kalman filters, including for example extended Kalman filters.
This decomposition, therefore, significantly reduces the computational requirements of the point mass filter as the corresponding non-linear state equation(s) have fewer variables. As a result, the Rao-Blackwellized point mass filter can estimate, with typical data processing systems, the horizontal position (and other related parameters) of a moveable object on a known surface based upon a measured parameter associated with a horizontal position and geo-mapping data with much lower computational load than the point mass filter. Therefore, processing systems can perform the necessary computations in a period of time consistent with application requirements.
The Rao-Blackwellized point mass filter can be employed with any type of known surface, e.g. three dimensional bathymetric maps, barometric pressure maps, stellar maps, gravity maps, gravity gradient maps, magnetic maps, and terrain maps. In one embodiment, the map's horizontal position is parameterized by latitude and longitude. In another embodiment, such maps may be digitized. In a further embodiment, horizontal position and geo-mapping data are in reference to mean sea level.
The data-based referenced navigation system 102 comprises a processing system 109 coupled to an inertial navigation system (INS) 107 and one or more additional sensors (sensors) 105. The inertial navigation system 107 provides estimates of vector velocity and position. In one embodiment, the inertial navigation system 107 comprises one or more inertial measurement units (IMUs) coupled to a processor. In another embodiment, each of the one or more inertial measurement units includes one or more gyroscopes and one or more accelerometers.
The one or more sensors 105 measure data associated with a horizontal position on a known surface. In one embodiment, the one or more sensors 105 may include one or more of altimeters (e.g. barometric and/or radar), pressure sensors, accelerometers (e.g. measuring gravity), magnetometers, gravity gradiometers, gravimeters, water depth sensors, a bathymetric echo-sounder, a camera-type sensor, star trackers, and/or IMUs including accelerometer(s) and/or gyroscope(s).
The processing system 109 comprises a memory 110 coupled to a processor 112. An estimator 104, geo-mapping data 114, measurement data 115, and models 116 are stored in the memory 110. The estimator 104 includes the point mass filter 106 and the one or more Bayesian filters 108. The processing system 109 is configured to estimate the horizontal position on the surface based upon the geo-mapping data 114, the models 116, the measurement data 115, and the estimator 104. Horizontal position error may also be estimated as further described below.
The geo-mapping data 114 is a representation of a distribution of a parameter over the surface. In one embodiment, geo-mapping data 114 includes terrain geo-mapping data, bathymetric geo-mapping data, gravity field geo-mapping data, gravity gradient field geo-mapping data, magnetic field geo-mapping data, and image-based (e.g. stellar and/or terrestrial image-based) geo-mapping data. In another embodiment, the geo-mapping data 144 is stored in the form of a database, e.g. with records indexed based upon horizontal position such as latitude and longitude, and which store a corresponding surface parameter, such as terrain height, at that horizontal position. The measurement data 115 includes data measured by the inertial navigation system 107, and by the one or more sensors 105.
In one embodiment, the models 116, which may be in the form of executable software, include without limitation a state space model for direct and/or indirect estimation of the horizontal position. In another embodiment, the state space model comprises a state equation that is linear and a measurement equation that is non-linear. In a further embodiment, the models include models of the one or more sensors 105, the inertial navigation system 107, and the dynamics of the moveable object 100. In yet another embodiment, the state space model comprises a state equation and a measurement equation.
Typically, the state equation describes time-evolution of state parameters, e.g., of the horizontal position of the moveable object 100; of the error (e.g. bias, noise, or correlated noise) of the one or more sensors 105 and/or the inertial navigation system 107; and/or error (e.g. bias, noise, correlated noise) of the geo-mapping data 114. The measurement equation relates directly unmeasurable state parameters with available measurements of the one or more sensors 105, and the inertial navigation system 107. Definition of the state variables, selection of the sensor measurements, and design of the state-space model is performed by the filter designer.
One embodiment of the state space model, and the model for a direct estimation of the vehicle horizontal position, is illustrated below. The ‘state equation’ identified below is the linear state equation. The measurement equation is the non-linear equation.
is a known system matrix of the non-linear part of the model of the state equation. This matrix is specified by the filter designer and corresponds to the expected type of motion of the moveable object 100. In one embodiment, the matrix can vary over time,
In another embodiment, the matrices can vary over time,
is unknown noise in the state equation which quantifies uncertainty in the state equation and input vector. The probability density function (PDF) pw
and
The models 116 may alternatively include a state space model for indirect estimation of the horizontal position in lieu of the state space model for direct estimation of the horizontal position (described above). In this case, the point mass filter 106 does not directly estimate the horizontal position of the moveable object 100, but rather estimates the difference between the output of the one or more IMUS 107 and a true position. In one embodiment, the state space model comprises a state equation that is linear and a measurement equation that is non-linear. The state space model is illustrated below. The ‘state equation’ identified below is the linear state equation. The measurement equation is the non-linear equation.
In another embodiment, the matrices can vary over time, and
The estimated model parameters are represented by probability density functions (PDFs) which are typically continuous function. However, because modern computation systems operate discretely, the PDFs must also be discretized. Thus, a continuous PDF px(x) having an independent variable x must be approximated by a grid of equally spaced points ξ(i), i=1, . . . , N, to create an approximate discretized PDF of the random scalar variable x:
where P(i)(ξ(i))=px(ξ(i)), δ is the distance between two adjacent points defining resolution of the grid points, i.e., δ=ξ(i)−ξ(i−1), and S{x:ξ(i), δ} is a selection function defined as:
with 1[·] being a unit step function defined for a scalar variable y as:
The selection function S{x:ξ,δ} has a value 1 in if
otherwise, it has a value 0. The integral of the selection function is:
∫S{x:ξ,δ}dx=δ.
For vector variables, the selection function, the vicinity δ of a grid point ξ(i), and the volume Δ are defined analogously.
In one embodiment, in block 405, determine if consistency testing is satisfied. Consistency testing evaluates whether the measurement data 115 obtained or originating from the one or more sensors 105, to be used in block 406, is in an expected range that is specified by the filter designer and the present properties of the actual state estimate. If such measurement data 115 is outside of the expected range, then proceed to block 408. If such measurement data 115 is within the expected range, then proceed to block 406.
In block 406, estimate horizontal position, e.g. of the moveable object 100, based upon measurement data 115 obtained from the one or more sensors 105, the geo-mapping data 114 loaded, and the a priori (or predicted) horizontal position estimate. Also, estimate of the remaining state parameters using the one or more Bayesian filters 108. In one embodiment, in block 408, predict, with the point mass filter 106, a new a priori horizontal position, e.g. of the moveable object 100, for a future time when the next measurement data 115 will be obtained. Also, predict the remaining state parameters using the one or more Bayesian filters 108. In another embodiment, return to block 404 and continue the process.
Each block in
p(x0n,x0l|z−1)=p(x0l|x0n,z−1)p(x0n|zk−1)=p(x0l|z−1)p(x0n|zk−1)
where:
p(x0n|z−1)=∫p(x0n,x0l|z−1)dx0l=p(x0n)=N{x0n:{circumflex over (x)}0|−1n,P0|−1n}
p(x0l|z−1)=∫p(x0n,x0l|z−1)dx0n=p(x0l)=N{x0l:{circumflex over (x)}0|−1l,P0|−1l} (Equation 6)
where
In block 402, the values stored in the grid points for the point mass filter 106 and the one or more Bayesian filters 108 are a priori estimates, e.g. by the processing system 109, of the horizontal position of the moveable object 100. The subsequent estimation, e.g. performed by the processing system 109, determines more accurately the horizontal position of the moveable object 100.
In one embodiment, the point mass filter 106 is initialized by approximating the point mass filter 106 with a discretized PDF corresponding to an initial estimated horizontal position of the moveable object 100:
where
Each grid point represents a possible horizontal position of the moveable object 100 where probability is evaluated. The probability that the moveable object 100 is proximate to the position of the point ξ0(i) is equal to P0|−1(i)(ξ0(i)). The vicinity of the point ξ0(i) is defined by δ.
For block 402, in one embodiment, the one or more Bayesian filters 108 have an initial condition of:
p(x0l|zk−1)=p(x0l)=N{x0l:{circumflex over (x)}0|−1l,P0|−1l} (Equation 8)
Because of the selected factorization of the initial discretized PDF, i.e. p(x0l,x0n|z−1)=p(x0l|x0n,z−1)p(x0n|zk−1), the state of the linear part of the model is estimated by a set of one or more Bayesian filters 108, each associated with one grid point ξ0(i). Thus, N Bayesian filters are initialized by creating N initial discretized PDFs:
p(x0l|ξ0(i),zk−1)=N{x0l:{circumflex over (x)}0|−1(i),P0|−1l(i)}=N{x0l:{circumflex over (x)}0|−1l,P0|−1l} (Equation 9)
In one embodiment, the initial mean and variance at each grid point is the same. The approximate discretized initial PDFs can be visualized with grids representing horizontal position. Each grid point represents a possible horizontal position of the moveable object 100 and corresponding probability that the moveable object 100 is in the vicinity of that grid point.
Block 404 shall now be further discussed. The geo-mapping data 114 that is loaded in block 404 corresponds to the a priori estimate of the horizontal position of the moveable object 100 determined in block 402. The geo-mapping data 114 is a non-linear function of the horizontal position x0n, represented in the state equation by the term.
One embodiment of block 406, position estimation, shall now be described. Description of the filtering step of the RBPMF is presented with respect to the direct model with zero matrices for β,γ. Block 406 comprises estimating horizontal position representing the non-linear part of the state vector and state components representing linear part of the state vector based upon measurement data 115 obtained (originating from the one or more sensors 105), the geo-mapping data 114 loaded, and the a priori horizontal position estimate. The horizontal position estimate is in the form of a discretized PDF p(xkn,xkl|zk−1) and is determined by applying the point mass filter 106 and the one or more Bayesian filters 108 to the measurement data 115 obtained (originating with the one or more sensors 105), the geo-mapping data 114 loaded, and the a priori state estimate, including the horizontal position estimate.
The PDF p(xkn,xkl|zk) is determined based upon the following factorisation:
p(xk|zk)=p(xkn,xkl|zk)=p(xkl|xkn,zk)p(xkn|zk) (Equation 10),
where p(xkn|zk) is determined with the point mass filter 106, and p(xkl|xkn,zk) is determined with the one or more Bayesian filters 108. The determination of non-linear and linear portions of the state space model respectively using the point mass filter 106 and the one or more Bayesian filters 108 shall now be described in further detail.
Measurement Update of Non-Linear Portion of State Vector with Point Mass Filter
The output of the point mass filter 106 is updated based upon the measurement data 115 (originating from the one or more sensors 105), and the geo-mapping data 114. The measurement update of the non-linear portion of the state p(xkn|zk) with the point mass filter 106 is performed as follows. In one embodiment, a measurement prediction is determined for each grid point ξk(i) to determine a probability represented by a discretized PDF of measurement likelihood that the i-th grid point ξk(i) maps to the measurement zk (originating from the one or more sensors 105). The geo-mapping data 114 is evaluated at each ξk(i), and the value h(ξk(i)) is determined for each grid point. The measurement likelihood is determined according to:
P
mLike,k
(i)
=N{z
k
:h(ξk(i))+H{circumflex over (x)}k|k−1l(i),HPk|k−1l(i)HT+R},∀i
The estimated position is determined based upon the a priori horizontal position estimate, the measurement data 115 obtained (originating from the one or more sensors 105), and the portion of the geo-mapping data 114:
c is a normalizing function so that the sum of the discretized PDFs equals one. In this step, each PMF grid point is weighted according its measurement likelihood PmLike,k(i) and predictive probability. Thus, the grid points remain unchanged, but their weights (in other words, the associated probability) are altered based upon the measurement data 115.
Once the discretized PDF p(xkn|zk) is determined, various conditional statistics of the discretized PDF p(xkn|zk) can be evaluated. The conditional mean and covariance matrices are determined according to:
The conditional mean {circumflex over (x)}k|kn in is an optimal estimate applying, e.g. a minimum mean square error analysis. A maximum a posteriori probability estimate can also be determined:
Horizontal position error can be estimated based upon the covariance matrix.
Measurement Update of Linear Portion of State Vector with Bayesian Filters
Additionally, for block 406, errors of at least one of one or more parameter sensors, the geo-mapping data, the one or more IMUs, and/or remaining elements of the linear state are estimated using the one or more Bayesian filters 108 based upon the output of the point mass filter 106 and the obtained measurement data 115 (originating from the one or more sensors 105). The measurement update of the linear portion of the state p(xkl|xkn,zk) with the one or more Bayesian filters 108 is performed as follows. A Bayesian filter is applied for each grid point. Thus, the predictive estimates of the linear part of the state associated with each grid point are updated with the available measurement according to:
{circumflex over (x)}
k|k
l(i)
={circumflex over (x)}
k|k−1
l(i)
+K
k
(i)(zk−h(ξk(i))−{circumflex over (x)}k|k−1l(i))
P
k|k
l(i)
=P
k|k−1
l(i)
−K
k
(i)
P
k|k−1
l(i)
,∀i,
where:
K
k
(i)
=P
k|k−1
l(i)(Pk|k−1l(i)+R)−1 (Equation 14)
Having the filtering estimates determined for each grid point, the global estimate of the linear part of the state space model can be determined according to:
The relations can be understood as the relations for computation of the moments of a Gaussian mixture PDF.
Block 408 shall now be further discussed. In block 408, a predictive estimate is determined for a new a priori horizontal position, e.g. of the moveable object 100, for a future time when the next measurement data 115 from the one or more sensors 105 will be next obtained. The new a priori horizontal position is predicatively estimated based upon measurement data 115 from the inertial navigation system 107 and the state equation.
In one embodiment, a new grid is first constructed. Then, the point mass filter 106 is updated with the new grid. Finally, the one or more Bayesian filters 108 are updated with the new grid.
In one embodiment, a predictive discretized PDF p(xk+1n,xk+1l|zk) is determined according to the Chapman-Kolmogorov equation based upon the filtered discretized PDF p(xkn,xkl|zk) based upon the following factorisation:
p(xk+1|zk)=p(xk+1n,xk+1l|zk)=p(xk+1|xkn,zk)p(xk+1n|zk) (Equation 16),
where p(xk+1n|zk) is determined by the point mass filter 106, and p(xk+1l|xk+1n,zk) is determined by the one or more Bayesian filters 108. In this block 408, not only is the probability density function of the state estimate at each grid points modified, but so are the locations of the grid points (e.g. assuming that there is predicted estimated horizontal movement of the moveable object 100).
Predictively estimating a new a priori horizontal position (for the next time instant) begins with definition of new grid having grid points denoted as ξk+1(j), j=1, . . . , M. The new grid may have the same or different number of grid points, and the same or different resolution δp, as the grid from time instant k (the old grid). Three typical situations may occur in design of the new grid depending on the number of significant grid points. The significant grid points are defined as those grid points which have the associated probability greater than a certain threshold. Number of significant grid points directly affects the quality of approximation of the continuous PDF by its discretized version, therefore, it affects the expected performance of the filter.
If the number of significant points is at a reasonable, threshold level, the number and resolution of the grid points may remain constant between the old and new grids. Then, the old grid points are just shifted based upon known input vector uk (which is a change of horizontal position based upon the measurement data 115 from the inertial navigation system 107):
ξk+1(j)=ξk(j(+uk (Equation 17)
If the number of the significant points is below a reasonable, threshold level, then the number of grid points in the new grid is increased in comparison to the number of grid points in the old grid. Correspondingly, the resolution of the new grid points δp is smaller than the resolution of the old grid points δp to affect an increase in the number of the grid points and significant points in the new grid. Then, the new grid is shifted based upon known input vector uk (which is a change of horizontal position based upon the output of the inertial navigation system 107):
ξk+1(j)=ξk(j)+uk (Equation 18)
If the number of the significant points is above a reasonable, threshold level, then then number of grid points in the new grid is decreased in comparison to the number of grid points in the old grid. Correspondingly, the resolution of the new grid points δp is larger than the resolution of the old grid points δp to affect a decrease in the number of the grid points and significant points in the new grid. Then, the new grid is shifted based upon known input vector uk (which is a change of horizontal position based upon measurement data 115 from the inertial navigation system 107).
Determine Predictive Discretized PDF of Non-Linear Portion of State Vector with the Point Mass Filter
The predictive discretized PDF of the non-linear part of the state space model is determined by the following convolution:
where pw
Determine Predictive Discretized PDF of Linear Portion of State Vector with the Bayesian Filters
The predictive discretized PDF of the linear part of the state space model is determined as follows. The predictive estimates, based upon the measurement data 115 from the inertial navigation system 107, of the linear part of the state space model and which correspond to the old grid points ξk(j), are shifted forward in time according to:
{circumflex over (x)}
k+1|k
l(i)
=α{circumflex over (x)}
k|k
l(i)
,∀i,
P
k+1|k
l(i)
=αP
k|k
l(i)αT+Ql,∀i, (Equation 21)
These predictive estimates are then transformed into the space of the new grid points ξk+1(j). The transformation, which is based upon the relationship for moments of Gaussian mixture PDF s, is:
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiments shown. Therefore, it is manifestly intended that this invention be limited only by the claims and the equivalents thereof.