24 #ifndef P2OS_DRIVER__KINECALC_HPP_ 25 #define P2OS_DRIVER__KINECALC_HPP_ 74 void SetP(
double newPX,
double newPY,
double newPZ);
75 void SetN(
double newNX,
double newNY,
double newNZ);
76 void SetO(
double newOX,
double newOY,
double newOZ);
77 void SetA(
double newAX,
double newAY,
double newAZ);
81 void SetTheta(
unsigned int index,
double newVal);
83 double newLink1,
double newLink2,
double newLink3,
double newLink4,
85 void SetOffset(
unsigned int joint,
double newOffset);
122 #endif // P2OS_DRIVER__KINECALC_HPP_
const KineVector & GetO(void) const
double CalcSolutionError(const double solution[], const EndEffector &fromPosition)
void CalculateFK(const double fromJoints[])
const KineVector & GetP(void) const
bool CalculateIK(const EndEffector &fromPosition)
const double * GetThetas(void) const
TFSIMD_FORCE_INLINE const tfScalar & y() const
void SetO(const KineVector &newO)
bool SolutionInRange(const double angles[])
void SetJointRange(unsigned int joint, double min, double max)
void SetOffset(unsigned int joint, double newOffset)
void SetLinkLengths(double newLink1, double newLink2, double newLink3, double newLink4, double newLink5)
void SetTheta(unsigned int index, double newVal)
void SetN(const KineVector &newN)
double GetTheta(unsigned int index)
KineVector CalculateN(const EndEffector &pose)
TFSIMD_FORCE_INLINE const tfScalar & x() const
double min(double a, double b)
const KineVector & GetA(void) const
void SetP(const KineVector &newP)
void PrintEndEffector(const EndEffector &endEffector)
EndEffector CalcFKForJoints(const double angles[])
void CalcTheta4and5(double angles[], const EndEffector &fromPosition)
int ChooseSolution(const EndEffector &fromPosition, const double solutions[][5])
const KineVector & GetN(void) const
void SetA(const KineVector &newA)
double max(double a, double b)
KineVector Normalise(const KineVector &vector)