|
|
Functions | |
| bool | applyProprioceptionLimits (Eigen::Map< memoryx::KBM::Vector > &solution, const memoryx::KBM::Vector &lowerProprioceptionLimits, const memoryx::KBM::Vector &upperProprioceptionLimits) |
| apply limits to solution and return true, if solution has been changed = solution was not in limits More... | |
| memoryx::KBM::Vector | calculateJointDeltas (const memoryx::KBM::Models::KBM &kbm, const memoryx::KBM::Vector &target, const memoryx::KBM::Vector &position, const memoryx::KBM::Vector &proprioception, float stepSizeFactor, float maxStepSize) |
| calculateJointDeltas is in internal function called by solve More... | |
| bool | checkProprioceptionLimits (const memoryx::KBM::Vector &solution, const memoryx::KBM::Vector &lowerProprioceptionLimits, const memoryx::KBM::Vector &upperProprioceptionLimits) |
| check if solution is within the limits More... | |
| float | randomFloat (float LO, float HI) |
| randomFloat creates a random float between LO and HI More... | |
| memoryx::KBM::Vector | randomProprioception (const memoryx::KBM::Vector &lowerProprioceptionLimits, const memoryx::KBM::Vector &upperProprioceptionLimits) |
| Creates a vector of random values between the limits. More... | |
| bool | solve (const memoryx::KBM::Models::KBM &kbm, const memoryx::KBM::Vector &targetPosition, const memoryx::KBM::Vector ¤tPostion, const memoryx::KBM::Vector ¤tProprioception, Eigen::Map< memoryx::KBM::Vector > &solution, float positionTolerance=5.0f, float minimumDelta=0.0f, bool requireImprovment=false, int maxSteps=50, float stepSizeFactor=0.2f, float maxStepSize=FLT_MAX) |
| solves the inverse kinematics More... | |
| bool | solveMany (const memoryx::KBM::Models::KBM &kbm, const memoryx::KBM::Vector &targetPosition, const memoryx::KBM::Vector ¤tPosition, const memoryx::KBM::Vector ¤tProprioception, const memoryx::KBM::Vector &lowerProprioceptionLimits, const memoryx::KBM::Vector &upperProprioceptionLimits, Eigen::Map< memoryx::KBM::Vector > &solution, bool applyLimits=true, int maxSolves=25, float positionTolerance=5.0f, float minimumDelta=0.0f, bool requireImprovment=false, int maxSteps=50, float stepSizeFactor=0.2f, float maxStepSize=FLT_MAX) |
| KBMDifferentialIK::solveMany runs solve many times. More... | |
| bool applyProprioceptionLimits | ( | Eigen::Map< memoryx::KBM::Vector > & | solution, |
| const memoryx::KBM::Vector & | lowerProprioceptionLimits, | ||
| const memoryx::KBM::Vector & | upperProprioceptionLimits | ||
| ) |
apply limits to solution and return true, if solution has been changed = solution was not in limits
Definition at line 1203 of file KBMComponent.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| memoryx::KBM::Vector calculateJointDeltas | ( | const memoryx::KBM::Models::KBM & | kbm, |
| const memoryx::KBM::Vector & | target, | ||
| const memoryx::KBM::Vector & | position, | ||
| const memoryx::KBM::Vector & | proprioception, | ||
| float | stepSizeFactor, | ||
| float | maxStepSize | ||
| ) |
calculateJointDeltas is in internal function called by solve
Definition at line 1102 of file KBMComponent.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| bool checkProprioceptionLimits | ( | const memoryx::KBM::Vector & | solution, |
| const memoryx::KBM::Vector & | lowerProprioceptionLimits, | ||
| const memoryx::KBM::Vector & | upperProprioceptionLimits | ||
| ) |
check if solution is within the limits
Definition at line 1165 of file KBMComponent.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:randomFloat creates a random float between LO and HI
Definition at line 1096 of file KBMComponent.cpp.
Here is the caller graph for this function:| memoryx::KBM::Vector randomProprioception | ( | const memoryx::KBM::Vector & | lowerProprioceptionLimits, |
| const memoryx::KBM::Vector & | upperProprioceptionLimits | ||
| ) |
Creates a vector of random values between the limits.
Definition at line 1143 of file KBMComponent.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| bool solve | ( | const memoryx::KBM::Models::KBM & | kbm, |
| const memoryx::KBM::Vector & | targetPosition, | ||
| const memoryx::KBM::Vector & | currentPostion, | ||
| const memoryx::KBM::Vector & | currentProprioception, | ||
| Eigen::Map< memoryx::KBM::Vector > & | solution, | ||
| float | positionTolerance = 5.0f, |
||
| float | minimumDelta = 0.0f, |
||
| bool | requireImprovment = false, |
||
| int | maxSteps = 50, |
||
| float | stepSizeFactor = 0.2f, |
||
| float | maxStepSize = FLT_MAX |
||
| ) |
solves the inverse kinematics
| kbm | the learned KBM |
| targetPosition | the target position |
| currentPosition | the current position |
| currentProprioception | the current proprioception |
| solution | will contain the joint values that solve the inverse kinematics |
Definition at line 1402 of file KBMComponent.cpp.
Here is the call graph for this function:
Here is the caller graph for this function:| bool solveMany | ( | const memoryx::KBM::Models::KBM & | kbm, |
| const memoryx::KBM::Vector & | targetPosition, | ||
| const memoryx::KBM::Vector & | currentPosition, | ||
| const memoryx::KBM::Vector & | currentProprioception, | ||
| const memoryx::KBM::Vector & | lowerProprioceptionLimits, | ||
| const memoryx::KBM::Vector & | upperProprioceptionLimits, | ||
| Eigen::Map< memoryx::KBM::Vector > & | solution, | ||
| bool | applyLimits = true, |
||
| int | maxSolves = 25, |
||
| float | positionTolerance = 5.0f, |
||
| float | minimumDelta = 0.0f, |
||
| bool | requireImprovment = false, |
||
| int | maxSteps = 50, |
||
| float | stepSizeFactor = 0.2f, |
||
| float | maxStepSize = FLT_MAX |
||
| ) |
KBMDifferentialIK::solveMany runs solve many times.
| kbm | |
| targetPosition | |
| currentProprioception | |
| lowerProprioceptionLimits | |
| upperProprioceptionLimits | |
| solution | |
| maxSolves | maximum number of times solve() should be called |
| positionTolerance | |
| minimumDelta | |
| requireImprovment | |
| maxSteps | |
| stepSizeFactor | |
| maxStepSize |
Definition at line 1249 of file KBMComponent.cpp.
Here is the call graph for this function:
Here is the caller graph for this function: