Buran Motion Planning Framework
joint.h
1 #pragma once
2 
3 #include <Eigen/Core>
4 #include <utility>
5 
6 #include "matrix_math.h"
7 
8 
9 namespace bmpf {
13  class Joint {
14  public:
24  Joint(Eigen::Matrix4d parentTransform, Eigen::Matrix4d linkTransform,
25  bool isFixed, double jointAngle, Eigen::Vector3d axis, bool isVirtual)
28 
33  Eigen::Matrix4d getTransformMatrix() { return parentTransform * getRotMatrix4x4(axis, jointAngle); }
34 
39  Eigen::Matrix4d getDiffTransformMatrix() { return parentTransform * getDiffRotMatrix4x4(axis, jointAngle); }
40 
45  Eigen::Matrix4d getDiff2TransformMatrix() { return parentTransform * getDiff2RotMatrix4x4(axis, jointAngle); }
46 
51  Eigen::Vector3d getAxis() const { return axis; }
52 
56  bool isFixed;
60  double jointAngle;
64  Eigen::Vector3d axis;
68  bool isVirtual;
72  Eigen::Matrix4d parentTransform;
76  Eigen::Matrix4d linkTransform;
77  };
78 
79 }
bmpf::Joint::linkTransform
Eigen::Matrix4d linkTransform
Definition: joint.h:76
bmpf::Joint::axis
Eigen::Vector3d axis
Definition: joint.h:64
bmpf::Joint::isFixed
bool isFixed
Definition: joint.h:56
bmpf::Joint::parentTransform
Eigen::Matrix4d parentTransform
Definition: joint.h:72
bmpf::Joint::getTransformMatrix
Eigen::Matrix4d getTransformMatrix()
Definition: joint.h:33
bmpf::Joint::getDiffTransformMatrix
Eigen::Matrix4d getDiffTransformMatrix()
Definition: joint.h:39
bmpf::Joint::getAxis
Eigen::Vector3d getAxis() const
Definition: joint.h:51
bmpf::Joint::isVirtual
bool isVirtual
Definition: joint.h:68
bmpf::Joint::Joint
Joint(Eigen::Matrix4d parentTransform, Eigen::Matrix4d linkTransform, bool isFixed, double jointAngle, Eigen::Vector3d axis, bool isVirtual)
Definition: joint.h:24
bmpf::Joint::jointAngle
double jointAngle
Definition: joint.h:60
bmpf::Joint
Definition: joint.h:13
bmpf::Joint::getDiff2TransformMatrix
Eigen::Matrix4d getDiff2TransformMatrix()
Definition: joint.h:45