Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
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 <vector>
32#include <variant>
33#include <Eigen/Geometry>
34#include <boost/serialization/base_object.hpp>
36
37namespace tesseract_common
38{
43{
44 // LCOV_EXCL_START
45 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
46 // LCOV_EXCL_STOP
47
48 ManipulatorInfo() = default;
49 ManipulatorInfo(std::string manipulator_,
50 std::string working_frame_,
51 std::string tcp_frame_,
52 const Eigen::Isometry3d& tcp_offset_ = Eigen::Isometry3d::Identity());
53
55 std::string manipulator;
56
62 std::string working_frame;
63
68 std::string tcp_frame;
69
71 std::variant<std::string, Eigen::Isometry3d> tcp_offset{ Eigen::Isometry3d::Identity() };
72
75
83
88 bool empty() const;
89
90 bool operator==(const ManipulatorInfo& rhs) const;
91 bool operator!=(const ManipulatorInfo& rhs) const;
92
93private:
95
96 template <class Archive>
97 void serialize(Archive& ar, const unsigned int version); // NOLINT
98};
99} // namespace tesseract_common
100
101#endif // TESSERACT_COMMON_MANIPULATOR_INFO_H
Common Tesseract Macros.
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
Definition: create_convex_hull.cpp:36
Definition: allowed_collision_matrix.h:16
Contains information about a robot manipulator.
Definition: manipulator_info.h:43
std::string manipulator
Name of the manipulator group.
Definition: manipulator_info.h:55
void serialize(Archive &ar, const unsigned int version)
Definition: manipulator_info.cpp:101
std::string working_frame
The working frame to which waypoints are relative.
Definition: manipulator_info.h:62
bool operator==(const ManipulatorInfo &rhs) const
Definition: manipulator_info.cpp:80
bool operator!=(const ManipulatorInfo &rhs) const
Definition: manipulator_info.cpp:98
bool empty() const
Check if any data is current being stored.
Definition: manipulator_info.cpp:74
std::string manipulator_ik_solver
(Optional) IK Solver to be used
Definition: manipulator_info.h:74
friend class boost::serialization::access
Definition: manipulator_info.h:94
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:68
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ManipulatorInfo()=default
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:71
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:52
tesseract_common::ManipulatorInfo manip_info_override("manipulator", "world", "tool0")