RobotArmLib 0.0.6
Robot Arm Library [WIP]
Loading...
Searching...
No Matches
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
12namespace rb
13{
14namespace kin
15{
25
30class Link
31{
32public:
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,
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;
92 double alpha;
94 double d;
96 double theta;
98 double up_lim;
100 double low_lim;
102 double offset;
103
106
107protected:
110
111 double mass;
114
115private:
116
117};
118
119} // namespace kin
120} // namespace rb
121
122#endif // RB_LINK_H_
Joint
A set of enumeration to indicate the joint type of the robot link.
Definition link.h:21
@ PRISMATIC
Translated joint type.
Definition link.h:23
@ REVOLUTE
Rotated joint type.
Definition link.h:22
Eigen::Matrix3d Matrix3
make Matrix3 as alias of Eigen::Matrix3d
Definition matrix.h:20
Eigen::Matrix4d Matrix4
make Matrix4 as alias of Eigen::Matrix4d
Definition matrix.h:21
Eigen::Vector3d Vector3
make Vector3 as alias of Eigen::Vector3d
Definition matrix.h:24
Robot Arm Library namespace.
Definition artic.cpp:13