47 #ifndef _MIRA_JOINT_H_ 48 #define _MIRA_JOINT_H_ 52 #include <serialization/adapters/boost/optional.hpp> 56 namespace mira {
namespace model {
76 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
78 template<
typename Reflector>
81 r.member(
"Name", name,
"Name of the link");
82 r.member(
"Type",
type,
"The joint's type");
83 r.member(
"Origin", origin,
"Origin",
Pose3());
84 r.member(
"Axis", axis,
"Axis",
Point3f(1.0f, 0.0f, 0.0f));
85 r.member(
"Parent", parent,
"Parent link");
86 r.member(
"Child", child,
"Child link");
87 r.member(
"LowerLimit", lowerLimit,
"Lower limit (rad for revolute and " 88 "meter for prismatic)", -pi<float>());
89 r.member(
"UpperLimit", upperLimit,
"Upper limit (rad for revolute and " 90 "meter for prismatic)", pi<float>());
Can rotate about the given axis with no given limits.
Definition: Joint.h:71
Pose3 origin
Specifies the transform from child link to parent link.
Definition: Joint.h:95
Type type
The joint's type.
Definition: Joint.h:94
Can move/slide along the given axis but is limited by upper and lower limit.
Definition: Joint.h:72
A joint class that connects two links.
Definition: Joint.h:64
Can move freely in all degrees of freedom.
Definition: Joint.h:73
float upperLimit
Upper limit for REVOLUTE (rad) and PRISMATIC (meter) joints.
Definition: Joint.h:100
PropertyHint type(const std::string &t)
RigidModel export macro declaration.
std::string name
Name of the joint.
Definition: Joint.h:93
std::string child
Child link.
Definition: Joint.h:98
Can rotate about the given axis but is limited by upper and lower limit.
Definition: Joint.h:70
For a fixed joint all degrees of freedom are locked and its state is fixed.
Definition: Joint.h:69
float lowerLimit
Lower limit for REVOLUTE (rad) and PRISMATIC (meter) joints.
Definition: Joint.h:99
Point3f axis
Axis of rotation for REVOLUTE and CONTINUOUS joints, axis of translation for PRISMATIC joints...
Definition: Joint.h:96
#define MIRA_RIGID_MODEL_EXPORT
Definition: RigidModelExports.h:61
boost::shared_ptr< Joint > JointPtr
Pointer to a joint.
Definition: Joint.h:104
Point< float, 3 > Point3f
EIGEN_MAKE_ALIGNED_OPERATOR_NEW void reflect(Reflector &r)
Definition: Joint.h:79
std::string parent
Parent link.
Definition: Joint.h:97
Type
Definition: Joint.h:67