Tesseract
Motion Planning Environment
|
KDL kinematic chain implementation. More...
#include <kdl_fwd_kin_chain.h>
Public Types | |
using | Ptr = std::shared_ptr< KDLFwdKinChain > |
using | ConstPtr = std::shared_ptr< const KDLFwdKinChain > |
using | UPtr = std::unique_ptr< KDLFwdKinChain > |
using | ConstUPtr = std::unique_ptr< const KDLFwdKinChain > |
Public Types inherited from tesseract_kinematics::ForwardKinematics | |
using | Ptr = std::shared_ptr< ForwardKinematics > |
using | ConstPtr = std::shared_ptr< const ForwardKinematics > |
using | UPtr = std::unique_ptr< ForwardKinematics > |
using | ConstUPtr = std::unique_ptr< const ForwardKinematics > |
Public Member Functions | |
~KDLFwdKinChain () override=default | |
KDLFwdKinChain (const KDLFwdKinChain &other) | |
KDLFwdKinChain & | operator= (const KDLFwdKinChain &other) |
KDLFwdKinChain (KDLFwdKinChain &&)=delete | |
KDLFwdKinChain & | operator= (KDLFwdKinChain &&)=delete |
KDLFwdKinChain (const tesseract_scene_graph::SceneGraph &scene_graph, const std::string &base_link, const std::string &tip_link, std::string solver_name=KDL_FWD_KIN_CHAIN_SOLVER_NAME) | |
Initializes Forward Kinematics as chain Creates a forward kinematic chain object. More... | |
KDLFwdKinChain (const tesseract_scene_graph::SceneGraph &scene_graph, const std::vector< std::pair< std::string, std::string > > &chains, std::string solver_name=KDL_FWD_KIN_CHAIN_SOLVER_NAME) | |
Construct Forward Kinematics as chain Creates a forward kinematic chain object from sequential chains. More... | |
tesseract_common::TransformMap | calcFwdKin (const Eigen::Ref< const Eigen::VectorXd > &joint_angles) const override final |
Calculates the transform for each tip link in the kinematic group. More... | |
Eigen::MatrixXd | calcJacobian (const Eigen::Ref< const Eigen::VectorXd > &joint_angles, const std::string &joint_link_name) const override final |
Calculates the Jacobian matrix for a given joint state in the reference frame of the specified link. More... | |
std::string | getBaseLinkName () const override final |
Get the robot base link name. More... | |
std::vector< std::string > | getJointNames () const override final |
Get list of joint names for kinematic object. More... | |
std::vector< std::string > | getTipLinkNames () const override final |
Get list of tip link names for kinematic object. More... | |
Eigen::Index | numJoints () const override final |
Number of joints in robot. More... | |
std::string | getSolverName () const override final |
Get the name of the solver. Recommend using the name of the class. More... | |
ForwardKinematics::UPtr | clone () const override final |
Clone the forward kinematics object. More... | |
Public Member Functions inherited from tesseract_kinematics::ForwardKinematics | |
ForwardKinematics ()=default | |
virtual | ~ForwardKinematics ()=default |
ForwardKinematics (const ForwardKinematics &)=default | |
ForwardKinematics & | operator= (const ForwardKinematics &)=default |
ForwardKinematics (ForwardKinematics &&)=default | |
ForwardKinematics & | operator= (ForwardKinematics &&)=default |
virtual tesseract_common::TransformMap | calcFwdKin (const Eigen::Ref< const Eigen::VectorXd > &joint_angles) const =0 |
Calculates the transform for each tip link in the kinematic group. More... | |
virtual Eigen::MatrixXd | calcJacobian (const Eigen::Ref< const Eigen::VectorXd > &joint_angles, const std::string &link_name) const =0 |
Calculates the Jacobian matrix for a given joint state in the reference frame of the specified link. More... | |
virtual std::string | getBaseLinkName () const =0 |
Get the robot base link name. More... | |
virtual std::vector< std::string > | getJointNames () const =0 |
Get list of joint names for kinematic object. More... | |
virtual std::vector< std::string > | getTipLinkNames () const =0 |
Get list of tip link names for kinematic object. More... | |
virtual Eigen::Index | numJoints () const =0 |
Number of joints in robot. More... | |
virtual std::string | getSolverName () const =0 |
Get the name of the solver. Recommend using the name of the class. More... | |
virtual ForwardKinematics::UPtr | clone () const =0 |
Clone the forward kinematics object. More... | |
Private Member Functions | |
tesseract_common::TransformMap | calcFwdKinHelperAll (const Eigen::Ref< const Eigen::VectorXd > &joint_angles) const |
calcFwdKin helper function More... | |
bool | calcJacobianHelper (KDL::Jacobian &jacobian, const Eigen::Ref< const Eigen::VectorXd > &joint_angles, int segment_num=-1) const |
calcJacobian helper function More... | |
Private Attributes | |
KDLChainData | kdl_data_ |
std::string | name_ |
std::unique_ptr< KDL::ChainFkSolverPos_recursive > | fk_solver_ |
std::unique_ptr< KDL::ChainJntToJacSolver > | jac_solver_ |
std::string | solver_name_ { KDL_FWD_KIN_CHAIN_SOLVER_NAME } |
Name of this solver. More... | |
std::mutex | mutex_ |
KDL is not thread safe due to mutable variables in Joint Class. More... | |
KDL kinematic chain implementation.
Typically, just wrappers around the equivalent KDL calls.
using tesseract_kinematics::KDLFwdKinChain::ConstPtr = std::shared_ptr<const KDLFwdKinChain> |
using tesseract_kinematics::KDLFwdKinChain::ConstUPtr = std::unique_ptr<const KDLFwdKinChain> |
using tesseract_kinematics::KDLFwdKinChain::Ptr = std::shared_ptr<KDLFwdKinChain> |
using tesseract_kinematics::KDLFwdKinChain::UPtr = std::unique_ptr<KDLFwdKinChain> |
|
overridedefault |
tesseract_kinematics::KDLFwdKinChain::KDLFwdKinChain | ( | const KDLFwdKinChain & | other | ) |
|
delete |
tesseract_kinematics::KDLFwdKinChain::KDLFwdKinChain | ( | const tesseract_scene_graph::SceneGraph & | scene_graph, |
const std::string & | base_link, | ||
const std::string & | tip_link, | ||
std::string | solver_name = KDL_FWD_KIN_CHAIN_SOLVER_NAME |
||
) |
Initializes Forward Kinematics as chain Creates a forward kinematic chain object.
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::KDLFwdKinChain::KDLFwdKinChain | ( | const tesseract_scene_graph::SceneGraph & | scene_graph, |
const std::vector< std::pair< std::string, std::string > > & | chains, | ||
std::string | solver_name = KDL_FWD_KIN_CHAIN_SOLVER_NAME |
||
) |
Construct Forward Kinematics as chain Creates a forward 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 the transform for each tip link in the kinematic group.
This should return a transform for every link listed in getTipLinkNames() Throws an exception on failures (including uninitialized)
joint_angles | Vector of joint angles (size must match number of joints in robot chain) |
Implements tesseract_kinematics::ForwardKinematics.
|
private |
calcFwdKin helper function
|
finaloverridevirtual |
Calculates the Jacobian matrix for a given joint state in the reference frame of the specified link.
This should be able to return a jacobian given any link listed in getTipLinkNames() Throws an exception on failures (including uninitialized)
joint_angles | Input vector of joint angles |
link_name | The link name to calculate jacobian |
Implements tesseract_kinematics::ForwardKinematics.
|
private |
calcJacobian helper function
|
finaloverridevirtual |
Clone the forward kinematics object.
Implements tesseract_kinematics::ForwardKinematics.
|
finaloverridevirtual |
Get the robot base link name.
Implements tesseract_kinematics::ForwardKinematics.
|
finaloverridevirtual |
Get list of joint names for kinematic object.
Implements tesseract_kinematics::ForwardKinematics.
|
finaloverridevirtual |
Get the name of the solver. Recommend using the name of the class.
Implements tesseract_kinematics::ForwardKinematics.
|
finaloverridevirtual |
Get list of tip link names for kinematic object.
Implements tesseract_kinematics::ForwardKinematics.
|
finaloverridevirtual |
Number of joints in robot.
Implements tesseract_kinematics::ForwardKinematics.
KDLFwdKinChain & tesseract_kinematics::KDLFwdKinChain::operator= | ( | const KDLFwdKinChain & | other | ) |
|
delete |
|
private |
KDL Forward Kinematic Solver
|
private |
KDL Jacobian Solver
|
private |
KDL data parsed from Scene Graph
|
mutableprivate |
KDL is not thread safe due to mutable variables in Joint Class.
|
private |
Name of the kinematic chain
|
private |
Name of this solver.