Tesseract
Motion Planning Environment
|
KDL Inverse kinematic chain implementation. More...
#include <kdl_inv_kin_chain_nr.h>
Public Types | |
using | Ptr = std::shared_ptr< KDLInvKinChainNR > |
using | ConstPtr = std::shared_ptr< const KDLInvKinChainNR > |
using | UPtr = std::unique_ptr< KDLInvKinChainNR > |
using | ConstUPtr = std::unique_ptr< const KDLInvKinChainNR > |
Public Types inherited from tesseract_kinematics::InverseKinematics | |
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 | |
~KDLInvKinChainNR () override=default | |
KDLInvKinChainNR (const KDLInvKinChainNR &other) | |
KDLInvKinChainNR & | operator= (const KDLInvKinChainNR &other) |
KDLInvKinChainNR (KDLInvKinChainNR &&)=delete | |
KDLInvKinChainNR & | operator= (KDLInvKinChainNR &&)=delete |
KDLInvKinChainNR (const tesseract_scene_graph::SceneGraph &scene_graph, const std::string &base_link, const std::string &tip_link, std::string solver_name=KDL_INV_KIN_CHAIN_NR_SOLVER_NAME) | |
Construct KDL Forward Kinematics Creates KDL::Chain from tesseract scene graph. More... | |
KDLInvKinChainNR (const tesseract_scene_graph::SceneGraph &scene_graph, const std::vector< std::pair< std::string, std::string > > &chains, std::string solver_name=KDL_INV_KIN_CHAIN_NR_SOLVER_NAME) | |
Construct Inverse Kinematics as chain Creates a inverse kinematic chain object from sequential chains. More... | |
IKSolutions | calcInvKin (const tesseract_common::TransformMap &tip_link_poses, const Eigen::Ref< const Eigen::VectorXd > &seed) const override final |
Calculates joint solutions given a pose for each tip link. More... | |
std::vector< std::string > | getJointNames () const override final |
Get list of joint names for kinematic object. More... | |
Eigen::Index | numJoints () const override final |
Number of joints in robot. More... | |
std::string | getBaseLinkName () const override final |
Get the robot base link name. More... | |
std::string | getWorkingFrame () const override final |
Get the inverse kinematics working frame. More... | |
std::vector< std::string > | getTipLinkNames () const override final |
Get the names of the tip links of the kinematics group. More... | |
std::string | getSolverName () const override final |
Get the name of the solver. Recommend using the name of the class. More... | |
InverseKinematics::UPtr | clone () const override final |
Clone the forward kinematics object. More... | |
Public Member Functions inherited from tesseract_kinematics::InverseKinematics | |
InverseKinematics ()=default | |
virtual | ~InverseKinematics ()=default |
InverseKinematics (const InverseKinematics &)=default | |
InverseKinematics & | operator= (const InverseKinematics &)=default |
InverseKinematics (InverseKinematics &&)=default | |
InverseKinematics & | operator= (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... | |
Private Member Functions | |
IKSolutions | calcInvKinHelper (const Eigen::Isometry3d &pose, const Eigen::Ref< const Eigen::VectorXd > &seed, int segment_num=-1) const |
calcFwdKin helper function More... | |
Private Attributes | |
KDLChainData | kdl_data_ |
KDL data parsed from Scene Graph. More... | |
std::unique_ptr< KDL::ChainFkSolverPos_recursive > | fk_solver_ |
KDL Forward Kinematic Solver. More... | |
std::unique_ptr< KDL::ChainIkSolverVel_pinv > | ik_vel_solver_ |
KDL Inverse kinematic velocity solver. More... | |
std::unique_ptr< KDL::ChainIkSolverPos_NR > | ik_solver_ |
KDL Inverse kinematic solver. More... | |
std::string | solver_name_ { KDL_INV_KIN_CHAIN_NR_SOLVER_NAME } |
Name of this solver. More... | |
std::mutex | mutex_ |
KDL is not thread safe due to mutable variables in Joint Class. More... | |
KDL Inverse kinematic chain implementation.
using tesseract_kinematics::KDLInvKinChainNR::ConstPtr = std::shared_ptr<const KDLInvKinChainNR> |
using tesseract_kinematics::KDLInvKinChainNR::ConstUPtr = std::unique_ptr<const KDLInvKinChainNR> |
using tesseract_kinematics::KDLInvKinChainNR::Ptr = std::shared_ptr<KDLInvKinChainNR> |
using tesseract_kinematics::KDLInvKinChainNR::UPtr = std::unique_ptr<KDLInvKinChainNR> |
|
overridedefault |
tesseract_kinematics::KDLInvKinChainNR::KDLInvKinChainNR | ( | const KDLInvKinChainNR & | other | ) |
|
delete |
tesseract_kinematics::KDLInvKinChainNR::KDLInvKinChainNR | ( | const tesseract_scene_graph::SceneGraph & | scene_graph, |
const std::string & | base_link, | ||
const std::string & | tip_link, | ||
std::string | solver_name = KDL_INV_KIN_CHAIN_NR_SOLVER_NAME |
||
) |
Construct KDL Forward Kinematics Creates KDL::Chain from tesseract scene graph.
scene_graph | The Tesseract Scene Graph |
base_link | The name of the base link for the kinematic chain |
tip_link | The name of the tip link for the kinematic chain |
solver_name | The solver name of the kinematic chain |
tesseract_kinematics::KDLInvKinChainNR::KDLInvKinChainNR | ( | const tesseract_scene_graph::SceneGraph & | scene_graph, |
const std::vector< std::pair< std::string, std::string > > & | chains, | ||
std::string | solver_name = KDL_INV_KIN_CHAIN_NR_SOLVER_NAME |
||
) |
Construct Inverse Kinematics as chain Creates a inverse kinematic chain object from sequential chains.
scene_graph | The Tesseract Scene Graph |
chains | A vector of kinematics chains <base_link, tip_link> that get concatenated |
solver_name | The solver name of the kinematic chain |
|
finaloverridevirtual |
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.
tip_link_poses | A 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 |
seed | Vector of seed joint angles (size must match number of joints in kinematic object) |
Implements tesseract_kinematics::InverseKinematics.
|
private |
calcFwdKin helper function
|
finaloverridevirtual |
Clone the forward kinematics object.
Implements tesseract_kinematics::InverseKinematics.
|
finaloverridevirtual |
Get the robot base link name.
Implements tesseract_kinematics::InverseKinematics.
|
finaloverridevirtual |
Get list of joint names for kinematic object.
Implements tesseract_kinematics::InverseKinematics.
|
finaloverridevirtual |
Get the name of the solver. Recommend using the name of the class.
Implements tesseract_kinematics::InverseKinematics.
|
finaloverridevirtual |
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.
Implements tesseract_kinematics::InverseKinematics.
|
finaloverridevirtual |
Get the inverse kinematics working frame.
This is the frame of reference in which all poses given to the calcInvKin function should be defined
Implements tesseract_kinematics::InverseKinematics.
|
finaloverridevirtual |
Number of joints in robot.
Implements tesseract_kinematics::InverseKinematics.
KDLInvKinChainNR & tesseract_kinematics::KDLInvKinChainNR::operator= | ( | const KDLInvKinChainNR & | other | ) |
|
delete |
|
private |
KDL Forward Kinematic Solver.
|
private |
KDL Inverse kinematic solver.
|
private |
KDL Inverse kinematic velocity solver.
|
private |
KDL data parsed from Scene Graph.
|
mutableprivate |
KDL is not thread safe due to mutable variables in Joint Class.
|
private |
Name of this solver.