Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
tesseract_kinematics::InverseKinematics Class Referenceabstract

Inverse kinematics functions. More...

#include <inverse_kinematics.h>

Inheritance diagram for tesseract_kinematics::InverseKinematics:
Inheritance graph
[legend]

Public Types

using Ptr = std::shared_ptr< InverseKinematics >
 
using ConstPtr = std::shared_ptr< const InverseKinematics >
 
using UPtr = std::unique_ptr< InverseKinematics >
 
using ConstUPtr = std::unique_ptr< const InverseKinematics >
 

Public Member Functions

 InverseKinematics ()=default
 
virtual ~InverseKinematics ()=default
 
 InverseKinematics (const InverseKinematics &)=default
 
InverseKinematicsoperator= (const InverseKinematics &)=default
 
 InverseKinematics (InverseKinematics &&)=default
 
InverseKinematicsoperator= (InverseKinematics &&)=default
 
virtual IKSolutions calcInvKin (const tesseract_common::TransformMap &tip_link_poses, const Eigen::Ref< const Eigen::VectorXd > &seed) const =0
 Calculates joint solutions given a pose for each tip link. More...
 
virtual std::vector< std::string > getJointNames () const =0
 Get list of joint names for kinematic object. More...
 
virtual Eigen::Index numJoints () const =0
 Number of joints in robot. More...
 
virtual std::string getBaseLinkName () const =0
 Get the robot base link name. More...
 
virtual std::string getWorkingFrame () const =0
 Get the inverse kinematics working frame. More...
 
virtual std::vector< std::string > getTipLinkNames () const =0
 Get the names of the tip links of the kinematics group. More...
 
virtual std::string getSolverName () const =0
 Get the name of the solver. Recommend using the name of the class. More...
 
virtual InverseKinematics::UPtr clone () const =0
 Clone the forward kinematics object. More...
 

Detailed Description

Inverse kinematics functions.

Member Typedef Documentation

◆ ConstPtr

◆ ConstUPtr

◆ Ptr

◆ UPtr

Constructor & Destructor Documentation

◆ InverseKinematics() [1/3]

tesseract_kinematics::InverseKinematics::InverseKinematics ( )
default

◆ ~InverseKinematics()

virtual tesseract_kinematics::InverseKinematics::~InverseKinematics ( )
virtualdefault

◆ InverseKinematics() [2/3]

tesseract_kinematics::InverseKinematics::InverseKinematics ( const InverseKinematics )
default

◆ InverseKinematics() [3/3]

tesseract_kinematics::InverseKinematics::InverseKinematics ( InverseKinematics &&  )
default

Member Function Documentation

◆ calcInvKin()

virtual IKSolutions tesseract_kinematics::InverseKinematics::calcInvKin ( const tesseract_common::TransformMap tip_link_poses,
const Eigen::Ref< const Eigen::VectorXd > &  seed 
) const
pure virtual

Calculates joint solutions given a pose for each tip link.

This interface supports IK for both kinematic chains that have a single tool tip link and kinematic chains that have multiple tip links. For example, consider a robot with external part positioner: a pose can be specified to be relative to the tip link of the robot or the tip link of the positioner is to support a pose relative to a active link. For example a robot with an external positioner where the pose is relative to the tip link of the positioner.

Note
Redundant joint solutions can be provided by the utility function getRedundantSolutions
Parameters
tip_link_posesA map of poses corresponding to each tip link provided in getTipLinkNames and relative to the working frame of the kinematics group for which to solve inverse kinematics
seedVector of seed joint angles (size must match number of joints in kinematic object)
Returns
A vector of solutions, If empty it failed to find a solution (including uninitialized)

Implemented in tesseract_kinematics::IKFastInvKin, tesseract_kinematics::REPInvKin, tesseract_kinematics::ROPInvKin, tesseract_kinematics::KDLInvKinChainLMA, tesseract_kinematics::KDLInvKinChainNR, tesseract_kinematics::OPWInvKin, and tesseract_kinematics::URInvKin.

◆ clone()

virtual InverseKinematics::UPtr tesseract_kinematics::InverseKinematics::clone ( ) const
pure virtual

◆ getBaseLinkName()

virtual std::string tesseract_kinematics::InverseKinematics::getBaseLinkName ( ) const
pure virtual

◆ getJointNames()

virtual std::vector< std::string > tesseract_kinematics::InverseKinematics::getJointNames ( ) const
pure virtual

◆ getSolverName()

virtual std::string tesseract_kinematics::InverseKinematics::getSolverName ( ) const
pure virtual

◆ getTipLinkNames()

virtual std::vector< std::string > tesseract_kinematics::InverseKinematics::getTipLinkNames ( ) const
pure virtual

Get the names of the tip links of the kinematics group.

In the case of a kinematic chain, this returns one tip link; in the case of a kinematic tree this returns the tip link for each branch of the tree.

Implemented in tesseract_kinematics::IKFastInvKin, tesseract_kinematics::REPInvKin, tesseract_kinematics::ROPInvKin, tesseract_kinematics::KDLInvKinChainLMA, tesseract_kinematics::KDLInvKinChainNR, tesseract_kinematics::OPWInvKin, and tesseract_kinematics::URInvKin.

◆ getWorkingFrame()

virtual std::string tesseract_kinematics::InverseKinematics::getWorkingFrame ( ) const
pure virtual

Get the inverse kinematics working frame.

This is the frame of reference in which all poses given to the calcInvKin function should be defined

Implemented in tesseract_kinematics::IKFastInvKin, tesseract_kinematics::REPInvKin, tesseract_kinematics::ROPInvKin, tesseract_kinematics::KDLInvKinChainLMA, tesseract_kinematics::KDLInvKinChainNR, tesseract_kinematics::OPWInvKin, and tesseract_kinematics::URInvKin.

◆ numJoints()

virtual Eigen::Index tesseract_kinematics::InverseKinematics::numJoints ( ) const
pure virtual

◆ operator=() [1/2]

InverseKinematics & tesseract_kinematics::InverseKinematics::operator= ( const InverseKinematics )
default

◆ operator=() [2/2]

InverseKinematics & tesseract_kinematics::InverseKinematics::operator= ( InverseKinematics &&  )
default

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