|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--javaslam.slam.LinearizedSLAMFilter
A nonlinear filter for the Simultaneous Localization and Mapping
SLAM problem that uses a linear-Gaussian
filter with a technique for linearizing nonlinear motion and
measurement models. For example, by coupling a KalmanSLAMFilter
with ExtendedTransformation
linearizations, one obtains the traditional Extended Kalman filter
technique for SLAM.
Field Summary | |
protected LGSLAMFilter |
filter
The underlying linear-Gaussian SLAM filter. |
protected LinearizationFactory |
linearization
The factory for creating linearizations. |
Constructor Summary | |
LinearizedSLAMFilter(LGSLAMFilter filter)
Constructor. |
|
LinearizedSLAMFilter(LGSLAMFilter filter,
LinearizationFactory linearization)
Constructor. |
Method Summary | |
Variable |
addLandmark(int id,
int dim)
Adds a new landmark to the map and returns its state variable. |
boolean |
contains(int id)
Return true if this filter contains the landmark
with the supplied identifier. |
double[] |
getLandmarkEstimate(int id)
Returns the filtered estimate of a landmark's state. |
int |
getLandmarkId(Variable lm)
Gets the identifier associated with the supplied landmark state variable. |
int[] |
getLandmarkIds()
Returns the IDs of landmarks known to this filter. |
Variable |
getLandmarkVariable(int id)
Gets the state variable associated with the landmark with the supplied identifier. |
LGSLAMFilter |
getLGFilter()
Returns the underlying linear-Gaussian filter, which can be used to access the filtered belief state. |
int |
getNumLandmarks()
Returns the number of landmarks known to this filter. |
double[] |
getRobotEstimate()
Returns the filtered estimate of the robot's state. |
Variable |
getRobotVariable()
Gets the state variable associated with the robot. |
void |
measurement(NoisyVectorFunction h,
NoisyVectorFunction hInv,
int id,
double[] z)
Performs a landmark measurement update assuming a known data association. |
void |
motion(NoisyVectorFunction f)
Performs a motion update. |
void |
odometry(NoisyVectorFunction g,
double[] y)
Performs an odometry update. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
protected LGSLAMFilter filter
protected LinearizationFactory linearization
Constructor Detail |
public LinearizedSLAMFilter(LGSLAMFilter filter, LinearizationFactory linearization)
filter
- the underlying linear-Gaussian SLAM filter used for
filteringlinearization
- a linearization factory used to
create linearizations of nonlinear modelsExtendedTransformation.getFactory()
,
UnscentedTransformation.getFactory()
public LinearizedSLAMFilter(LGSLAMFilter filter)
filter
- the underlying linear-Gaussian SLAM filter used for
filteringUnscentedTransformation
Method Detail |
public void motion(NoisyVectorFunction f)
motion
in interface NonlinearSLAMFilter
f
- the stochastic motion modelpublic void odometry(NoisyVectorFunction g, double[] y)
odometry
in interface NonlinearSLAMFilter
g
- the noisy odometry measurement modely
- the odometry measurementpublic void measurement(NoisyVectorFunction h, NoisyVectorFunction hInv, int id, double[] z)
measurement
in interface NonlinearSLAMFilter
h
- the stochastic landmark measurement modelhInv
- the inverse of h with respect to the landmark stateid
- the identifier of the landmark that was observedz
- the landmark measurementpublic LGSLAMFilter getLGFilter()
public Variable getRobotVariable()
getRobotVariable
in interface SLAMFilter
public Variable getLandmarkVariable(int id)
getLandmarkVariable
in interface SLAMFilter
public int getLandmarkId(Variable lm)
getLandmarkId
in interface SLAMFilter
public int getNumLandmarks()
getNumLandmarks
in interface SLAMFilter
public Variable addLandmark(int id, int dim)
addLandmark
in interface SLAMFilter
public int[] getLandmarkIds()
getLandmarkIds
in interface SLAMFilter
public boolean contains(int id)
true
if this filter contains the landmark
with the supplied identifier.
contains
in interface SLAMFilter
public double[] getRobotEstimate()
getRobotEstimate
in interface SLAMFilter
public double[] getLandmarkEstimate(int id)
getLandmarkEstimate
in interface SLAMFilter
id
- the identifier of the landmark
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |