RobotArmLib  0.0.4
Robot Arm Library [WIP]
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
link.h
Go to the documentation of this file.
1 
7 #ifndef RB_LINK_H_
8 #define RB_LINK_H_
9 
10 #include "../math/matrix.h"
11 
12 namespace rb
13 {
14 namespace kin
15 {
20 enum Joint
21 {
24 };
25 
30 class Link
31 {
32 public:
33  Link();
34 
36  Link(
37  const double a0,
38  const double alpha0,
39  const double d0,
40  const double theta0,
41  const double up_lim0=360.,
42  const double low_lim0=-360.,
43  const double offset0=0.,
44  const Joint type0=Joint::REVOLUTE,
45 
46  const double mass0=0.,
48  const rb::math::Matrix3 I0=rb::math::Matrix3::Identity(),
50  const rb::math::Vector3 r0=rb::math::Vector3::Zero()
51  );
52 
53 
54  ~Link();
55 
62  friend rb::math::Matrix4 operator* (Link& lhs, Link& rhs);
63 
71 
79 
87  rb::math::Matrix4 computeTransform(const double& q, const bool& update=false);
88 
90  double a;
91 
92  double alpha;
93 
94  double d;
95 
96  double theta;
97 
98  double up_lim;
99 
100  double low_lim;
101 
102  double offset;
103 
106 
107 protected:
110 
111  double mass;
114 
115 private:
116 
117 };
118 
119 } // namespace kin
120 } // namespace rb
121 
122 #endif // RB_LINK_H_
Eigen::Matrix4d Matrix4
make Matrix4 as alias of Eigen::Matrix4d
Definition: matrix.h:20
Eigen::Matrix3d Matrix3
make Matrix3 as alias of Eigen::Matrix3d
Definition: matrix.h:19
Rotated joint type.
Definition: link.h:22
Eigen::Vector3d Vector3
make Vector3 as alias of Eigen::Vector3d
Definition: matrix.h:23
Joint
A set of enumeration to indicate the joint type of the robot link.
Definition: link.h:20
Translated joint type.
Definition: link.h:23