Jafar
|
Sizeless 3D point using the inverse-depth parametrisation observed in a perspective image. More...
Sizeless 3D point using the inverse-depth parametrisation observed in a perspective image.
Definition at line 24 of file segmentInvDepthInovFeature.hpp.
#include <segmentInvDepthInovFeature.hpp>
Public Member Functions | |
ImageSegInvDepthInovFeatureObserveModel (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 | predictObservationJac (const jblas::vec_range &robotPose_, const jblas::vec_range &feature_) |
Computes jacobian of predictObservation(). | |
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. | |
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 |
SegInvDepthFeatureModel & | segInvDepthFeatureModel |
jblas::sym_mat | p_pixCov |
covariance on pixel coordinate (u,v) | |
Private Attributes | |
jblas::mat | Jobs1Tmp |
jblas::mat | Jobs2Tmp |
virtual void jafar::slam::ImageSegInvDepthInovFeatureObserveModel::computeSensorR | ( | Observation const & | obs | ) | [virtual] |
Build covariances matrix of observation.
obs | observation as a couple of endpoints |
Reimplemented from jafar::slam::BaseFeatureObserveModel.
static jblas::vec2 jafar::slam::ImageSegInvDepthInovFeatureObserveModel::extToImageModel | ( | jblas::vec const & | ext1, |
jblas::vec const & | ext2 | ||
) | [static] |
Compute two lines from the optical center through both segment extremities.
ext1 | the first extreme of the detected segment |
ext2 | the second extreme |
static void jafar::slam::ImageSegInvDepthInovFeatureObserveModel::extToImageModelJac | ( | jblas::vec const & | ext1, |
jblas::vec const & | ext2, | ||
jblas::mat & | J | ||
) | [static] |
The Jacobians of extToLine() wrt the extremes.
ext1 | the first extreme of the detected segment |
ext2 | the second extreme |
J | The returned Jacobian |
jblas::vec jafar::slam::ImageSegInvDepthInovFeatureObserveModel::inverseObservationInSensorFrame | ( | Observation const & | obs_ | ) | [protected, virtual] |
inverse observation function in sensor frame, to be defined by user.
Implements jafar::slam::FeatureObserveModel.
void jafar::slam::ImageSegInvDepthInovFeatureObserveModel::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.
pose | the robot pose |
poseCov | the robot pose covariance matrix |
ext | one of the extremities in 3D space |
extCov | the covariances matrix of the extreme in 3D space |
zPredExt | the predicted extreme in the 2D image |
zPredExtCov | the 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::ImageSegInvDepthInovFeatureObserveModel::predictExtObsJac | ( | jblas::vec_range const & | pose, |
jblas::vec3 const | Ext, | ||
jblas::vec & | eInImage, | ||
jblas::mat & | JeR, | ||
jblas::mat & | JeExt | ||
) |
Predict the extreme and Jacobians.
pose | the robot pose |
Ext | one of the extremities in 3D space |
eInImage | the predicted extreme in the 2D image |
JeR | and |
JeExt | Jacobians of the prediction with respect to pose and extremity |
void jafar::slam::ImageSegInvDepthInovFeatureObserveModel::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().
Reimplemented from jafar::slam::BaseFeatureObserveModel.
Generated on Wed Oct 15 2014 00:37:49 for Jafar by doxygen 1.7.6.1 |