|
||||||||||
| 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 NonlinearSLAMFilterf - the stochastic motion model
public void odometry(NoisyVectorFunction g,
double[] y)
odometry in interface NonlinearSLAMFilterg - the noisy odometry measurement modely - the odometry measurement
public void measurement(NoisyVectorFunction h,
NoisyVectorFunction hInv,
int id,
double[] z)
measurement in interface NonlinearSLAMFilterh - 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 SLAMFilterpublic Variable getLandmarkVariable(int id)
getLandmarkVariable in interface SLAMFilterpublic int getLandmarkId(Variable lm)
getLandmarkId in interface SLAMFilterpublic int getNumLandmarks()
getNumLandmarks in interface SLAMFilter
public Variable addLandmark(int id,
int dim)
addLandmark in interface SLAMFilterpublic int[] getLandmarkIds()
getLandmarkIds in interface SLAMFilterpublic boolean contains(int id)
true if this filter contains the landmark
with the supplied identifier.
contains in interface SLAMFilterpublic double[] getRobotEstimate()
getRobotEstimate in interface SLAMFilterpublic double[] getLandmarkEstimate(int id)
getLandmarkEstimate in interface SLAMFilterid - the identifier of the landmark
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||