Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes
jafar::slam::BaseFeatureObserveModel Class Reference

The root class for all feature models. More...


Detailed Description

The root class for all feature models.

It adds to the generic BlockObserveModel specific things related to slam. Especially it takes into account all the frame composition induced by robot pose and sensor pose relative pose on robot.

Definition at line 99 of file featureModel.hpp.

#include <featureModel.hpp>

Inheritance diagram for jafar::slam::BaseFeatureObserveModel:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 BaseFeatureObserveModel (FeatureModel &featureModel, std::size_t sizeObs_)
 Constructor for systems with equal init and update observe models.
 BaseFeatureObserveModel (FeatureModel &featureModel_, std::size_t sizeObs_, std::size_t sizeObsInit_)
 Constructor for systems with differing init and update observe models.
 BaseFeatureObserveModel (FeatureModel &featureModel_, std::size_t sizeObs_, std::size_t sizeObsInit_, std::size_t sizeInnovation_, std::size_t sizePrediction)
 Constructor for systems with differing init and update observe models.
std::size_t sizeRobotPose () const
std::size_t sizeState () const
virtual
Observation::ObservationType 
typeObs () const =0
jafar::geom::T3D const & robotToSensor () const
void setRobotToSensor (jafar::geom::T3DEuler const &robotToSensor_)
 Set the position of the sensor within the robot frame.
virtual jblas::sym_mat const & getR () const
 Get observation noise covariances matrix.
std::size_t sizeObsInit ()
 Get size of RInit.
virtual jblas::sym_mat const & getRInit () const
 Get init observation noise covariances matrix.
virtual void computeR (Observation const &obs)
 Compute observation noise covariance.
virtual void computeRInit (Observation const &obs)
 Compute observation noise covariance for init purposes.
virtual void computeSensorR (Observation const &obs)
 Compute observation noise from sensor.
virtual void computeSensorRInit (Observation const &obs)
 Compute sensor observation noise for initialization purposes.
virtual jblas::vec const & predictObservation (const jblas::vec_range &robotPose_, const jblas::vec_range &feature_)
 Predict observation from robot and feature state.
virtual void predictObservationJac (const jblas::vec_range &robotPose_, const jblas::vec_range &feature_)
 Computes jacobian of predictObservation().
virtual void initInternalState (BaseFeature &feature, jafar::geom::T3DEuler const &robotPose_, Observation const &obs_) const
 Init internal state.
virtual void updateInternalState (BaseFeature &feature, jafar::geom::T3DEuler const &robotPose_, Observation const &obs_) const
 Update internal state.

Public Attributes

FeatureModelfeatureModel
jblas::sym_mat RInit
 Observation covariances matrix for initialization purposes.
jafar::jmath::GaussianVector zPred
 Mean and covariance of the expected measurement.

Protected Member Functions

void computePredictObservationJac (const jblas::vec_range &robotPose_, const jblas::vec_range &feature_, jblas::mat &J1, jblas::mat &J2)
 Compute prediction observation jacobian.
virtual jblas::vec const & predictObservationInSensorFrame (jblas::vec const &featureInSensorFrame_)=0
 Prediction of the observation, the feature is expressed in the sensor frame featureInSensorFrame_.
virtual void predictObservationInSensorFrameJac (jblas::vec const &featureInSensorFrame_)=0
 Jacobian of predictObservationInSensorFrame().

Protected Attributes

jblas::mat JobsSensor
 jacobian of predictObservationInSensorFrame() function
jafar::geom::T3Dm_robotToSensor
 Position of the sensor within the robot frame.
jblas::mat JobsRobotToSensor
 jacobian of predictObservation() with respect to robotToSensor
jblas::sym_mat featureR
 Observe model noise covariance.
std::size_t p_sizeObsInit
 Size of obsevations for initialization purposes.

Member Function Documentation

virtual void jafar::slam::BaseFeatureObserveModel::computeR ( Observation const &  obs) [virtual]

Compute observation noise covariance.

It takes into account robotToSensor uncertainty.

virtual void jafar::slam::BaseFeatureObserveModel::computeRInit ( Observation const &  obs) [virtual]

Compute observation noise covariance for init purposes.

It should consider uncertainty in robotToSensor() <- TODO: not implemented.

virtual void jafar::slam::BaseFeatureObserveModel::computeSensorR ( Observation const &  obs) [inline, virtual]
virtual jblas::sym_mat const& jafar::slam::BaseFeatureObserveModel::getRInit ( ) const [inline, virtual]

Get init observation noise covariances matrix.

The init observation is the observation used for initialization purposes. It normally coincides with the observation noise, but not necessarily> it depends on the landmark type and the chosen parametrizations of the measurement space at initialization (feature detection) and update (feature matching) times.

Definition at line 145 of file featureModel.hpp.

References RInit.

virtual void jafar::slam::BaseFeatureObserveModel::initInternalState ( BaseFeature feature,
jafar::geom::T3DEuler const &  robotPose_,
Observation const &  obs_ 
) const [inline, virtual]
virtual jblas::vec const& jafar::slam::BaseFeatureObserveModel::predictObservation ( const jblas::vec_range &  robotPose_,
const jblas::vec_range &  feature_ 
) [virtual]

Predict observation from robot and feature state.

Some work is done considering robot and sensor frames, and observe model is delegated until call to predictObservationInSensorFrame().

Implements jafar::filter::BlockObserveModel.

virtual void jafar::slam::BaseFeatureObserveModel::predictObservationJac ( const jblas::vec_range &  robotPose_,
const jblas::vec_range &  feature_ 
) [virtual]
virtual void jafar::slam::BaseFeatureObserveModel::updateInternalState ( BaseFeature feature,
jafar::geom::T3DEuler const &  robotPose_,
Observation const &  obs_ 
) const [inline, virtual]

Member Data Documentation

Observe model noise covariance.

It includes observation noise plus robotToSensor transformation uncertainty.

Definition at line 225 of file featureModel.hpp.

Referenced by getR().

Observation covariances matrix for initialization purposes.

The init observation is the observation used for initialization purposes. It normally coincides with the observation noise, but not necessarily> it depends on the landmark type and the chosen parametrizations of the measurement space at initialization (feature detection) and update (feature matching) times.

Definition at line 122 of file featureModel.hpp.

Referenced by computeSensorRInit(), and getRInit().


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:48 for Jafar by doxygen 1.7.6.1
LAAS-CNRS