#include <kinecalc.h>
Public Member Functions | |
void | CalculateFK (const double fromJoints[]) |
bool | CalculateIK (const EndEffector &fromPosition) |
KineVector | CalculateN (const EndEffector &pose) |
const KineVector & | GetA (void) const |
const KineVector & | GetN (void) const |
const KineVector & | GetO (void) const |
const KineVector & | GetP (void) const |
double | GetTheta (unsigned int index) |
const double * | GetThetas (void) const |
KineCalc (void) | |
KineVector | Normalise (const KineVector &vector) |
void | SetA (const KineVector &newA) |
void | SetA (double newAX, double newAY, double newAZ) |
void | SetJointRange (unsigned int joint, double min, double max) |
void | SetLinkLengths (double newLink1, double newLink2, double newLink3, double newLink4, double newLink5) |
void | SetN (const KineVector &newN) |
void | SetN (double newNX, double newNY, double newNZ) |
void | SetO (const KineVector &newO) |
void | SetO (double newOX, double newOY, double newOZ) |
void | SetOffset (unsigned int joint, double newOffset) |
void | SetP (const KineVector &newP) |
void | SetP (double newPX, double newPY, double newPZ) |
void | SetTheta (unsigned int index, double newVal) |
Protected Member Functions | |
EndEffector | CalcFKForJoints (const double angles[]) |
double | CalcSolutionError (const double solution[], const EndEffector &fromPosition) |
void | CalcTheta4and5 (double angles[], const EndEffector &fromPosition) |
int | ChooseSolution (const EndEffector &fromPosition, const double solutions[][5]) |
void | PrintEndEffector (const EndEffector &endEffector) |
bool | SolutionInRange (const double angles[]) |
Protected Attributes | |
EndEffector | endEffector |
double | jointMax [5] |
double | jointMin [5] |
double | jointOffsets [5] |
double | joints [5] |
double | link1 |
double | link2 |
double | link3 |
double | link4 |
double | link5 |
Definition at line 43 of file kinecalc.h.
KineCalc::KineCalc | ( | void | ) |
Definition at line 28 of file kinecalc.cc.
EndEffector KineCalc::CalcFKForJoints | ( | const double | angles[] | ) | [protected] |
Definition at line 460 of file kinecalc.cc.
double KineCalc::CalcSolutionError | ( | const double | solution[], |
const EndEffector & | fromPosition | ||
) | [protected] |
Definition at line 439 of file kinecalc.cc.
void KineCalc::CalcTheta4and5 | ( | double | angles[], |
const EndEffector & | fromPosition | ||
) | [protected] |
Definition at line 353 of file kinecalc.cc.
void KineCalc::CalculateFK | ( | const double | fromJoints[] | ) |
Definition at line 186 of file kinecalc.cc.
bool KineCalc::CalculateIK | ( | const EndEffector & | fromPosition | ) |
Definition at line 205 of file kinecalc.cc.
KineVector KineCalc::CalculateN | ( | const EndEffector & | pose | ) |
Definition at line 139 of file kinecalc.cc.
int KineCalc::ChooseSolution | ( | const EndEffector & | fromPosition, |
const double | solutions[][5] | ||
) | [protected] |
Definition at line 406 of file kinecalc.cc.
const KineVector& KineCalc::GetA | ( | void | ) | const [inline] |
Definition at line 56 of file kinecalc.h.
const KineVector& KineCalc::GetN | ( | void | ) | const [inline] |
Definition at line 54 of file kinecalc.h.
const KineVector& KineCalc::GetO | ( | void | ) | const [inline] |
Definition at line 55 of file kinecalc.h.
const KineVector& KineCalc::GetP | ( | void | ) | const [inline] |
Definition at line 53 of file kinecalc.h.
double KineCalc::GetTheta | ( | unsigned int | index | ) |
Definition at line 83 of file kinecalc.cc.
const double* KineCalc::GetThetas | ( | void | ) | const [inline] |
Definition at line 67 of file kinecalc.h.
KineVector KineCalc::Normalise | ( | const KineVector & | vector | ) |
Definition at line 119 of file kinecalc.cc.
void KineCalc::PrintEndEffector | ( | const EndEffector & | endEffector | ) | [protected] |
Definition at line 169 of file kinecalc.cc.
void KineCalc::SetA | ( | const KineVector & | newA | ) | [inline] |
Definition at line 60 of file kinecalc.h.
void KineCalc::SetA | ( | double | newAX, |
double | newAY, | ||
double | newAZ | ||
) |
Definition at line 76 of file kinecalc.cc.
void KineCalc::SetJointRange | ( | unsigned int | joint, |
double | min, | ||
double | max | ||
) |
Definition at line 107 of file kinecalc.cc.
void KineCalc::SetLinkLengths | ( | double | newLink1, |
double | newLink2, | ||
double | newLink3, | ||
double | newLink4, | ||
double | newLink5 | ||
) |
Definition at line 93 of file kinecalc.cc.
void KineCalc::SetN | ( | const KineVector & | newN | ) | [inline] |
Definition at line 58 of file kinecalc.h.
void KineCalc::SetN | ( | double | newNX, |
double | newNY, | ||
double | newNZ | ||
) |
Definition at line 62 of file kinecalc.cc.
void KineCalc::SetO | ( | const KineVector & | newO | ) | [inline] |
Definition at line 59 of file kinecalc.h.
void KineCalc::SetO | ( | double | newOX, |
double | newOY, | ||
double | newOZ | ||
) |
Definition at line 69 of file kinecalc.cc.
void KineCalc::SetOffset | ( | unsigned int | joint, |
double | newOffset | ||
) |
Definition at line 102 of file kinecalc.cc.
void KineCalc::SetP | ( | const KineVector & | newP | ) | [inline] |
Definition at line 57 of file kinecalc.h.
void KineCalc::SetP | ( | double | newPX, |
double | newPY, | ||
double | newPZ | ||
) |
Definition at line 55 of file kinecalc.cc.
void KineCalc::SetTheta | ( | unsigned int | index, |
double | newVal | ||
) |
Definition at line 88 of file kinecalc.cc.
bool KineCalc::SolutionInRange | ( | const double | angles[] | ) | [protected] |
Definition at line 498 of file kinecalc.cc.
EndEffector KineCalc::endEffector [protected] |
Definition at line 90 of file kinecalc.h.
double KineCalc::jointMax[5] [protected] |
Definition at line 100 of file kinecalc.h.
double KineCalc::jointMin[5] [protected] |
Definition at line 99 of file kinecalc.h.
double KineCalc::jointOffsets[5] [protected] |
Definition at line 97 of file kinecalc.h.
double KineCalc::joints[5] [protected] |
Definition at line 95 of file kinecalc.h.
double KineCalc::link1 [protected] |
Definition at line 105 of file kinecalc.h.
double KineCalc::link2 [protected] |
Definition at line 105 of file kinecalc.h.
double KineCalc::link3 [protected] |
Definition at line 105 of file kinecalc.h.
double KineCalc::link4 [protected] |
Definition at line 105 of file kinecalc.h.
double KineCalc::link5 [protected] |
Definition at line 105 of file kinecalc.h.