|
kinematics-dynamics
|
Automated IK solution finder. More...
#include <ScrewTheoryIkProblem.hpp>
Classes | |
| struct | PoeTerm |
| Helper structure that holds the state of a POE term. More... | |
Public Member Functions | |
| ScrewTheoryIkProblemBuilder (const PoeExpression &poe) | |
| Constructor. | |
| ScrewTheoryIkProblem * | build () |
| Finds a valid sequence of geometric subproblems that solve a global IK problem. | |
Private Member Functions | |
| ScrewTheoryIkProblem::Steps | searchSolutions () |
| void | refreshSimplificationState () |
| void | simplify (int depth) |
| void | simplifyWithPadenKahanOne (const KDL::Vector &point) |
| void | simplifyWithPadenKahanThree (const KDL::Vector &point) |
| void | simplifyWithPardosOne () |
| ScrewTheoryIkProblem::JointIdsToSubproblem | trySolve (int depth) |
Static Private Member Functions | |
| static std::vector< KDL::Vector > | searchPoints (const PoeExpression &poe) |
Private Attributes | |
| PoeExpression | poe |
| std::vector< KDL::Vector > | points |
| std::vector< KDL::Vector > | testPoints |
| std::vector< PoeTerm > | poeTerms |
Static Private Attributes | |
| static const int | MAX_SIMPLIFICATION_DEPTH = 2 |
This class helps to automate the process for configuring a valid IK problem given its geometric data only. It is intended to take care of the generation and configuration of known subproblems, whereas particular joint-space solutions are meant to be computed on runtime by ScrewTheoryIkProblem.
| ScrewTheoryIkProblemBuilder::ScrewTheoryIkProblemBuilder | ( | const PoeExpression & | poe | ) |
| poe | Product of exponentials (POE) formula. |
| ScrewTheoryIkProblem * ScrewTheoryIkProblemBuilder::build | ( | ) |