51 #include <visp3/core/vpMatrix.h> 52 #include <visp3/core/vpVelocityTwistMatrix.h> 53 #include <visp3/visual_features/vpBasicFeature.h> 54 #include <visp3/vs/vpAdaptiveGain.h> 55 #include <visp3/vs/vpServoException.h> 169 EYETOHAND_L_cVf_fVe_eJe,
244 explicit vpServo(vpServoType servoType);
263 vpMatrix computeInteractionMatrix();
266 unsigned int getDimension()
const;
305 vpMatrix getTaskJacobianPseudoInverse()
const;
306 unsigned int getTaskRank()
const;
344 double getPseudoInverseThreshold()
const;
355 const bool &useLargeProjectionOperator =
false);
358 const vpColVector &jointMax,
const double &rho = 0.1,
359 const double &rho1 = 0.3,
const double &lambda_tune = 0.7);
381 this->forceInteractionMatrixComputation = force_computation;
391 void setInteractionMatrixType(
const vpServoIteractionMatrixType &interactionMatrixType,
392 const vpServoInversionType &interactionMatrixInversion = PSEUDO_INVERSE);
404 void setLambda(
double c) { lambda.initFromConstant(c); }
421 void setLambda(
double gain_at_zero,
double gain_at_infinity,
double slope_at_zero)
423 lambda.initStandard(gain_at_zero, gain_at_infinity, slope_at_zero);
440 void setMu(
double mu_) { this->mu = mu_; }
442 void setServo(
const vpServoType &servo_type);
521 void setPseudoInverseThreshold(
double pseudo_inverse_threshold);
527 bool testInitialization();
Implementation of a matrix and operations on matrices.
Adaptive gain computation.
vpServoType servoType
Chosen visual servoing control law.
void set_fVe(const vpHomogeneousMatrix &fMe)
vpMatrix I
Identity matrix.
bool interactionMatrixComputed
true if the interaction matrix has been computed.
bool taskWasKilled
Flag to indicate if the task was killed.
unsigned int rankJ1
Rank of the task Jacobian.
vpVelocityTwistMatrix cVf
Twist transformation matrix between Rf and Rc.
Implementation of an homogeneous matrix and operations on such kind of matrices.
void set_fJe(const vpMatrix &fJe_)
vpVelocityTwistMatrix get_cVf() const
vpVelocityTwistMatrix fVe
Twist transformation matrix between Re and Rf.
vpColVector sv
Singular values from the pseudo inverse.
vpColVector e1
Primary task .
void set_eJe(const vpMatrix &eJe_)
vpMatrix fJe
Jacobian expressed in the robot reference frame.
vpColVector q_dot
Articular velocity.
unsigned int dim_task
Dimension of the task updated during computeControlLaw().
vpServoInversionType inversionType
class that defines what is a visual feature
std::list< unsigned int > featureSelectionList
bool iscJcIdentity
Boolean to know if cJc is identity (for fast computation)
int signInteractionMatrix
vpMatrix J1
Task Jacobian .
vpColVector getTaskSingularValues() const
vpMatrix L
Interaction matrix.
vpVelocityTwistMatrix get_cVe() const
bool forceInteractionMatrixComputation
Force the interaction matrix computation even if it is already done.
void setForceInteractionMatrixComputation(bool force_computation)
vpAdaptiveGain lambda
Gain used in the control law.
vpVelocityTwistMatrix cVe
Twist transformation matrix between Re and Rc.
vpServoIteractionMatrixType
vpServoType getServoType() const
void set_cVf(const vpHomogeneousMatrix &cMf)
void set_fVe(const vpVelocityTwistMatrix &fVe_)
vpMatrix getInteractionMatrix() const
std::list< vpBasicFeature * > desiredFeatureList
List of desired visual features .
Implementation of column vector and the associated operations.
void set_cVe(const vpVelocityTwistMatrix &cVe_)
double m_pseudo_inverse_threshold
Threshold used in the pseudo inverse.
void set_cVe(const vpHomogeneousMatrix &cMe)
vpMatrix I_WpW
Projection operators .
vpColVector v
Camera velocity.
vpColVector getError() const
bool errorComputed
true if the error has been computed.
void setLambda(double gain_at_zero, double gain_at_infinity, double slope_at_zero)
vpMatrix WpW
Projection operators .
vpVelocityTwistMatrix get_fVe() const
vpMatrix J1p
Pseudo inverse of the task Jacobian.
void setLambda(const vpAdaptiveGain &l)
bool m_first_iteration
True until first call of computeControlLaw() is achieved.
std::list< vpBasicFeature * > featureList
List of current visual features .
void set_cVf(const vpVelocityTwistMatrix &cVf_)
vpServoIteractionMatrixType interactionMatrixType
Type of the interaction matrox (current, mean, desired, user)
vpMatrix eJe
Jacobian expressed in the end-effector frame.