kinematics-dynamics
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
roboticslab::ConfigurationSelector Class Referenceabstract

Abstract base class for a robot configuration strategy selector.

#include <ConfigurationSelector.hpp>

Inheritance diagram for roboticslab::ConfigurationSelector:
roboticslab::ConfigurationSelectorLeastOverallAngularDisplacement roboticslab::ConfigurationSelectorHumanoidGait

Classes

class  Configuration
 Helper class to store a specific robot configuration. More...
 

Public Member Functions

 ConfigurationSelector (const KDL::JntArray &qMin, const KDL::JntArray &qMax)
 Constructor.
 
virtual ~ConfigurationSelector ()=default
 Destructor.
 
virtual bool configure (const std::vector< KDL::JntArray > &solutions, const std::vector< bool > &reachability)
 Stores initial values for a specific pose.
 
virtual bool findOptimalConfiguration (const KDL::JntArray &qGuess)=0
 Analyzes available configurations and selects the optimal one.
 
virtual void retrievePose (KDL::JntArray &q) const
 Queries computed joint values for the optimal configuration.
 
int getValidSolutionIndex () const
 Retrieves the index of the last valid solution.
 

Static Public Attributes

static constexpr int INVALID_CONFIG = -1
 

Protected Member Functions

virtual bool validate (Configuration &config)
 Validates a specific robot configuration.
 

Static Protected Member Functions

static bool checkJointInLimits (double q, double qMin, double qMax)
 Checks if a joint value is within its limits.
 

Protected Attributes

KDL::JntArray _qMin
 
KDL::JntArray _qMax
 
std::vector< Configurationconfigs
 
int lastValid {INVALID_CONFIG}
 

Constructor & Destructor Documentation

◆ ConfigurationSelector()

roboticslab::ConfigurationSelector::ConfigurationSelector ( const KDL::JntArray &  qMin,
const KDL::JntArray &  qMax 
)
inline
Parameters
qMinJoint array of minimum joint limits.
qMaxJoint array of maximum joint limits.

Member Function Documentation

◆ checkJointInLimits()

static bool roboticslab::ConfigurationSelector::checkJointInLimits ( double  q,
double  qMin,
double  qMax 
)
inlinestaticprotected
Parameters
qJoint value.
qMinMinimum joint limit.
qMaxMaximum joint limit.
Returns
True/false on within/without limits.

◆ configure()

bool ConfigurationSelector::configure ( const std::vector< KDL::JntArray > &  solutions,
const std::vector< bool > &  reachability 
)
virtual
Parameters
solutionsVector of joint arrays that represent all available (valid or not) robot joint poses.
Returns
True/false on success/failure.

◆ findOptimalConfiguration()

virtual bool roboticslab::ConfigurationSelector::findOptimalConfiguration ( const KDL::JntArray &  qGuess)
pure virtual
Parameters
qGuessJoint array of values for current robot position.
Returns
True/false on success/failure.

Implemented in roboticslab::ConfigurationSelectorLeastOverallAngularDisplacement, and roboticslab::ConfigurationSelectorHumanoidGait.

◆ getValidSolutionIndex()

int roboticslab::ConfigurationSelector::getValidSolutionIndex ( ) const
inline
Returns
Index of the last valid solution.

◆ retrievePose()

virtual void roboticslab::ConfigurationSelector::retrievePose ( KDL::JntArray &  q) const
inlinevirtual
Parameters
qOutput joint array.

◆ validate()

bool ConfigurationSelector::validate ( Configuration config)
protectedvirtual
Parameters
configConfiguration to validate.
Returns
True/false on valid/invalid.

The documentation for this class was generated from the following files: