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

Sizeless 3D point using the inverse-depth parametrisation observed in a perspective image. More...


Detailed Description

Sizeless 3D point using the inverse-depth parametrisation observed in a perspective image.

Definition at line 117 of file segmentInvDepthFeature.hpp.

#include <segmentInvDepthFeature.hpp>

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

List of all members.

Public Member Functions

 ImageSegInvDepthFeatureObserveModel (SegInvDepthFeatureModel &featureModel_, jafar::camera::CameraPinhole const &camera_)
Observation::ObservationType typeObs () const
void setPixCov (jblas::vec const &pixCov_, double stabilizingFactor=1.0)
void initInternalState (BaseFeature &feature, jafar::geom::T3DEuler const &robotPose_, Observation const &obs_) const
 Init extremities of the segment.
void updateInternalState (BaseFeature &feature, jafar::geom::T3DEuler const &robotPose_, Observation const &obs_) const
 Update extremities of the segment.
void postInitCovariance (jblas::sym_mat_range &P, jblas::mat const &Jfeature)
void predictExtObs (jblas::vec_range const &pose, jblas::sym_mat_range const &poseCov, jblas::vec3 const &ext, jblas::sym_mat const &extCov, jblas::vec &zPredExt, jblas::sym_mat &zPredExtCov)
 Predict the extremes of the observed line, with their covariance in the image plane.
void predictExtObsJac (jblas::vec_range const &pose, jblas::vec3 const Ext, jblas::vec &eInImage, jblas::mat &JeR, jblas::mat &JeExt)
 Predict the extreme and Jacobians.
virtual jblas::vec const & computeInnovation (jblas::vec const &z_, jblas::vec const &zPred_)
 Innovation.
virtual void computeSensorR (Observation const &obs)
 Build covariances matrix of observation.
virtual void computeSensorRInit (Observation const &obs)
 Compute sensor observation noise for initialization purposes.
void setup (double id0=0.5, double sigmaId0=0.5)

Static Public Member Functions

static jblas::vec2 extToImageModel (jblas::vec const &ext1, jblas::vec const &ext2)
 Compute two lines from the optical center through both segment extremities.
static void extToImageModelJac (jblas::vec const &ext1, jblas::vec const &ext2, jblas::mat &J)
 The Jacobians of extToLine() wrt the extremes.

Protected Member Functions

jblas::vec const & predictObservationInSensorFrame (const jblas::vec &feature_)
 Prediction of the observation, the feature is expressed in the sensor frame featureInSensorFrame_.
void predictObservationInSensorFrameJac (const jblas::vec &feature_)
 Jacobian of predictObservationInSensorFrame().
jblas::vec inverseObservationInSensorFrame (Observation const &obs_)
void inverseObservationInSensorFrameJac (Observation const &obs_)
 jacobian of inverseObservationInSensorFrame()

Protected Attributes

double m_id0
 initial inverse depth
double m_sigmaId0
 standard deviation on initial inverse depth
jafar::camera::CameraPinhole camera
SegInvDepthFeatureModelsegInvDepthFeatureModel
jblas::sym_mat p_pixCov
 covariance on pixel coordinate (u,v)

Member Function Documentation

Build covariances matrix of observation.

Parameters:
obsobservation as a couple of endpoints

Reimplemented from jafar::slam::BaseFeatureObserveModel.

Compute two lines from the optical center through both segment extremities.

Parameters:
ext1the first extreme of the detected segment
ext2the second extreme
static void jafar::slam::ImageSegInvDepthFeatureObserveModel::extToImageModelJac ( jblas::vec const &  ext1,
jblas::vec const &  ext2,
jblas::mat J 
) [static]

The Jacobians of extToLine() wrt the extremes.

Parameters:
ext1the first extreme of the detected segment
ext2the second extreme
JThe returned Jacobian

inverse observation function in sensor frame, to be defined by user.

Implements jafar::slam::FeatureObserveModel.

void jafar::slam::ImageSegInvDepthFeatureObserveModel::predictExtObs ( jblas::vec_range const &  pose,
jblas::sym_mat_range const &  poseCov,
jblas::vec3 const &  ext,
jblas::sym_mat const &  extCov,
jblas::vec zPredExt,
jblas::sym_mat zPredExtCov 
)

Predict the extremes of the observed line, with their covariance in the image plane.

Parameters:
posethe robot pose
poseCovthe robot pose covariance matrix
extone of the extremities in 3D space
extCovthe covariances matrix of the extreme in 3D space
zPredExtthe predicted extreme in the 2D image
zPredExtCovthe covariances matrix of the predicted extreme CAUTION: THIS IMPLEMENTATION IGNORES THE CROSS-VARIANCES ROBOT/FEATURE AND LEADS TO TOO BIG ELLIPSES IN THE IMAGE.
void jafar::slam::ImageSegInvDepthFeatureObserveModel::predictExtObsJac ( jblas::vec_range const &  pose,
jblas::vec3 const  Ext,
jblas::vec eInImage,
jblas::mat JeR,
jblas::mat JeExt 
)

Predict the extreme and Jacobians.

Parameters:
posethe robot pose
Extone of the extremities in 3D space
eInImagethe predicted extreme in the 2D image
JeRand
JeExtJacobians of the prediction with respect to pose and extremity

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:49 for Jafar by doxygen 1.7.6.1
LAAS-CNRS