RML  1.0
Robotics Mathematical Library
Loading...
Searching...
No Matches
RobotLink.h
Go to the documentation of this file.
1
8#ifndef SRC_ROBOTLINK_H_
9#define SRC_ROBOTLINK_H_
10
11#include <map>
12#include <string>
13
14#include "Types.h"
15
16namespace rml {
17
21enum class JointType : uint8_t { Fixed,
23 Prismatic };
24
25const std::map<JointType, std::string> JointType2String = {
26 { JointType::Fixed, "Fixed" },
27 { JointType::Revolute, "Revolute" },
28 { JointType::Prismatic, "Prismatic" }
29};
30
55class RobotLink {
56 // Kinematic properties
57 JointType type_;
58 Eigen::Vector3d axis_;
60 double jointLimitMin_;
61 double jointLimitMAX_;
62
63 // Dynamic properties
64 double mass_;
65 Eigen::Vector3d sizeVect_;
66 Eigen::Vector3d CoM_;
67 Eigen::Matrix3d Inertia_;
68
69public:
71 RobotLink(const JointType type, const Eigen::Vector3d& axis, const Eigen::TransformationMatrix& baseTransf, double jointLimMin, double jointLimMax);
72 virtual ~RobotLink();
73
83 void SetKinematicProperties(const JointType type, const Eigen::Vector3d& axis, const Eigen::TransformationMatrix& baseTransf, double jointLimMin, double jointLimMax);
84
93 void SetDynamicProperties(double mass, const Eigen::Vector3d& sizes, const Eigen::Vector3d& CoM, const Eigen::Matrix3d& Inertia);
94
95 JointType Type() const { return type_; }
96 const Eigen::Vector3d& Axis() const { return axis_; }
97 const Eigen::TransformationMatrix& BaseTransf() const { return baseTransf_; }
98 double JointLimitMax() const { return jointLimitMAX_; }
99 double JointLimitMin() const { return jointLimitMin_; }
100
101 double Mass() const { return mass_; }
102 const Eigen::Vector3d& Sizes() const { return sizeVect_; }
103 const Eigen::Vector3d& CoM() const { return CoM_; }
104 const Eigen::Matrix3d& Inertia() const { return Inertia_; }
105};
106}
107
108#endif /* SRC_ROBOTLINK_H_ */
This class extends the Eigen::Matrix4d.
Definition TransfMatrix.h:26
Types and algorithms for robotic mobile manipulation.
Definition ArmModel.h:19
const std::map< JointType, std::string > JointType2String
Definition RobotLink.h:25
JointType
Used to describe the type of joint.
Definition RobotLink.h:21