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

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

#include <weighted_least_norm_solver.h>

Inheritance diagram for WeightedLeastNormSolver:
Inheritance graph
[legend]

Public Member Functions

virtual Eigen::MatrixXd solve (const Vector6d_t &in_cart_velocities, const JointStates &joint_states)
 
 WeightedLeastNormSolver (const TwistControllerParams &params, const LimiterParams &limiter_params, TaskStackController_t &task_stack_controller)
 
virtual ~WeightedLeastNormSolver ()
 
- 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 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 weighted_least_norm_solver.h.

Constructor & Destructor Documentation

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

Definition at line 28 of file weighted_least_norm_solver.h.

virtual WeightedLeastNormSolver::~WeightedLeastNormSolver ( )
inlinevirtual

Definition at line 34 of file weighted_least_norm_solver.h.

Member Function Documentation

Eigen::MatrixXd WeightedLeastNormSolver::calculateWeighting ( 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.

Reimplemented in WLN_JointLimitAvoidanceSolver.

Definition at line 45 of file weighted_least_norm_solver.cpp.

Eigen::MatrixXd WeightedLeastNormSolver::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 of the solve method using a weighted least norm. This is done by calculation of a weighting which is dependent on inherited classes for the Jacobian. Uses the base implementation of calculatePinvJacobianBySVD to calculate the pseudo-inverse (weighted) Jacobian.

Implements ConstraintSolver<>.

Definition at line 25 of file weighted_least_norm_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