KrisLibrary  1.0.0
RobotLink3D.h
1 #ifndef ROBOT_LINK_3D
2 #define ROBOT_LINK_3D
3 
4 #include "Frame.h"
5 
10 {
11 public:
12  enum Type { Revolute, Prismatic };
13 
14  void SetRotationJoint(const Vector3& w);
15  void SetTranslationJoint(const Vector3& v);
16 
21  void GetLocalTransform(Real qi,Frame3D& T) const;
22 
24  void GetVelocity(Real qi,Real dqi,const Vector3& p,Vector3& vel) const;
25  void GetAngularVelocity(Real dqi,Vector3& omega) const;
26 
28  void GetJacobian(Real qi,const Vector3& p,Vector3& Jo,Vector3& Jp) const;
29  void GetOrientationJacobian(Vector3& Jo) const;
30  void GetPositionJacobian(Real qi,const Vector3& p,Vector3& Jp) const;
31 
32  //Position jacobian of points in frame 0 w.r.t. i
33  void GetJacobian(Real qi,Frame3D& J) const;
34  //Position jacobian of points in frame j w.r.t. i
35  void GetJacobian(Real qi,const Frame3D& Tj_World,Frame3D& J) const;
36 
37  void GetWorldInertia(Matrix3& inertiaWorld) const;
38  void GetWorldCOM(Vector3& comWorld) const { T_World.mulPoint(com,comWorld); }
39 
41  Type type;
45  Real mass;
52 
55 };
56 
57 #endif
Matrix3 inertia
The inertia matrix (in local frame)
Definition: RobotLink3D.h:49
Type type
Indicates the type of joint- revolute, prismatic.
Definition: RobotLink3D.h:41
A 3D vector class.
Definition: math3d/primitives.h:136
Frame3D T_World
Temporary - holds the current state of local to world transformation.
Definition: RobotLink3D.h:54
A rigid-body transformation.
Definition: math3d/primitives.h:820
Vector3 com
The center of mass (in local frame)
Definition: RobotLink3D.h:47
Real mass
The link mass.
Definition: RobotLink3D.h:45
Kinematic and physical parameters of a link.
Definition: RobotLink3D.h:9
Frame3D T0_Parent
The initial transformation from the local to the parent frame.
Definition: RobotLink3D.h:51
void GetLocalTransform(Real qi, Frame3D &T) const
Definition: RobotLink3D.cpp:18
void GetJacobian(Real qi, const Vector3 &p, Vector3 &Jo, Vector3 &Jp) const
Jacobian (orientation,position) of a point (in frame 0) with respect to qi.
Definition: RobotLink3D.cpp:92
A 3x3 matrix class.
Definition: math3d/primitives.h:469
Vector3 w
The axis of rotation/translation (in local frame)
Definition: RobotLink3D.h:43
void GetVelocity(Real qi, Real dqi, const Vector3 &p, Vector3 &vel) const
velocity of a point (in frame 0) with respect to qi,dqi
Definition: RobotLink3D.cpp:157