javaslam.slam
Interface SLAMFilter

All Known Subinterfaces:
NonlinearSLAMFilter
All Known Implementing Classes:
AbstractSLAMFilter, LinearizedSLAMFilter

public interface SLAMFilter

An interface implemented by filters for the Simultaneous Localization and Mapping (SLAM) problem. Such classes must assign landmarks integer identifiers and support queries on the states of the robot and landmarks.


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.
 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.
 

Method Detail

getRobotVariable

public Variable getRobotVariable()
Gets the state variable associated with the robot.


getLandmarkVariable

public Variable getLandmarkVariable(int id)
Gets the state variable associated with the landmark with the supplied identifier.


getLandmarkId

public int getLandmarkId(Variable lm)
Gets the identifier associated with the supplied landmark state variable.


getNumLandmarks

public int getNumLandmarks()
Returns the number of landmarks known to this filter.


addLandmark

public Variable addLandmark(int id,
                            int dim)
Adds a new landmark to the map and returns its state variable.


getLandmarkIds

public int[] getLandmarkIds()
Returns the IDs of landmarks known to this filter.


contains

public boolean contains(int id)
Return true if this filter contains the landmark with the supplied identifier.


getRobotEstimate

public double[] getRobotEstimate()
Returns the filtered estimate of the robot's state.

Returns:
the filtered estimate of the robot's state

getLandmarkEstimate

public double[] getLandmarkEstimate(int id)
Returns the filtered estimate of a landmark's state.

Parameters:
id - the identifier of the landmark
Returns:
the filtered estimate of the landmark's state