kinematics-dynamics
Classes | Functions

Contains classes related to Screw Theory solvers and tools. More...

Classes

class  roboticslab::ConfigurationSelector
 Abstract base class for a robot configuration strategy selector. More...
 
class  roboticslab::ConfigurationSelectorLeastOverallAngularDisplacement
 IK solver configuration strategy selector based on the overall displacement of all joints. More...
 
class  roboticslab::ConfigurationSelectorHumanoidGait
 IK solver configuration strategy selector based on human walking. More...
 
class  roboticslab::ConfigurationSelectorFactory
 Base factory class for ConfigurationSelector. More...
 
class  roboticslab::ConfigurationSelectorLeastOverallAngularDisplacementFactory
 Implementation factory class for ConfigurationSelectorLeastOverallAngularDisplacement. More...
 
class  roboticslab::ConfigurationSelectorHumanoidGaitFactory
 Implementation factory class for ConfigurationSelectorHumanoidGait. More...
 
class  roboticslab::MatrixExponential
 Abstraction of a term in a product of exponentials (POE) formula. More...
 
class  roboticslab::PoeExpression
 Abstraction of a product of exponentials (POE) formula. More...
 
class  roboticslab::ScrewTheoryIkSubproblem
 Interface shared by all IK subproblems found in Screw Theory applied to Robotics. More...
 
class  roboticslab::ScrewTheoryIkProblem
 Proxy IK problem solver class that iterates over a sequence of subproblems. More...
 
class  roboticslab::ScrewTheoryIkProblemBuilder
 Automated IK solution finder. More...
 
class  roboticslab::PadenKahanOne
 First Paden-Kahan subproblem. More...
 
class  roboticslab::PadenKahanTwo
 Second Paden-Kahan subproblem. More...
 
class  roboticslab::PadenKahanThree
 Third Paden-Kahan subproblem. More...
 
class  roboticslab::PardosGotorOne
 First Pardos-Gotor subproblem. More...
 
class  roboticslab::PardosGotorTwo
 Second Pardos-Gotor subproblem. More...
 
class  roboticslab::PardosGotorThree
 Third Pardos-Gotor subproblem. More...
 
class  roboticslab::PardosGotorFour
 Fourth Pardos-Gotor subproblem. More...
 

Functions

KDL::Rotation roboticslab::vectorPow2 (const KDL::Vector &v)
 Multiply a vector by itself to obtain a square matrix. More...
 
double roboticslab::normalizeAngle (double angle)
 Clip an angle value between certain bounds. More...
 

Detailed Description

Proof of concept for a kinematics library based on screw theory concepts applied to robotics. This implementation is mainly focused on solving inverse kinematics problems in an efficient and effective manner via closed-form geometric solutions. Comparing this approach with a tradicional numeric-based approach yields ([4]):

See also
[1]

Function Documentation

◆ normalizeAngle()

double roboticslab::normalizeAngle ( double  angle)
inline

Values that exceed [-pi pi] are normalized to fit this range. Values close to -pi are approximated as pi.

Parameters
angleMagnitude of the requested angle.
Returns
Normalized angle.

◆ vectorPow2()

KDL::Rotation roboticslab::vectorPow2 ( const KDL::Vector &  v)
inline

Given a column-vector v, computes v*v'.

Parameters
vInput vector.
Returns
Resulting square matrix.