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

segment extracted from an image observe model. More...


Detailed Description

segment extracted from an image observe model.

Definition at line 308 of file segmentFeature.hpp.

#include <segmentFeature.hpp>

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

List of all members.

Public Member Functions

 ImageEuclideanPluckerFeatureObserveModel (SegmentFeatureModel &featureModel_, jafar::camera::CameraPinhole const &camera_, double depthAlpha_, double depthKSigma_, double phiMin_, double phiMax_, double phiSigma_, double phiKSigma_)
Observation::ObservationType typeObs () const
void setPixCov (jblas::vec const &pixCov_, double stabilizingFactor=1.0)
void initStateInSensorFrame (InitFeature &feature_, Observation const &obs_, double dMin_, double dMax_)
void initInternalState (BaseFeature &feature, jafar::geom::T3DEuler const &robotPose_, Observation const &obs_) const
 Initialize the extremities of the segment.
void updateInternalState (BaseFeature &feature, jafar::geom::T3DEuler const &robotPose_, Observation const &obs_) const
 Update extremities of the segment.
jblas::vec const & computeInnovation (jblas::vec const &z_, jblas::vec const &zPred_)
 By default, simply do the substraction.
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.

Static Public Member Functions

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

Public Attributes

double depthAlpha
 gaussian sum distribution over depth geometric serie sigma/mean ratio
double depthBeta
 gaussian sum distribution over depth geometric serie base
double phiMin
 gaussian sum over direction, phi min
double phiMax
 gaussian sum over direction, phi max
double phiSigma
 gaussian sum over direction, number of gaussians
double phiKSigma
 gaussian sum over direction, kSigma factor

Protected Member Functions

void pluckerLineInit (jblas::vec const &z_, double d_, double phi_, double sg_, jblas::vec &pluckerLine) const
void pluckerLineInitJac (jblas::vec const &z_, double d_, double phi_, double sg_, jblas::mat &J) const
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 const & predictObservationInImageFrame (jblas::vec3 const &l_)
void predictObservationInImageFrameJac (jblas::vec3 const &l_, jblas::mat &Jl) const
boost::tuple< double, double > computeExtremitiesAbscissa (SegmentFeature const &segFeature_, geom::T3DEuler const &robotPose_, SegmentObservation const &obs_) const
void segmentExtremitiesPluckerLines (SegmentObservation const &segObs_, jblas::vec &lineExt1Sensor, jblas::vec &lineExt2Sensor) const
virtual void computeSensorR (Observation const &obs)
 Compute sensor covariance.
double computeBaselineInSensorFrame (jblas::vec_range const &deltaPose, Observation const &obsRef) const
 non-constant covariance on pixel coordinate (u,v)

Static Protected Member Functions

static boost::tuple< double,
double, double > 
pluckerLinesDistance (jblas::vec const &line1_, jblas::vec const &line2_)

Protected Attributes

jafar::camera::CameraPinhole camera
jblas::mat33 Pl
jblas::mat33 Plinv
jblas::sym_mat p_pixCov
 covariance on pixel coordinate (u,v)

Friends

std::string boSegFeatureInitState (InitFeature const &f_, BearingOnlySlam &slam_)

Member Function Documentation

double jafar::slam::ImageEuclideanPluckerFeatureObserveModel::computeBaselineInSensorFrame ( jblas::vec_range const &  deltaPose,
Observation const &  obsRef 
) const [inline, protected]

non-constant covariance on pixel coordinate (u,v)

Todo:
real implementation

Definition at line 350 of file segmentFeature.hpp.

By default, simply do the substraction.

Reimplementation of that function are allowed to adjust the values of Jobs1 and Jobs2.

Parameters:
y_observation
zPred_prediction

Reimplemented from jafar::filter::BlockObserveModel.

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::ImageEuclideanPluckerFeatureObserveModel::extToLineJac ( 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
void jafar::slam::ImageEuclideanPluckerFeatureObserveModel::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
exton 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
void jafar::slam::ImageEuclideanPluckerFeatureObserveModel::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