51 #include <visp3/core/vpMatrix.h>
52 #include <visp3/core/vpVelocityTwistMatrix.h>
53 #include <visp3/visual_features/vpBasicFeature.h>
54 #include <visp3/vs/vpServoException.h>
55 #include <visp3/vs/vpAdaptiveGain.h>
173 EYETOHAND_L_cVf_fVe_eJe,
193 } vpServoIteractionMatrixType;
199 } vpServoInversionType;
235 vpServo(vpServoType servoType) ;
256 vpMatrix computeInteractionMatrix() ;
259 unsigned int getDimension()
const ;
304 vpMatrix getTaskJacobianPseudoInverse()
const;
305 unsigned int getTaskRank()
const;
344 std::ostream &os = std::cout) ;
352 const vpColVector & jointMax,
const double &rho=0.1,
const double &rho1=0.3,
const double &lambda_tune=0.7)
const;
369 this->forceInteractionMatrixComputation = force_computation;
379 void setInteractionMatrixType(
const vpServoIteractionMatrixType &interactionMatrixType,
380 const vpServoInversionType &interactionMatrixInversion=PSEUDO_INVERSE) ;
392 lambda .initFromConstant (c) ;
408 const double gain_at_infinity,
409 const double slope_at_zero)
411 lambda .initStandard (gain_at_zero, gain_at_infinity, slope_at_zero) ;
427 void setMu(
double mu_){this->mu=mu_;}
429 void setServo(
const vpServoType &servo_type) ;
468 bool testInitialization() ;
481 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
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.
Implementation of a velocity twist matrix and operations on such kind of matrices.
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.