3#ifndef __SCREW_THEORY_IK_SUBPROBLEMS_HPP__
4#define __SCREW_THEORY_IK_SUBPROBLEMS_HPP__
6#include <kdl/frames.hpp>
8#include "ScrewTheoryIkProblem.hpp"
9#include "MatrixExponential.hpp"
47 const KDL::Rotation axisPow;
84 const KDL::Vector p, r, axesCross;
85 const KDL::Rotation axisPow1, axisPow2;
122 const KDL::Vector p, k;
123 const KDL::Rotation axisPow;
196 const KDL::Vector p, crossPr2;
197 const double crossPr2Norm;
234 const KDL::Vector p, k;
271 const KDL::Vector p, n;
272 const KDL::Rotation axisPow;
Abstraction of a term in a product of exponentials (POE) formula.
Definition MatrixExponential.hpp:19
First Paden-Kahan subproblem.
Definition ScrewTheoryIkSubproblems.hpp:24
bool solve(const KDL::Frame &rhs, const KDL::Frame &pointTransform, const JointConfig &reference, Solutions &solutions) const override
Finds a closed geometric solution for this IK subproblem.
Definition PadenKahanSubproblems.cpp:21
const char * describe() const override
Return a human-readable description of this IK subproblem.
Definition ScrewTheoryIkSubproblems.hpp:41
int solutions() const override
Number of local IK solutions.
Definition ScrewTheoryIkSubproblems.hpp:38
Third Paden-Kahan subproblem.
Definition ScrewTheoryIkSubproblems.hpp:99
const char * describe() const override
Return a human-readable description of this IK subproblem.
Definition ScrewTheoryIkSubproblems.hpp:117
int solutions() const override
Number of local IK solutions.
Definition ScrewTheoryIkSubproblems.hpp:114
bool solve(const KDL::Frame &rhs, const KDL::Frame &pointTransform, const JointConfig &reference, Solutions &solutions) const override
Finds a closed geometric solution for this IK subproblem.
Definition PadenKahanSubproblems.cpp:162
Second Paden-Kahan subproblem.
Definition ScrewTheoryIkSubproblems.hpp:60
const char * describe() const override
Return a human-readable description of this IK subproblem.
Definition ScrewTheoryIkSubproblems.hpp:79
bool solve(const KDL::Frame &rhs, const KDL::Frame &pointTransform, const JointConfig &reference, Solutions &solutions) const override
Finds a closed geometric solution for this IK subproblem.
Definition PadenKahanSubproblems.cpp:62
int solutions() const override
Number of local IK solutions.
Definition ScrewTheoryIkSubproblems.hpp:76
Fourth Pardos-Gotor subproblem.
Definition ScrewTheoryIkSubproblems.hpp:248
int solutions() const override
Number of local IK solutions.
Definition ScrewTheoryIkSubproblems.hpp:263
const char * describe() const override
Return a human-readable description of this IK subproblem.
Definition ScrewTheoryIkSubproblems.hpp:266
bool solve(const KDL::Frame &rhs, const KDL::Frame &pointTransform, const JointConfig &reference, Solutions &solutions) const override
Finds a closed geometric solution for this IK subproblem.
Definition PardosGotorSubproblems.cpp:135
First Pardos-Gotor subproblem.
Definition ScrewTheoryIkSubproblems.hpp:137
int solutions() const override
Number of local IK solutions.
Definition ScrewTheoryIkSubproblems.hpp:151
const char * describe() const override
Return a human-readable description of this IK subproblem.
Definition ScrewTheoryIkSubproblems.hpp:154
bool solve(const KDL::Frame &rhs, const KDL::Frame &pointTransform, const JointConfig &reference, Solutions &solutions) const override
Finds a closed geometric solution for this IK subproblem.
Definition PardosGotorSubproblems.cpp:31
Third Pardos-Gotor subproblem.
Definition ScrewTheoryIkSubproblems.hpp:211
const char * describe() const override
Return a human-readable description of this IK subproblem.
Definition ScrewTheoryIkSubproblems.hpp:229
bool solve(const KDL::Frame &rhs, const KDL::Frame &pointTransform, const JointConfig &reference, Solutions &solutions) const override
Finds a closed geometric solution for this IK subproblem.
Definition PardosGotorSubproblems.cpp:92
int solutions() const override
Number of local IK solutions.
Definition ScrewTheoryIkSubproblems.hpp:226
Second Pardos-Gotor subproblem.
Definition ScrewTheoryIkSubproblems.hpp:173
bool solve(const KDL::Frame &rhs, const KDL::Frame &pointTransform, const JointConfig &reference, Solutions &solutions) const override
Finds a closed geometric solution for this IK subproblem.
Definition PardosGotorSubproblems.cpp:55
int solutions() const override
Number of local IK solutions.
Definition ScrewTheoryIkSubproblems.hpp:188
const char * describe() const override
Return a human-readable description of this IK subproblem.
Definition ScrewTheoryIkSubproblems.hpp:191
Interface shared by all IK subproblems found in Screw Theory applied to Robotics.
Definition ScrewTheoryIkProblem.hpp:26
virtual bool solve(const KDL::Frame &rhs, const KDL::Frame &pointTransform, const JointConfig &reference, Solutions &solutions) const =0
Finds a closed geometric solution for this IK subproblem.
std::vector< double > JointConfig
Joint configurations.
Definition ScrewTheoryIkProblem.hpp:29
std::vector< JointConfig > Solutions
Collection of local IK solutions.
Definition ScrewTheoryIkProblem.hpp:32
The main, catch-all namespace for Robotics Lab UC3M.
Definition groups.dox:6