20 #ifndef KNIKatanaKinematics6M90T_H
21 #define KNIKatanaKinematics6M90T_H
39 class DLLDIR_IK KatanaKinematics6M90T :
public KatanaKinematics {
43 void init(metrics
const& length, parameter_container
const& parameters);
46 void DK(coordinates& solution, encoders
const& current_encoders)
const;
47 void IK(encoders::iterator solution, coordinates
const& pose, encoders
const& cur_angles)
const;
71 typedef std::vector<angles_calc> angles_container;
74 parameter_container _parameters;
76 static const double _tolerance;
77 static const int _nrOfPossibleSolutions;
79 void _setLength(metrics
const& length) { _length = length; }
80 void _setParameters(parameter_container
const& parameters) { _parameters = parameters; }
82 void IK_theta234theta5(angles_calc& angle,
const position &p_gr)
const;
83 void IK_b1b2costh3_6MS(angles_calc &a,
const position &p)
const;
85 void thetacomp(angles_calc &a,
const position &p_m,
const coordinates& pose)
const;
87 bool angledef(angles_calc &a)
const;
91 bool PositionTest6MS(
const double& theta1,
const double& theta2,
const double& theta3,
const double& theta234,
const position &p)
const;