manipulator_info.h
Go to the documentation of this file.
1 
26 #ifndef TESSERACT_COMMON_MANIPULATOR_INFO_H
27 #define TESSERACT_COMMON_MANIPULATOR_INFO_H
28 
31 #include <variant>
32 #include <Eigen/Geometry>
33 #include <boost/serialization/base_object.hpp>
35 
37 
38 namespace tesseract_common
39 {
40 struct Serialization;
45 {
46  // LCOV_EXCL_START
47  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
48  // LCOV_EXCL_STOP
49 
50  ManipulatorInfo() = default;
51  ManipulatorInfo(std::string manipulator_,
52  std::string working_frame_,
53  std::string tcp_frame_,
54  std::variant<std::string, Eigen::Isometry3d> tcp_offset_ = Eigen::Isometry3d::Identity());
55 
57  std::string manipulator;
58 
64  std::string working_frame;
65 
70  std::string tcp_frame;
71 
73  std::variant<std::string, Eigen::Isometry3d> tcp_offset{ Eigen::Isometry3d::Identity() };
74 
76  std::string manipulator_ik_solver;
77 
84  ManipulatorInfo getCombined(const ManipulatorInfo& manip_info_override) const;
85 
90  bool empty() const;
91 
92  bool operator==(const ManipulatorInfo& rhs) const;
93  bool operator!=(const ManipulatorInfo& rhs) const;
94 
95 private:
98 
99  template <class Archive>
100  void serialize(Archive& ar, const unsigned int version); // NOLINT
101 };
102 
104 } // namespace tesseract_common
105 
106 BOOST_CLASS_EXPORT_KEY(tesseract_common::ManipulatorInfo)
107 BOOST_CLASS_EXPORT_KEY(tesseract_common::ManipulatorInfoAnyPoly)
108 
109 #endif // TESSERACT_COMMON_MANIPULATOR_INFO_H
tesseract_common::ManipulatorInfo::access
friend class boost::serialization::access
Definition: manipulator_info.h:96
tesseract_common
Definition: allowed_collision_matrix.h:19
any_poly.h
tesseract_common::ManipulatorInfo
Contains information about a robot manipulator.
Definition: manipulator_info.h:44
macros.h
Common Tesseract Macros.
tesseract_common::ManipulatorInfo::serialize
void serialize(Archive &ar, const unsigned int version)
Definition: manipulator_info.cpp:99
tesseract_common::ManipulatorInfo::operator==
bool operator==(const ManipulatorInfo &rhs) const
Definition: manipulator_info.cpp:78
TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
tesseract_common::AnyWrapper
Definition: any_poly.h:80
tesseract_common::Serialization
Definition: serialization.h:97
tesseract_common::ManipulatorInfo::operator!=
bool operator!=(const ManipulatorInfo &rhs) const
Definition: manipulator_info.cpp:96
tesseract_common::ManipulatorInfo::tcp_offset
std::variant< std::string, Eigen::Isometry3d > tcp_offset
(Optional) Offset transform applied to the tcp_frame link to represent the manipulator TCP
Definition: manipulator_info.h:73
tesseract_common::ManipulatorInfo::getCombined
ManipulatorInfo getCombined(const ManipulatorInfo &manip_info_override) const
If the provided manipulator information member is not empty it will override this and return a new ma...
Definition: manipulator_info.cpp:50
tesseract_common::ManipulatorInfo::tcp_frame
std::string tcp_frame
The coordinate frame within to the environment to use as the reference frame for the tool center poin...
Definition: manipulator_info.h:70
tesseract_common::ManipulatorInfo::manipulator_ik_solver
std::string manipulator_ik_solver
(Optional) IK Solver to be used
Definition: manipulator_info.h:76
tesseract_common::ManipulatorInfo::ManipulatorInfo
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ManipulatorInfo()=default
TESSERACT_COMMON_IGNORE_WARNINGS_POP
#define TESSERACT_COMMON_IGNORE_WARNINGS_POP
Definition: macros.h:72
tesseract_common::ManipulatorInfo::manipulator
std::string manipulator
Name of the manipulator group.
Definition: manipulator_info.h:57
tesseract_common::ManipulatorInfo::empty
bool empty() const
Check if any data is current being stored.
Definition: manipulator_info.cpp:72
tesseract_common::ManipulatorInfo::working_frame
std::string working_frame
The working frame to which waypoints are relative.
Definition: manipulator_info.h:64


tesseract_common
Author(s): Levi Armstrong
autogenerated on Sun May 18 2025 03:01:40