kdl_utils.h
Go to the documentation of this file.
1 
26 #ifndef TESSERACT_KINEMATICS_KDL_UTILS_H
27 #define TESSERACT_KINEMATICS_KDL_UTILS_H
28 
31 #include <kdl/frames.hpp>
32 #include <kdl/jntarray.hpp>
33 #include <kdl/tree.hpp>
34 #include <kdl/chain.hpp>
35 #include <Eigen/Geometry>
37 
39 
40 namespace tesseract_kinematics
41 {
47 void KDLToEigen(const KDL::Frame& frame, Eigen::Isometry3d& transform);
48 
54 void EigenToKDL(const Eigen::Isometry3d& transform, KDL::Frame& frame);
55 
61 void KDLToEigen(const KDL::Jacobian& jacobian, Eigen::Ref<Eigen::MatrixXd> matrix);
62 
69 void KDLToEigen(const KDL::Jacobian& jacobian, const std::vector<int>& q_nrs, Eigen::Ref<Eigen::MatrixXd> matrix);
70 
76 void EigenToKDL(const Eigen::Ref<const Eigen::VectorXd>& vec, KDL::JntArray& joints);
77 
83 void KDLToEigen(const KDL::JntArray& joints, Eigen::Ref<Eigen::VectorXd> vec);
84 
92 {
93  KDL::Chain robot_chain;
94  KDL::Tree kdl_tree;
95  std::vector<std::string> joint_names;
96  std::string base_link_name;
97  std::string tip_link_name;
98  std::map<std::string, int> segment_index;
99  std::vector<std::pair<std::string, std::string>> chains;
100  KDL::JntArray q_min;
101  KDL::JntArray q_max;
102 };
103 
112 bool parseSceneGraph(KDLChainData& results,
113  const tesseract_scene_graph::SceneGraph& scene_graph,
114  const std::vector<std::pair<std::string, std::string>>& chains);
115 
124 bool parseSceneGraph(KDLChainData& results,
125  const tesseract_scene_graph::SceneGraph& scene_graph,
126  const std::string& base_name,
127  const std::string& tip_name);
128 } // namespace tesseract_kinematics
129 #endif // TESSERACT_KINEMATICS_KDL_UTILS_H
tesseract_kinematics::KDLChainData::kdl_tree
KDL::Tree kdl_tree
KDL tree object.
Definition: kdl_utils.h:94
tesseract_kinematics::KDLChainData
The KDLChainData struct.
Definition: kdl_utils.h:91
tesseract_kinematics::KDLChainData::base_link_name
std::string base_link_name
Link name of first link in the kinematic object.
Definition: kdl_utils.h:96
tesseract_kinematics::KDLChainData::q_min
KDL::JntArray q_min
Lower joint limits.
Definition: kdl_utils.h:100
tesseract_kinematics::KDLChainData::tip_link_name
std::string tip_link_name
Link name of last kink in the kinematic object.
Definition: kdl_utils.h:97
tesseract_kinematics::KDLChainData::segment_index
std::map< std::string, int > segment_index
A map from chain link name to kdl chain segment number.
Definition: kdl_utils.h:98
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
tesseract_scene_graph::SceneGraph
tesseract_kinematics::KDLChainData::joint_names
std::vector< std::string > joint_names
List of joint names.
Definition: kdl_utils.h:95
tesseract_kinematics::KDLChainData::chains
std::vector< std::pair< std::string, std::string > > chains
Definition: kdl_utils.h:99
fwd.h
tesseract_kinematics::EigenToKDL
void EigenToKDL(const Eigen::Isometry3d &transform, KDL::Frame &frame)
Convert Eigen::Isometry3d to KDL::Frame.
Definition: kdl_utils.cpp:52
TESSERACT_COMMON_IGNORE_WARNINGS_POP
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
tesseract_kinematics
Definition: forward_kinematics.h:40
tesseract_kinematics::KDLChainData::q_max
KDL::JntArray q_max
Upper joint limits.
Definition: kdl_utils.h:101
macros.h
tesseract_kinematics::KDLChainData::robot_chain
KDL::Chain robot_chain
KDL Chain object.
Definition: kdl_utils.h:93
tesseract_kinematics::parseSceneGraph
bool parseSceneGraph(KDLChainData &results, const tesseract_scene_graph::SceneGraph &scene_graph, const std::vector< std::pair< std::string, std::string >> &chains)
Parse KDL chain data from the scene graph.
Definition: kdl_utils.cpp:85
tesseract_kinematics::KDLToEigen
void KDLToEigen(const KDL::Frame &frame, Eigen::Isometry3d &transform)
Convert KDL::Frame to Eigen::Isometry3d.
Definition: kdl_utils.cpp:39


tesseract_kinematics
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:02:14