smurf
Joint.hpp
Go to the documentation of this file.
1 #ifndef JOINT_H
2 #define JOINT_H
3 
4 #include "Frame.hpp"
6 #include <base/JointLimitRange.hpp>
7 #include <base/JointState.hpp>
8 #include <base/JointTransform.hpp>
9 
10 #include <configmaps/ConfigData.h>
11 
12 namespace smurf{
13 
14  struct SpringParam
15  {
18  springDamping(0.0),
19  springStiffness(0.0),
21  {}
22 
24  double springDamping;
27  };
28 
30  {
31  public:
32 
33  Joint(const std::string &name, Frame* sourceFrame, Frame* targetFrame, const std::string &provider, const std::string &port, const std::string &driverName, base::JointLimitRange &limits, const Eigen::Affine3d &sourceToAxis);
34 
35  Joint(const std::string &name, Frame* sourceFrame, Frame* targetFrame, const std::string& provider, const std::string& port, const std::string& driverName, base::JointLimitRange& limits, const Eigen::Affine3d& sourceToAxis, const Eigen::Affine3d& parentToJointOrigin);
36 
37  Joint(const std::string &name, Frame* sourceFrame, Frame* targetFrame, const std::string& provider, const std::string& port, const std::string& driverName, base::JointLimitRange& limits, const Eigen::Affine3d& sourceToAxis, const Eigen::Affine3d& parentToJointOrigin, urdf::JointSharedPtr jointModel);
38 
39  Joint(Frame* sourceFrame, Frame* targetFrame, const std::string &provider, const std::string &port, const std::string &driverName, base::JointLimitRange &limits, const Eigen::Affine3d &sourceToAxis);
40 
41  Joint(Frame* sourceFrame, Frame* targetFrame, const std::string& provider, const std::string& port, const std::string& driverName, base::JointLimitRange& limits, const Eigen::Affine3d& sourceToAxis, const Eigen::Affine3d& parentToJointOrigin);
42 
43  Joint(Frame* sourceFrame, Frame* targetFrame, const std::string& provider, const std::string& port, const std::string& driverName, base::JointLimitRange& limits, const Eigen::Affine3d& sourceToAxis, const Eigen::Affine3d& parentToJointOrigin, urdf::JointSharedPtr jointModel);
44 
45  const Eigen::Affine3d &getSourceToAxis() const;
46 
47  const Eigen::Affine3d &getParentToJointOrigin() const;
48 
49  void setParentToJointOrigin(const Eigen::Affine3d inParentToJointOrigin);
50 
51  urdf::JointSharedPtr getJointModel() const;
52 
53  std::pair<double, double> getPositionLimits() const;
54 
55  std::pair<double, double> getEffortLimits() const;
56 
57  std::pair<double, double> getSpeedLimits() const;
58 
59  void setParamFromConfigMap(configmaps::ConfigMap configMap);
60 
61  SpringParam getSpringParam() const;
62 
63  bool hasSpring() const;
64 
65  protected:
66 
73  std::string driverName;
74 
78  base::JointLimitRange limits;
79 
84  Eigen::Affine3d sourceToAxis;
85 
86  Eigen::Affine3d parentToJointOrigin;
87 
92  urdf::JointSharedPtr jointModel;
93 
95 
96  bool isDynamic;
97 
98 
99  };
100 
101 
102 
103 
104 
105 };
106 
107 #endif // JOINT_H
SpringParam springParam
Definition: Joint.hpp:94
Definition: DynamicTransformation.hpp:9
Eigen::Affine3d parentToJointOrigin
Definition: Joint.hpp:86
Definition: Joint.hpp:14
Definition: Frame.hpp:11
double spring_const_constraint_axis1
Definition: Joint.hpp:26
bool isDynamic
Definition: Joint.hpp:96
base::JointLimitRange limits
Definition: Joint.hpp:78
double springStiffness
Definition: Joint.hpp:25
double damping_const_constraint_axis1
Definition: Joint.hpp:23
std::string driverName
Definition: Joint.hpp:73
Definition: Joint.hpp:29
Eigen::Affine3d sourceToAxis
Definition: Joint.hpp:84
urdf::JointSharedPtr jointModel
Definition: Joint.hpp:92
SpringParam()
Definition: Joint.hpp:16
Definition: Collidable.hpp:11
double springDamping
Definition: Joint.hpp:24