Public Member Functions | Protected Member Functions | Protected Attributes
constrained_ik::constraints::AvoidSingularities Class Reference

Constraint that increases dexterity when manipulator is close to singularity Joint velocity is determined by gradient of smallest singular value Constraint is only active when smallest SV is below theshold. More...

#include <avoid_singularities.h>

Inheritance diagram for constrained_ik::constraints::AvoidSingularities:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 AvoidSingularities ()
virtual Eigen::VectorXd calcError ()
 Velocity is gradient of smallest singular value del(sv) = uT * del(J) * v.
virtual Eigen::MatrixXd calcJacobian ()
 Jacobian for this constraint is identity (all joints may contribute)
virtual bool checkStatus () const
 Termination criteria for singularity constraint.
double getWeight ()
void setWeight (double weight)
 Setter for weight_.
virtual void update (const SolverState &state)
 Updates internal state of constraint (overrides constraint::update) Sets jacobian and performs SVD decomposition.
virtual ~AvoidSingularities ()

Protected Member Functions

Eigen::MatrixXd jacobianPartialDerivative (size_t jntIdx, double eps=1e-6)

Protected Attributes

bool avoidance_enabled_
double enable_threshold_
double ignore_threshold_
Eigen::MatrixXd jacobian_orig_
double smallest_sv_
Eigen::VectorXd Ui_
Eigen::VectorXd Vi_
double weight_

Detailed Description

Constraint that increases dexterity when manipulator is close to singularity Joint velocity is determined by gradient of smallest singular value Constraint is only active when smallest SV is below theshold.

Definition at line 34 of file avoid_singularities.h.


Constructor & Destructor Documentation

Definition at line 31 of file avoid_singularities.cpp.

Definition at line 38 of file avoid_singularities.h.


Member Function Documentation

Velocity is gradient of smallest singular value del(sv) = uT * del(J) * v.

Returns:
Joint velocity error scaled by weight

Implements constrained_ik::Constraint.

Definition at line 40 of file avoid_singularities.cpp.

Jacobian for this constraint is identity (all joints may contribute)

Returns:
Identity jacobian scaled by weight

Implements constrained_ik::Constraint.

Definition at line 56 of file avoid_singularities.cpp.

virtual bool constrained_ik::constraints::AvoidSingularities::checkStatus ( ) const [inline, virtual]

Termination criteria for singularity constraint.

Returns:
True always (no termination criteria)

Reimplemented from constrained_ik::Constraint.

Definition at line 54 of file avoid_singularities.h.

Getter for weight_

Returns:
weight_

Definition at line 59 of file avoid_singularities.h.

Eigen::MatrixXd constrained_ik::constraints::AvoidSingularities::jacobianPartialDerivative ( size_t  jntIdx,
double  eps = 1e-6 
) [protected]

Definition at line 64 of file avoid_singularities.cpp.

Setter for weight_.

Parameters:
weightValue to assign to weight_

Definition at line 64 of file avoid_singularities.h.

Updates internal state of constraint (overrides constraint::update) Sets jacobian and performs SVD decomposition.

Parameters:
stateSolverState holding current state of IK solver

Reimplemented from constrained_ik::Constraint.

Definition at line 80 of file avoid_singularities.cpp.


Member Data Documentation

Definition at line 75 of file avoid_singularities.h.

Definition at line 74 of file avoid_singularities.h.

Definition at line 74 of file avoid_singularities.h.

Definition at line 78 of file avoid_singularities.h.

Definition at line 76 of file avoid_singularities.h.

Definition at line 77 of file avoid_singularities.h.

Definition at line 77 of file avoid_singularities.h.

Definition at line 73 of file avoid_singularities.h.


The documentation for this class was generated from the following files:


constrained_ik
Author(s): Chris Lewis , Jeremy Zoss , Dan Solomon
autogenerated on Mon Oct 6 2014 00:52:27