Implementation of ConstraintSolver to solve inverse kinematics by using a weighted least norm. More...
#include <weighted_least_norm_solver.h>

Public Member Functions | |
| virtual Eigen::MatrixXd | solve (const Vector6d_t &in_cart_velocities, const JointStates &joint_states) |
| WeightedLeastNormSolver (const TwistControllerParams ¶ms, const LimiterParams &limiter_params, TaskStackController_t &task_stack_controller) | |
| virtual | ~WeightedLeastNormSolver () |
Public Member Functions inherited from ConstraintSolver<> | |
| void | clearConstraints () |
| ConstraintSolver (const TwistControllerParams ¶ms, 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_t > | constraints_ |
| set inserts sorted (default less operator); if element has already been added it returns an iterator on it. More... | |
| boost::shared_ptr< DampingBase > | damping_ |
| References the current Jacobian (matrix data only). More... | |
| Matrix6Xd_t | jacobian_data_ |
| References the limiter parameters (up-to-date according to KinematicExtension). More... | |
| const LimiterParams & | limiter_params_ |
| References the inv. diff. kin. solver parameters. More... | |
| const TwistControllerParams & | params_ |
| Set of constraints. More... | |
| PInvBySVD | pinv_calc_ |
| The currently set damping method. More... | |
| TaskStackController_t & | task_stack_controller_ |
| An instance that helps solving the inverse of the Jacobian. More... | |
Implementation of ConstraintSolver to solve inverse kinematics by using a weighted least norm.
Definition at line 25 of file weighted_least_norm_solver.h.
|
inline |
Definition at line 28 of file weighted_least_norm_solver.h.
|
inlinevirtual |
Definition at line 34 of file weighted_least_norm_solver.h.
|
privatevirtual |
Virtual helper method that calculates a weighting for the Jacobian to adapt joint velocity calculation for given constraints.
| q | The current joint positions. |
| q_dot | The current joint velocities. |
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.
|
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.