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> 173 EYETOHAND_L_cVf_fVe_eJe,
248 explicit vpServo(vpServoType servoType);
267 vpMatrix computeInteractionMatrix();
270 unsigned int getDimension()
const;
309 vpMatrix getTaskJacobianPseudoInverse()
const;
310 unsigned int getTaskRank()
const;
357 const bool &useLargeProjectionOperator =
false);
360 const vpColVector &jointMax,
const double &rho = 0.1,
361 const double &rho1 = 0.3,
const double &lambda_tune = 0.7)
const;
383 this->forceInteractionMatrixComputation = force_computation;
393 void setInteractionMatrixType(
const vpServoIteractionMatrixType &interactionMatrixType,
394 const vpServoInversionType &interactionMatrixInversion = PSEUDO_INVERSE);
406 void setLambda(
double c) { lambda.initFromConstant(c); }
423 void setLambda(
const double gain_at_zero,
const double gain_at_infinity,
const double slope_at_zero)
425 lambda.initStandard(gain_at_zero, gain_at_infinity, slope_at_zero);
442 void setMu(
double mu_) { this->mu = mu_; }
444 void setServo(
const vpServoType &servo_type);
527 bool testInitialization();
540 void computeProjectionOperators();
Implementation of a matrix and operations on matrices.
Adaptive gain computation.
vpServoType servoType
Chosen visual servoing control law.
void set_fVe(const vpHomogeneousMatrix &fMe)
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 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_)
vpVelocityTwistMatrix get_cVe() const
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().
vpColVector getTaskSingularValues() const
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)
vpColVector getError() const
int signInteractionMatrix
vpMatrix J1
Task Jacobian .
vpMatrix L
Interaction matrix.
bool forceInteractionMatrixComputation
Force the interaction matrix computation even if it is already done.
void setForceInteractionMatrixComputation(bool force_computation)
vpMatrix getInteractionMatrix() const
vpVelocityTwistMatrix get_cVf() const
vpAdaptiveGain lambda
Gain used in the control law.
void setLambda(const double gain_at_zero, const double gain_at_infinity, const double slope_at_zero)
vpVelocityTwistMatrix cVe
Twist transformation matrix between Re and Rc.
vpServoType getServoType() const
vpServoIteractionMatrixType
void set_cVf(const vpHomogeneousMatrix &cMf)
void set_fVe(const vpVelocityTwistMatrix &fVe_)
std::list< vpBasicFeature * > desiredFeatureList
List of desired visual features .
Implementation of column vector and the associated operations.
void set_cVe(const vpVelocityTwistMatrix &cVe_)
void set_cVe(const vpHomogeneousMatrix &cMe)
vpMatrix I_WpW
Projection operators .
vpColVector v
Camera velocity.
vpVelocityTwistMatrix get_fVe() const
bool errorComputed
true if the error has been computed.
vpMatrix WpW
Projection operators .
vpMatrix J1p
Pseudo inverse of the task Jacobian.
void setLambda(const vpAdaptiveGain &l)
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.