javaslam.filter
Class UnscentedTransformation
java.lang.Object
|
+--javaslam.filter.Linearization
|
+--javaslam.filter.UnscentedTransformation
- public class UnscentedTransformation
- extends Linearization
The Unscented Transformation for linearizing functions with
Gaussian-distributed inputs. This technique selects a set of
sigma points that characterize the Gaussian distribution of
the input vector, passes these points through the nonlinear
function, and then computes the best Gaussian approximation of
their images.
This class records counts of all floating point operations using
Flops.count(long)
.
- See Also:
- http://cslu.cse.ogi.edu/nsel/ukf/,
"S. J. Julier and J. K. Uhlmann, "A new extension of the
kalman filter to nonlinear systems," The Proceedings of
AeroSense: The 11th International Symposium on Aerospace/Defense
Sensing, Simulation and Controls, Orlando, Florida, 1997."
Fields inherited from class javaslam.filter.Linearization |
a, B, G, k, m, n, q, vSet, xSet, y, ySet |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
factory
protected static LinearizationFactory factory
- A factory for creating linearizations using the unscented
transformation.
UnscentedTransformation
public UnscentedTransformation(NoisyVectorFunction f,
Gaussian px)
- Constructor. The parameters used to choose sigma points are set
at default values.
- Parameters:
f
- a vector function that takes a
(n + m)-by-1 vector as input
and returns a k-by-1 vector; the function's input
is x stacked on top of vpx
- a Gaussian distribution (in the moment parameterization)
over the n-by-1 vector x (which can be
partitioned into several sub-variables)
- Throws:
IllegalArgumentException
- if the sum dimension of
px
and
pv
does not match the
input dimension of f
UnscentedTransformation
public UnscentedTransformation(NoisyVectorFunction f,
Gaussian px,
double alpha,
double beta,
double kappa)
- Constructor.
- Parameters:
f
- a vector function that takes a
(n + m)-by-1 vector as input
and returns a k-by-1 vector; the function's input
is x stacked on top of vpx
- a Gaussian distribution (in the moment parameterization)
over the n-by-1 vector x (which can be
partitioned into several sub-variables)alpha
- a scaling parameter that determines the spread of the
sigma points about the meanbeta
- a parameter that is used to incorporate prior knowledge
of the input distributionkappa
- a secondary scaling parameter
- Throws:
IllegalArgumentException
- if the sum dimension of
px
and
pv
does not match the
input dimension of f
getFactory
public static LinearizationFactory getFactory()
- Returns a handle on a factory for creating linearizations using
the unscented transformation.
- Returns:
- a factory for creating linearizations