Implementation of ConstraintSolver to solve inverse kinematics by using a weighted least norm. More...
#include <unified_joint_limit_singularity_solver.h>
Public Member Functions | |
virtual Eigen::MatrixXd | solve (const Vector6d_t &in_cart_velocities, const JointStates &joint_states) |
UnifiedJointLimitSingularitySolver (const TwistControllerParams ¶ms, const LimiterParams &limiter_params, TaskStackController_t &task_stack_controller) | |
virtual | ~UnifiedJointLimitSingularitySolver () |
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 Vector6d_t &in_cart_velocities, 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 unified_joint_limit_singularity_solver.h.
|
inline |
Definition at line 28 of file unified_joint_limit_singularity_solver.h.
|
inlinevirtual |
Definition at line 34 of file unified_joint_limit_singularity_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.
Definition at line 70 of file unified_joint_limit_singularity_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 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.