kinematics_information.h
Go to the documentation of this file.
1 
26 #ifndef TESSERACT_SRDF_KINEMATICS_INFORMATION_H
27 #define TESSERACT_SRDF_KINEMATICS_INFORMATION_H
28 
31 #include <boost/serialization/export.hpp>
32 #include <unordered_map>
33 #include <string>
34 #include <vector>
35 #include <set>
36 #include <Eigen/Geometry>
38 
41 
42 namespace boost::serialization
43 {
44 class access;
45 }
46 
47 namespace tesseract_srdf
48 {
49 using GroupsJointState = std::unordered_map<std::string, double>;
50 using GroupsJointStates = std::unordered_map<std::string, GroupsJointState>;
51 using GroupJointStates = std::unordered_map<std::string, GroupsJointStates>;
54 using ChainGroup = std::vector<std::pair<std::string, std::string>>;
55 using ChainGroups = std::unordered_map<std::string, ChainGroup>;
56 using JointGroup = std::vector<std::string>;
57 using JointGroups = std::unordered_map<std::string, JointGroup>;
58 using LinkGroup = std::vector<std::string>;
59 using LinkGroups = std::unordered_map<std::string, LinkGroup>;
60 using GroupNames = std::set<std::string>;
61 
67 {
68  // LCOV_EXCL_START
69  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
70  // LCOV_EXCL_STOP
71 
74 
77 
80 
83 
86 
89 
92 
94  void insert(const KinematicsInformation& other);
95 
97  void clear();
98 
100  bool hasGroup(const std::string& group_name) const;
101 
103  void addChainGroup(const std::string& group_name, const ChainGroup& chain_group);
104 
106  void removeChainGroup(const std::string& group_name);
107 
109  bool hasChainGroup(const std::string& group_name) const;
110 
112  void addJointGroup(const std::string& group_name, const JointGroup& joint_group);
113 
115  void removeJointGroup(const std::string& group_name);
116 
118  bool hasJointGroup(const std::string& group_name) const;
119 
121  void addLinkGroup(const std::string& group_name, const LinkGroup& link_group);
122 
124  void removeLinkGroup(const std::string& group_name);
125 
127  bool hasLinkGroup(const std::string& group_name) const;
128 
130  void addGroupJointState(const std::string& group_name,
131  const std::string& state_name,
132  const GroupsJointState& joint_state);
133 
135  void removeGroupJointState(const std::string& group_name, const std::string& state_name);
136 
138  bool hasGroupJointState(const std::string& group_name, const std::string& state_name) const;
139 
141  void addGroupTCP(const std::string& group_name, const std::string& tcp_name, const Eigen::Isometry3d& tcp);
142 
144  void removeGroupTCP(const std::string& group_name, const std::string& tcp_name);
145 
147  bool hasGroupTCP(const std::string& group_name, const std::string& tcp_name) const;
148 
149  bool operator==(const KinematicsInformation& rhs) const;
150  bool operator!=(const KinematicsInformation& rhs) const;
151 
152 private:
155  template <class Archive>
156  void serialize(Archive& ar, const unsigned int version); // NOLINT
157 };
158 
159 } // namespace tesseract_srdf
160 
161 BOOST_CLASS_EXPORT_KEY(tesseract_srdf::KinematicsInformation)
162 
163 #endif // TESSERACT_SRDF_KINEMATICS_INFORMATION_H
tesseract_srdf::KinematicsInformation::addJointGroup
void addJointGroup(const std::string &group_name, const JointGroup &joint_group)
Add joint group.
Definition: kinematics_information.cpp:105
tesseract_srdf::JointGroup
std::vector< std::string > JointGroup
Definition: kinematics_information.h:56
tesseract_srdf
Main namespace.
Definition: collision_margins.h:43
tesseract_srdf::KinematicsInformation::group_tcps
GroupTCPs group_tcps
A map of group tool center points.
Definition: kinematics_information.h:88
tesseract_srdf::KinematicsInformation::removeJointGroup
void removeJointGroup(const std::string &group_name)
Remove joint group.
Definition: kinematics_information.cpp:111
tesseract_srdf::KinematicsInformation::access
friend class boost::serialization::access
Definition: kinematics_information.h:153
tesseract_srdf::KinematicsInformation::operator!=
bool operator!=(const KinematicsInformation &rhs) const
Definition: kinematics_information.cpp:248
tesseract_srdf::KinematicsInformation::hasJointGroup
bool hasJointGroup(const std::string &group_name) const
Check if joint group exists.
Definition: kinematics_information.cpp:117
tesseract_srdf::KinematicsInformation::removeChainGroup
void removeChainGroup(const std::string &group_name)
Remove chain group.
Definition: kinematics_information.cpp:94
tesseract_srdf::JointGroups
std::unordered_map< std::string, JointGroup > JointGroups
Definition: kinematics_information.h:57
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
tesseract_srdf::LinkGroups
std::unordered_map< std::string, LinkGroup > LinkGroups
Definition: kinematics_information.h:59
tesseract_srdf::KinematicsInformation::hasGroup
bool hasGroup(const std::string &group_name) const
Check if group exists.
Definition: kinematics_information.cpp:83
tesseract_srdf::KinematicsInformation::hasChainGroup
bool hasChainGroup(const std::string &group_name) const
Check if chain group exists.
Definition: kinematics_information.cpp:100
tesseract_srdf::KinematicsInformation::removeGroupJointState
void removeGroupJointState(const std::string &group_name, const std::string &state_name)
Remove group joint state.
Definition: kinematics_information.cpp:146
tesseract_common::Serialization
tesseract_srdf::KinematicsInformation::addLinkGroup
void addLinkGroup(const std::string &group_name, const LinkGroup &link_group)
Add link group.
Definition: kinematics_information.cpp:122
tesseract_srdf::KinematicsInformation::addGroupTCP
void addGroupTCP(const std::string &group_name, const std::string &tcp_name, const Eigen::Isometry3d &tcp)
Add group tool center point.
Definition: kinematics_information.cpp:163
tesseract_srdf::KinematicsInformation::link_groups
LinkGroups link_groups
A map of link groups.
Definition: kinematics_information.h:82
tesseract_srdf::ChainGroup
std::vector< std::pair< std::string, std::string > > ChainGroup
Definition: kinematics_information.h:54
tesseract_srdf::KinematicsInformation::addGroupJointState
void addGroupJointState(const std::string &group_name, const std::string &state_name, const GroupsJointState &joint_state)
Add group joint state.
Definition: kinematics_information.cpp:139
tesseract_srdf::KinematicsInformation::removeLinkGroup
void removeLinkGroup(const std::string &group_name)
Remove link group.
Definition: kinematics_information.cpp:128
tesseract_srdf::KinematicsInformation::group_names
EIGEN_MAKE_ALIGNED_OPERATOR_NEW GroupNames group_names
A set of group names.
Definition: kinematics_information.h:73
tesseract_srdf::KinematicsInformation::insert
void insert(const KinematicsInformation &other)
Insert the content of an other KinematicsInformation.
Definition: kinematics_information.cpp:55
tesseract_srdf::KinematicsInformation::removeGroupTCP
void removeGroupTCP(const std::string &group_name, const std::string &tcp_name)
Remove group tool center point.
Definition: kinematics_information.cpp:170
tesseract_srdf::GroupTCPs
tesseract_common::AlignedMap< std::string, GroupsTCPs > GroupTCPs
Definition: kinematics_information.h:53
tesseract_srdf::ChainGroups
std::unordered_map< std::string, ChainGroup > ChainGroups
Definition: kinematics_information.h:55
tesseract_srdf::KinematicsInformation
This hold the kinematics information used to create the SRDF and is the data container for the manipu...
Definition: kinematics_information.h:66
boost::serialization
tesseract_common::KinematicsPluginInfo
tesseract_srdf::KinematicsInformation::operator==
bool operator==(const KinematicsInformation &rhs) const
Definition: kinematics_information.cpp:187
tesseract_srdf::KinematicsInformation::hasLinkGroup
bool hasLinkGroup(const std::string &group_name) const
Check if link group exists.
Definition: kinematics_information.cpp:134
tesseract_common::AlignedMap
std::map< Key, Value, std::less< Key >, Eigen::aligned_allocator< std::pair< const Key, Value > >> AlignedMap
tesseract_srdf::KinematicsInformation::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: kinematics_information.cpp:251
tesseract_srdf::GroupNames
std::set< std::string > GroupNames
Definition: kinematics_information.h:60
tesseract_srdf::KinematicsInformation::joint_groups
JointGroups joint_groups
A map of joint groups.
Definition: kinematics_information.h:79
eigen_types.h
tesseract_srdf::GroupsJointState
std::unordered_map< std::string, double > GroupsJointState
Definition: kinematics_information.h:49
tesseract_srdf::KinematicsInformation::hasGroupJointState
bool hasGroupJointState(const std::string &group_name, const std::string &state_name) const
Check if group joint state exists.
Definition: kinematics_information.cpp:154
TESSERACT_COMMON_IGNORE_WARNINGS_POP
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
tesseract_srdf::KinematicsInformation::clear
void clear()
Clear the kinematics information.
Definition: kinematics_information.cpp:44
tesseract_srdf::KinematicsInformation::hasGroupTCP
bool hasGroupTCP(const std::string &group_name, const std::string &tcp_name) const
Check if group tool center point exists.
Definition: kinematics_information.cpp:178
tesseract_srdf::LinkGroup
std::vector< std::string > LinkGroup
Definition: kinematics_information.h:58
tesseract_srdf::GroupsJointStates
std::unordered_map< std::string, GroupsJointState > GroupsJointStates
Definition: kinematics_information.h:50
macros.h
tesseract_srdf::GroupsTCPs
tesseract_common::AlignedMap< std::string, Eigen::Isometry3d > GroupsTCPs
Definition: kinematics_information.h:52
tesseract_srdf::KinematicsInformation::chain_groups
ChainGroups chain_groups
A map of chains groups.
Definition: kinematics_information.h:76
tesseract_srdf::KinematicsInformation::group_states
GroupJointStates group_states
A map of group states.
Definition: kinematics_information.h:85
tesseract_srdf::KinematicsInformation::kinematics_plugin_info
tesseract_common::KinematicsPluginInfo kinematics_plugin_info
The kinematics plugin information.
Definition: kinematics_information.h:91
tesseract_srdf::GroupJointStates
std::unordered_map< std::string, GroupsJointStates > GroupJointStates
Definition: kinematics_information.h:51
tesseract_srdf::KinematicsInformation::addChainGroup
void addChainGroup(const std::string &group_name, const ChainGroup &chain_group)
Add chain group.
Definition: kinematics_information.cpp:88
plugin_info.h


tesseract_srdf
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:02:04