49 #ifndef ODOMETRY_KINEMATIC_MODEL_HPP
50 #define ODOMETRY_KINEMATIC_MODEL_HPP
54 #include <base/Eigen.hpp>
93 template <
typename _Scalar,
int _RobotTrees,
int _RobotJo
intDoF,
int _SlipDoF,
int _ContactDoF>
98 static const unsigned int MAX_CHAIN_DOF = _RobotJointDoF+_SlipDoF+_ContactDoF;
101 static const unsigned int MODEL_DOF = _RobotJointDoF+_RobotTrees*(_SlipDoF+_ContactDoF);
114 return _RobotJointDoF;
143 virtual std::string
name() = 0;
188 virtual void fkSolver(
const std::vector<_Scalar> &positions, std::vector<Eigen::Affine3d> &fkRobot, std::vector<base::Matrix6d> &fkCov) = 0;
198 virtual Eigen::Matrix<_Scalar, 6*_RobotTrees, MODEL_DOF>
jacobianSolver(
const std::vector<_Scalar> &positions) = 0;
202 #endif // ODOMETRY_KINEMATIC_MODEL_HPP
virtual std::string name()=0
The name of the Kinematic Model.
virtual Eigen::Matrix< _Scalar, 6 *_RobotTrees, MODEL_DOF > jacobianSolver(const std::vector< _Scalar > &positions)=0
Computes the Robot Jacobian.
int getNumberOfTrees()
return the number of Trees
Definition: KinematicModel.hpp:106
static const unsigned int MAX_CHAIN_DOF
Definition: KinematicModel.hpp:98
unsigned int getModelDOF()
return .
Definition: KinematicModel.hpp:136
static const unsigned int MODEL_DOF
Definition: KinematicModel.hpp:101
virtual void fkSolver(const std::vector< _Scalar > &positions, std::vector< Eigen::Affine3d > &fkRobot, std::vector< base::Matrix6d > &fkCov)=0
Forward Kinematics Solver.
virtual void fkBody2ContactPointt(const int chainIdx, const std::vector< _Scalar > &positions, Eigen::Affine3d &fkTrans, base::Matrix6d &fkCov)=0
Forward Kinematic.
virtual void setPointsInContact(const std::vector< int > &pointsInContact)=0
Assign the current point in contact.
int getSlipDoF(void)
return the dimension of the slip model.
Definition: KinematicModel.hpp:118
int getRobotJointDoF(void)
return the complete robot number of Joints
Definition: KinematicModel.hpp:112
unsigned int getMaxChainDoF()
return . Equivalent to the number of columns in teh Jacobian.
Definition: KinematicModel.hpp:130
Eigen::Matrix< double, 6, 6 > Matrix6d
Definition: ContactOdometry.hpp:14
int getContactDoF()
return the dimension of the contact angle model
Definition: KinematicModel.hpp:124
Definition: KinematicModel.hpp:94
virtual void contactPointsPerTree(std::vector< unsigned int > &contactPoints)=0
Number of contact points per Tree.