Jafar
|
The root class for all feature models. More...
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>
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 | |
FeatureModel & | featureModel |
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::T3D * | m_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. |
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] |
Compute observation noise from sensor.
A default implementation is provided, it does nothing (constant model).
Reimplemented in jafar::slam::StereoImagePluckerFeatureObserveModel, jafar::slam::ScaledHomogeneousImagePluckerFeatureObserveModel, jafar::slam::RhoThetaImagePluckerFeatureObserveModel, jafar::slam::ImageEuclideanPluckerFeatureObserveModel, jafar::slam::ImageAnchorPluckerFeatureObserveModel, jafar::slam::ImageSegInvDepthFeatureObserveModel, jafar::slam::ImageSegInvDepthInovFeatureObserveModel, and jafar::slam::PolarPointFeatureObserveModel.
Definition at line 162 of file featureModel.hpp.
Referenced by computeSensorRInit().
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] |
Init internal state.
It is a set of parameters, describing the feature, but not integrated to the SLAM stochastic map.
Reimplemented in jafar::slam::StereoImagePluckerFeatureObserveModel, jafar::slam::ImagePluckerFeatureObserveModel, jafar::slam::ImageEuclideanPluckerFeatureObserveModel, jafar::slam::ImageAnchorPluckerFeatureObserveModel, jafar::slam::ImageSegInvDepthFeatureObserveModel, and jafar::slam::ImageSegInvDepthInovFeatureObserveModel.
Definition at line 190 of file featureModel.hpp.
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] |
Computes jacobian of predictObservation().
Same consideration as for predictObservation() and call to predictObservationInSensorFrameJac().
Implements jafar::filter::BlockObserveModel.
Reimplemented in jafar::slam::ImageSegInvDepthInovFeatureObserveModel.
virtual void jafar::slam::BaseFeatureObserveModel::updateInternalState | ( | BaseFeature & | feature, |
jafar::geom::T3DEuler const & | robotPose_, | ||
Observation const & | obs_ | ||
) | const [inline, virtual] |
Update internal state.
Reimplemented in jafar::slam::StereoImagePluckerFeatureObserveModel, jafar::slam::ImagePluckerFeatureObserveModel, jafar::slam::ImageEuclideanPluckerFeatureObserveModel, jafar::slam::ImageAnchorPluckerFeatureObserveModel, jafar::slam::ImageSegInvDepthFeatureObserveModel, and jafar::slam::ImageSegInvDepthInovFeatureObserveModel.
Definition at line 197 of file featureModel.hpp.
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().
Generated on Wed Oct 15 2014 00:37:48 for Jafar by doxygen 1.7.6.1 |