Public Member Functions | Private Member Functions | List of all members
UnifiedJointLimitSingularitySolver Class Reference

Implementation of ConstraintSolver to solve inverse kinematics by using a weighted least norm. More...

#include <unified_joint_limit_singularity_solver.h>

Inheritance diagram for UnifiedJointLimitSingularitySolver:
Inheritance graph
[legend]

Public Member Functions

virtual Eigen::MatrixXd solve (const Vector6d_t &in_cart_velocities, const JointStates &joint_states)
 
 UnifiedJointLimitSingularitySolver (const TwistControllerParams &params, const LimiterParams &limiter_params, TaskStackController_t &task_stack_controller)
 
virtual ~UnifiedJointLimitSingularitySolver ()
 
- Public Member Functions inherited from ConstraintSolver<>
void clearConstraints ()
 
 ConstraintSolver (const TwistControllerParams &params, const LimiterParams &limiter_params, TaskStackController_t &task_stack_controller)
 
void setConstraints (std::set< ConstraintBase_t > &constraints)
 
void setDamping (boost::shared_ptr< DampingBase > &damping)
 
virtual void setJacobianData (const Matrix6Xd_t &jacobian_data)
 
virtual ~ConstraintSolver ()
 

Private Member Functions

virtual Eigen::MatrixXd calculateWeighting (const Vector6d_t &in_cart_velocities, const JointStates &joint_states) const
 

Additional Inherited Members

- Protected Attributes inherited from ConstraintSolver<>
std::set< ConstraintBase_tconstraints_
 set inserts sorted (default less operator); if element has already been added it returns an iterator on it. More...
 
boost::shared_ptr< DampingBasedamping_
 References the current Jacobian (matrix data only). More...
 
Matrix6Xd_t jacobian_data_
 References the limiter parameters (up-to-date according to KinematicExtension). More...
 
const LimiterParamslimiter_params_
 References the inv. diff. kin. solver parameters. More...
 
const TwistControllerParamsparams_
 Set of constraints. More...
 
PInvBySVD pinv_calc_
 The currently set damping method. More...
 
TaskStackController_ttask_stack_controller_
 An instance that helps solving the inverse of the Jacobian. More...
 

Detailed Description

Implementation of ConstraintSolver to solve inverse kinematics by using a weighted least norm.

Definition at line 25 of file unified_joint_limit_singularity_solver.h.

Constructor & Destructor Documentation

UnifiedJointLimitSingularitySolver::UnifiedJointLimitSingularitySolver ( const TwistControllerParams params,
const LimiterParams limiter_params,
TaskStackController_t task_stack_controller 
)
inline

Definition at line 28 of file unified_joint_limit_singularity_solver.h.

virtual UnifiedJointLimitSingularitySolver::~UnifiedJointLimitSingularitySolver ( )
inlinevirtual

Definition at line 34 of file unified_joint_limit_singularity_solver.h.

Member Function Documentation

Eigen::MatrixXd UnifiedJointLimitSingularitySolver::calculateWeighting ( const Vector6d_t in_cart_velocities,
const JointStates joint_states 
) const
privatevirtual

Virtual helper method that calculates a weighting for the Jacobian to adapt joint velocity calculation for given constraints.

Parameters
qThe current joint positions.
q_dotThe current joint velocities.
Returns
Diagonal weighting matrix that adapts the Jacobian.

This function returns the identity as weighting matrix for base functionality.

Definition at line 70 of file unified_joint_limit_singularity_solver.cpp.

Eigen::MatrixXd UnifiedJointLimitSingularitySolver::solve ( const Vector6d_t in_cart_velocities,
const JointStates joint_states 
)
virtual

Specific implementation of solve-method to solve IK problem with joint limit avoidance. See base class ConstraintSolver for more details on params and returns.

Specific implementation simultaneous singularity and joint limit avoidance solver. This work is based in the general weighted least norm and unified weighted least norm methods.

Implements ConstraintSolver<>.

Definition at line 24 of file unified_joint_limit_singularity_solver.cpp.


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


cob_twist_controller
Author(s): Felix Messmer , Marco Bezzon , Christoph Mark , Francisco Moreno
autogenerated on Thu Apr 8 2021 02:40:01