Simox  2.3.50
VirtualRobot::JointLimitAvoidanceJacobi Class Reference
Inheritance diagram for VirtualRobot::JointLimitAvoidanceJacobi:
VirtualRobot::JacobiProvider

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW JointLimitAvoidanceJacobi (RobotNodeSetPtr rns, JacobiProvider::InverseJacobiMethod invJacMethod=JacobiProvider::eSVD)
 
virtual Eigen::MatrixXf getJacobianMatrix ()
 
virtual Eigen::MatrixXf getJacobianMatrix (VirtualRobot::SceneObjectPtr tcp)
 
virtual Eigen::VectorXf getError (float stepSize=1.0f)
 
bool checkTolerances ()
 
- Public Member Functions inherited from VirtualRobot::JacobiProvider
 JacobiProvider (RobotNodeSetPtr rns, InverseJacobiMethod invJacMethod=eSVD)
 
virtual ~JacobiProvider ()
 
virtual Eigen::MatrixXd getJacobianMatrixD ()
 
virtual Eigen::MatrixXd getJacobianMatrixD (SceneObjectPtr tcp)
 
virtual Eigen::MatrixXf computePseudoInverseJacobianMatrix (const Eigen::MatrixXf &m) const
 
virtual Eigen::MatrixXd computePseudoInverseJacobianMatrixD (const Eigen::MatrixXd &m) const
 
virtual Eigen::MatrixXf computePseudoInverseJacobianMatrix (const Eigen::MatrixXf &m, float invParameter) const
 
virtual Eigen::MatrixXd computePseudoInverseJacobianMatrixD (const Eigen::MatrixXd &m, double invParameter) const
 
virtual void updatePseudoInverseJacobianMatrix (Eigen::MatrixXf &invJac, const Eigen::MatrixXf &m, float invParameter=0.0f) const
 
virtual void updatePseudoInverseJacobianMatrixD (Eigen::MatrixXd &invJac, const Eigen::MatrixXd &m, double invParameter=0.0) const
 
virtual Eigen::MatrixXf getPseudoInverseJacobianMatrix ()
 
virtual Eigen::MatrixXd getPseudoInverseJacobianMatrixD ()
 
virtual Eigen::MatrixXf getPseudoInverseJacobianMatrix (SceneObjectPtr tcp)
 
virtual Eigen::MatrixXd getPseudoInverseJacobianMatrixD (SceneObjectPtr tcp)
 
VirtualRobot::RobotNodeSetPtr getRobotNodeSet ()
 
bool isInitialized ()
 
void setJointWeights (const Eigen::VectorXf &jointWeights)
 
virtual void print ()
 print Print current status of the IK solver More...
 

Protected Attributes

std::vector< RobotNodePtrnodes
 
- Protected Attributes inherited from VirtualRobot::JacobiProvider
std::string name
 
RobotNodeSetPtr rns
 
InverseJacobiMethod inverseMethod
 
bool initialized
 
Eigen::VectorXf jointWeights
 

Additional Inherited Members

- Public Types inherited from VirtualRobot::JacobiProvider
enum  InverseJacobiMethod { eSVD, eSVDDamped, eTranspose }
 Several methods are offered for inverting the Jacobi (i.e. building the Pseudoinverse) More...
 

Detailed Description

This class creates a dummy Jacobian matrix (identity) that can be used to specify a joint space task (e.g. a joint limit avoidance task)

Constructor & Destructor Documentation

VirtualRobot::JointLimitAvoidanceJacobi::JointLimitAvoidanceJacobi ( RobotNodeSetPtr  rns,
JacobiProvider::InverseJacobiMethod  invJacMethod = JacobiProvider::eSVD 
)

Member Function Documentation

bool VirtualRobot::JointLimitAvoidanceJacobi::checkTolerances ( )
virtual

Not used, only implemented because of superclass JacobiProvider, always returns true

Implements VirtualRobot::JacobiProvider.

Eigen::VectorXf VirtualRobot::JointLimitAvoidanceJacobi::getError ( float  stepSize = 1.0f)
virtual

Computes the complete error vector that is given by the distance to the center of the joint limits. Translational Joints are ignored (error = 0)

Parameters
stepSizeThe error can be reduced by this factor.

Implements VirtualRobot::JacobiProvider.

Eigen::MatrixXf VirtualRobot::JointLimitAvoidanceJacobi::getJacobianMatrix ( )
virtual
Eigen::MatrixXf VirtualRobot::JointLimitAvoidanceJacobi::getJacobianMatrix ( VirtualRobot::SceneObjectPtr  tcp)
virtual

Field Documentation

std::vector<RobotNodePtr> VirtualRobot::JointLimitAvoidanceJacobi::nodes
protected