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(
double gain_at_zero,
double gain_at_infinity,
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 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_)
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)
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.