37#ifndef TESSERACT_SCENE_GRAPH_JOINT_H
38#define TESSERACT_SCENE_GRAPH_JOINT_H
42#include <boost/serialization/access.hpp>
56 using Ptr = std::shared_ptr<JointDynamics>;
57 using ConstPtr = std::shared_ptr<const JointDynamics>;
74 template <
class Archive>
75 void serialize(Archive& ar,
const unsigned int version);
81 using Ptr = std::shared_ptr<JointLimits>;
82 using ConstPtr = std::shared_ptr<const JointLimits>;
107 os <<
"lower=" <<
limits.lower <<
" upper=" <<
limits.upper <<
" effort=" <<
limits.effort
108 <<
" velocity=" <<
limits.velocity <<
" acceleration=" <<
limits.acceleration;
116 template <
class Archive>
117 void serialize(Archive& ar,
const unsigned int version);
124 using Ptr = std::shared_ptr<JointSafety>;
125 using ConstPtr = std::shared_ptr<const JointSafety>;
185 os <<
"soft_upper_limit=" <<
safety.soft_upper_limit <<
" soft_lower_limit=" <<
safety.soft_lower_limit
186 <<
" k_position=" <<
safety.k_position <<
" k_velocity=" <<
safety.k_velocity;
192 template <
class Archive>
193 void serialize(Archive& ar,
const unsigned int version);
199 using Ptr = std::shared_ptr<JointCalibration>;
200 using ConstPtr = std::shared_ptr<const JointCalibration>;
229 template <
class Archive>
230 void serialize(Archive& ar,
const unsigned int version);
236 using Ptr = std::shared_ptr<JointMimic>;
237 using ConstPtr = std::shared_ptr<const JointMimic>;
259 os <<
"joint_name=" <<
mimic.joint_name <<
" offset=" <<
mimic.offset <<
" multiplier=" <<
mimic.multiplier;
265 template <
class Archive>
266 void serialize(Archive& ar,
const unsigned int version);
283 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
285 using Ptr = std::shared_ptr<Joint>;
341 this->axis = Eigen::Vector3d(1, 0, 0);
342 this->child_link_name.clear();
343 this->parent_link_name.clear();
345 this->dynamics.reset();
346 this->limits.reset();
347 this->safety.reset();
348 this->calibration.reset();
371 ret.
dynamics = std::make_shared<JointDynamics>(*(this->dynamics));
375 ret.
limits = std::make_shared<JointLimits>(*(this->limits));
379 ret.
safety = std::make_shared<JointSafety>(*(this->safety));
381 if (this->calibration)
383 ret.
calibration = std::make_shared<JointCalibration>(*(this->calibration));
387 ret.
mimic = std::make_shared<JointMimic>(*(this->mimic));
398 template <
class Archive>
399 void serialize(Archive& ar,
const unsigned int version);
446#include <boost/serialization/export.hpp>
447#include <boost/serialization/tracking.hpp>
void clear()
Definition: joint.h:211
JointCalibration(double reference_position, double rising, double falling)
Definition: joint.h:203
friend std::ostream & operator<<(std::ostream &os, const JointCalibration &calibration)
Definition: joint.h:220
void serialize(Archive &ar, const unsigned int version)
Definition: joint.cpp:124
bool operator!=(const JointCalibration &rhs) const
Definition: joint.cpp:121
JointCalibration()=default
bool operator==(const JointCalibration &rhs) const
Definition: joint.cpp:112
std::shared_ptr< const JointCalibration > ConstPtr
Definition: joint.h:200
double rising
Definition: joint.h:208
std::shared_ptr< JointCalibration > Ptr
Definition: joint.h:199
double falling
Definition: joint.h:209
friend class boost::serialization::access
Definition: joint.h:228
double reference_position
Definition: joint.h:207
JointDynamics(double damping, double friction)
Definition: joint.h:60
std::shared_ptr< JointDynamics > Ptr
Definition: joint.h:56
std::shared_ptr< const JointDynamics > ConstPtr
Definition: joint.h:57
bool operator!=(const JointDynamics &rhs) const
Definition: joint.cpp:50
void serialize(Archive &ar, const unsigned int version)
Definition: joint.cpp:53
void clear()
Definition: joint.h:64
friend class boost::serialization::access
Definition: joint.h:73
double friction
Definition: joint.h:62
bool operator==(const JointDynamics &rhs) const
Definition: joint.cpp:42
double damping
Definition: joint.h:61
double effort
Definition: joint.h:92
double upper
Definition: joint.h:91
JointLimits(double l, double u, double e, double v, double a)
Definition: joint.h:85
bool operator!=(const JointLimits &rhs) const
Definition: joint.cpp:73
void clear()
Definition: joint.h:96
double acceleration
Definition: joint.h:94
bool operator==(const JointLimits &rhs) const
Definition: joint.cpp:62
std::shared_ptr< const JointLimits > ConstPtr
Definition: joint.h:82
double lower
Definition: joint.h:90
double velocity
Definition: joint.h:93
friend class boost::serialization::access
Definition: joint.h:115
void serialize(Archive &ar, const unsigned int version)
Definition: joint.cpp:76
std::shared_ptr< JointLimits > Ptr
Definition: joint.h:81
friend std::ostream & operator<<(std::ostream &os, const JointLimits &limits)
Definition: joint.h:105
double offset
Definition: joint.h:244
void clear()
Definition: joint.h:248
bool operator==(const JointMimic &rhs) const
Definition: joint.cpp:134
friend std::ostream & operator<<(std::ostream &os, const JointMimic &mimic)
Definition: joint.h:257
void serialize(Archive &ar, const unsigned int version)
Definition: joint.cpp:146
std::string joint_name
Definition: joint.h:246
JointMimic(double offset, double multiplier, std::string joint_name)
Definition: joint.h:240
std::shared_ptr< const JointMimic > ConstPtr
Definition: joint.h:237
bool operator!=(const JointMimic &rhs) const
Definition: joint.cpp:143
friend class boost::serialization::access
Definition: joint.h:264
std::shared_ptr< JointMimic > Ptr
Definition: joint.h:236
double multiplier
Definition: joint.h:245
Parameters for Joint Safety Controllers.
Definition: joint.h:122
void clear()
Definition: joint.h:173
friend std::ostream & operator<<(std::ostream &os, const JointSafety &safety)
Definition: joint.h:183
bool operator==(const JointSafety &rhs) const
Definition: joint.cpp:88
JointSafety(double soft_upper_limit, double soft_lower_limit, double k_position, double k_velocity)
Definition: joint.h:128
double soft_upper_limit
Definition: joint.h:168
bool operator!=(const JointSafety &rhs) const
Definition: joint.cpp:98
double k_velocity
Definition: joint.h:171
std::shared_ptr< const JointSafety > ConstPtr
Definition: joint.h:125
friend class boost::serialization::access
Definition: joint.h:191
void serialize(Archive &ar, const unsigned int version)
Definition: joint.cpp:101
double soft_lower_limit
Definition: joint.h:169
std::shared_ptr< JointSafety > Ptr
Definition: joint.h:124
double k_position
Definition: joint.h:170
JointType type
The type of joint.
Definition: joint.h:301
Joint(std::string name)
Definition: joint.h:288
JointSafety::Ptr safety
Unsupported Hidden Feature.
Definition: joint.h:331
Joint & operator=(Joint &&other)=default
Joint clone(const std::string &name) const
Definition: joint.h:361
Joint(Joint &&other)=default
std::shared_ptr< const Joint > ConstPtr
Definition: joint.h:286
Eigen::Vector3d axis
Definition: joint.h:311
JointMimic::Ptr mimic
Option to Mimic another Joint.
Definition: joint.h:337
std::string name_
Definition: joint.h:395
void clear()
Definition: joint.h:339
Eigen::Isometry3d parent_to_joint_origin_transform
transform from Parent Link frame to Joint frame
Definition: joint.h:322
Joint clone() const
Clone the joint keeping the name.
Definition: joint.h:357
Joint(const Joint &other)=delete
std::shared_ptr< Joint > Ptr
Definition: joint.h:285
void serialize(Archive &ar, const unsigned int version)
Definition: joint.cpp:175
JointCalibration::Ptr calibration
Unsupported Hidden Feature.
Definition: joint.h:334
JointLimits::Ptr limits
Joint Limits.
Definition: joint.h:328
const std::string & getName() const
Definition: joint.h:298
bool operator!=(const Joint &rhs) const
Definition: joint.cpp:172
friend class boost::serialization::access
Definition: joint.h:397
std::string parent_link_name
Definition: joint.h:319
std::string child_link_name
Definition: joint.h:315
bool operator==(const Joint &rhs) const
Definition: joint.cpp:156
JointDynamics::Ptr dynamics
Joint Dynamics.
Definition: joint.h:325
Joint & operator=(const Joint &other)=delete
#define TESSERACT_COMMON_IGNORE_WARNINGS_PUSH
Definition: macros.h:71
Definition: create_convex_hull.cpp:36
std::ostream & operator<<(std::ostream &os, const ShortestPath &path)
Definition: graph.h:734
JointType
Definition: joint.h:270
v
Definition: tesseract_common_unit.cpp:369
mCollisionCheckConfig contact_request type
Definition: tesseract_environment_collision.cpp:103
joint_1 limits
Definition: tesseract_scene_graph_joint_unit.cpp:153
joint_1 calibration
Definition: tesseract_scene_graph_joint_unit.cpp:158
joint_1 safety
Definition: tesseract_scene_graph_joint_unit.cpp:165
joint_1 mimic
Definition: tesseract_scene_graph_joint_unit.cpp:161
m name
Definition: tesseract_scene_graph_link_unit.cpp:77