53 #include <visp/vpMatrix.h>
54 #include <visp/vpVelocityTwistMatrix.h>
55 #include <visp/vpBasicFeature.h>
56 #include <visp/vpServoException.h>
58 #include <visp/vpList.h>
59 #include <visp/vpAdaptiveGain.h>
175 } vpServoIteractionMatrixType;
181 } vpServoInversionType;
199 vpServo(vpServoType _servoType) ;
228 void setServo(vpServoType _servo_type) ;
243 void setInteractionMatrixType(
const vpServoIteractionMatrixType &interactionMatrixType,
244 const vpServoInversionType &interactionMatrixInversion=PSEUDO_INVERSE) ;
253 void setLambda(
double _lambda) { lambda .initFromConstant (_lambda) ; }
255 const double at_infinity,
256 const double deriv_at_zero)
257 { lambda .initStandard (at_zero, at_infinity, deriv_at_zero) ; }
268 vpMatrix computeInteractionMatrix() ;
276 bool testInitialization() ;
288 unsigned int getDimension() ;
423 std::ostream &os = std::cout) ;
Definition of the vpMatrix class.
Adaptive gain computation.
vpServoType servoType
Chosen visual servoing control law.
vpList< vpBasicFeature * > desiredFeatureList
List of desired visual features (produce )
static const unsigned int FEATURE_ALL
bool interactionMatrixComputed
true if the interaction matrix has been computed
vpMatrix getTaskJacobian() const
unsigned int rankJ1
Rank of the task Jacobian.
vpVelocityTwistMatrix cVf
Twist transformation matrix between Rf and Rc.
The class provides a data structure for the homogeneous matrices as well as a set of operations on th...
vpList< unsigned int > featureSelectionList
vpVelocityTwistMatrix fVe
Twist transformation matrix between Re and Rf.
vpColVector getTaskSingularValues()
vpColVector e1
Primary task .
void setLambda(double _lambda)
set the gain lambda
vpVelocityTwistMatrix get_cVe() const
void setForceInteractionMatrixComputation(bool forceInteractionMatrixComputation)
vpMatrix fJe
Jacobian expressed in the robot reference frame.
void set_fVe(vpVelocityTwistMatrix &_fVe)
void set_cVe(vpHomogeneousMatrix &cMe)
vpColVector q_dot
Articular velocity.
vpMatrix getI_WpW() const
unsigned int dim_task
dimension of the task
void set_cVe(vpVelocityTwistMatrix &_cVe)
vpServoInversionType inversionType
void set_fVe(vpHomogeneousMatrix &fMe)
class that defines what is a visual feature
void setLambda(const double at_zero, const double at_infinity, const double deriv_at_zero)
vpList< vpBasicFeature * > featureList
List of visual features (produce )
vpColVector getError() const
int signInteractionMatrix
vpMatrix J1
Task Jacobian .
vpMatrix L
Interaction matrix.
vpVelocityTwistMatrix set_fVe() const
void set_eJe(vpMatrix &_eJe)
void set_cVf(vpHomogeneousMatrix &cMf)
bool forceInteractionMatrixComputation
Force the interaction matrix computation even if it is already done.
vpVelocityTwistMatrix get_cVf() const
vpAdaptiveGain lambda
Gain.
vpVelocityTwistMatrix cVe
Twist transformation matrix between Re and Rc.
Class that consider the particular case of twist transformation matrix that allows to transform a vel...
vpServoType getServoType() const
vpServoIteractionMatrixType
void setLambda(const vpAdaptiveGain &_l)
vpMatrix getInteractionMatrix()
vpMatrix getTaskJacobianPseudoInverse() const
Class that provides a data structure for the column vectors as well as a set of operations on these v...
double getTaskRank() const
vpMatrix I_WpW
projection operators I-WpW
vpColVector v
Camera velocity.
bool errorComputed
true if the error has been computed
vpMatrix WpW
projection operators WpW
vpMatrix J1p
Pseudo inverse of the task Jacobian.
Class required to compute the visual servoing control law descbribed in and .
void set_cVf(vpVelocityTwistMatrix &_cVf)
void set_fJe(vpMatrix &_fJe)
vpServoIteractionMatrixType interactionMatrixType
Type of the interaction matrox (current, mean, desired, user)
vpMatrix eJe
Jacobian expressed in the end-effector frame.