|
Jafar
|
Sizeless 3D segment using the homogenous coordinates parametrisation observed in a perspective image. More...
Sizeless 3D segment using the homogenous coordinates parametrisation observed in a perspective image.
Class ImagePluckerFeatureObserveModel
Definition at line 448 of file segmentFeature.hpp.
#include <segmentFeature.hpp>

Public Member Functions | |
| ImagePluckerFeatureObserveModel (SegmentFeatureModel &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 | 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. | |
| void | postInitCovariance (jblas::sym_mat_range &P, jblas::mat const &Jx) |
| Assign covariances of the unobserved part. | |
| void | setup (double beta0=0, double beta1=0, double sigma_beta=0.5) |
| Set up initial parameters. | |
Protected Member Functions | |
| virtual jblas::vec const & | homogeneousToImageModel (jblas::vec3 const &l_)=0 |
| homogeneous to Image 2D line representation conversion | |
| virtual void | homogeneousToImageModelJac (jblas::vec3 const &l_, jblas::mat &Jl) const =0 |
| homogeneous to Image 2D line representation -- Jacobians | |
| virtual jblas::vec3 | imageModelToHomogeneous (jblas::vec const &rt_)=0 |
| Image representation to homogeneous transform. | |
| virtual void | imageModelToHomogeneousJac (jblas::vec const &rt_, jblas::mat &HMrt)=0 |
| Rho-theta to homogeneous transform -- Jacobian. | |
| virtual void | imageModelToHomogeneousJac (jblas::vec const &rt_, jblas::vec3 &l, jblas::mat &HMrt)=0 |
| Rho-theta to homogeneous transform -- Jacobian. | |
| jblas::vec3 | planeBaseToDirVector (jblas::vec3 const &an_, jblas::vec2 const &beta_) |
| Plane sub-vector a to plane base vector beta. | |
| void | planeBaseToDirVectorJac (jblas::vec_range const &an_, jblas::vec2 const &beta_, jblas::vec_range &b, jblas::mat33 &B_a) |
| Plane sub-vector a to plane base vector -- Jacobians. | |
| 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 |
Static Protected Member Functions | |
|
static boost::tuple< double, double, double > | pluckerLinesDistance (jblas::vec const &line1_, jblas::vec const &line2_) |
Protected Attributes | |
| SegmentFeatureModel & | segmentFeatureModel |
| Feature model. | |
| jafar::camera::CameraPinhole | camera |
| Perspective camera. | |
| jblas::mat33 | Pl |
| Plucker camera matrix. | |
| jblas::mat33 | Plinv |
| Plucker camera inverse matrix. | |
| jblas::vec2 | beta |
| initial plane base vector | |
| jblas::mat22 | covar_beta |
| covariances matrix of initial plane base vector | |
| jblas::mat | JbBeta |
| Jacobian of b wrt beta. | |
| jblas::sym_mat | p_pixCov |
| covariance on pixel coordinate (u,v) | |
| virtual jblas::vec3 jafar::slam::ImagePluckerFeatureObserveModel::imageModelToHomogeneous | ( | jblas::vec const & | rt_ | ) | [protected, pure virtual] |
Image representation to homogeneous transform.
| rt_ | input 2D line representation -- e.g. rt = (rho,theta)' |
Implemented in jafar::slam::ScaledHomogeneousImagePluckerFeatureObserveModel, and jafar::slam::RhoThetaImagePluckerFeatureObserveModel.
| virtual void jafar::slam::ImagePluckerFeatureObserveModel::imageModelToHomogeneousJac | ( | jblas::vec const & | rt_, |
| jblas::mat & | HMrt | ||
| ) | [protected, pure virtual] |
Rho-theta to homogeneous transform -- Jacobian.
| rt_ | input 2D line representation |
| HMrt | output transformation Jacobian |
Implemented in jafar::slam::ScaledHomogeneousImagePluckerFeatureObserveModel, and jafar::slam::RhoThetaImagePluckerFeatureObserveModel.
| virtual void jafar::slam::ImagePluckerFeatureObserveModel::imageModelToHomogeneousJac | ( | jblas::vec const & | rt_, |
| jblas::vec3 & | l, | ||
| jblas::mat & | HMrt | ||
| ) | [protected, pure virtual] |
Rho-theta to homogeneous transform -- Jacobian.
| rt_ | input 2D line representation |
| l | output homogeneous line representation |
| HMrt | output transformation Jacobian |
Implemented in jafar::slam::ScaledHomogeneousImagePluckerFeatureObserveModel, and jafar::slam::RhoThetaImagePluckerFeatureObserveModel.
| void jafar::slam::ImagePluckerFeatureObserveModel::postInitCovariance | ( | jblas::sym_mat_range & | P, |
| jblas::mat const & | Jx | ||
| ) | [virtual] |
Assign covariances of the unobserved part.
| P | covariance of the landmark to initialize in global frame |
| Jx | Jacobian of the feature in global frame wrt the feat. in robot frame |
Reimplemented from jafar::slam::FeatureObserveModel.
| void jafar::slam::ImagePluckerFeatureObserveModel::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::ImagePluckerFeatureObserveModel::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::ImagePluckerFeatureObserveModel::setup | ( | double | beta0 = 0, |
| double | beta1 = 0, |
||
| double | sigma_beta = 0.5 |
||
| ) |
Set up initial parameters.
| beta0 | The first component of the lines director vector for initialization |
| beta1 | the second component |
| sigma_beta | The standard deviation of beta0 and beta1 |
| Generated on Wed Oct 15 2014 00:37:49 for Jafar by doxygen 1.7.6.1 |
|