kinematics-dynamics
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
roboticslab::ConfigurationSelectorLeastOverallAngularDisplacement Class Reference

IK solver configuration strategy selector based on the overall displacement of all joints. More...

#include <ConfigurationSelector.hpp>

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

Public Member Functions

 ConfigurationSelectorLeastOverallAngularDisplacement (const KDL::JntArray &qMin, const KDL::JntArray &qMax)
 Constructor. More...
 
bool findOptimalConfiguration (const KDL::JntArray &qGuess) override
 Analyzes available configurations and selects the optimal one. More...
 
- Public Member Functions inherited from roboticslab::ConfigurationSelector
 ConfigurationSelector (const KDL::JntArray &qMin, const KDL::JntArray &qMax)
 Constructor. More...
 
virtual ~ConfigurationSelector ()=default
 Destructor.
 
virtual bool configure (const std::vector< KDL::JntArray > &solutions)
 Stores initial values for a specific pose. More...
 
virtual void retrievePose (KDL::JntArray &q) const
 Queries computed joint values for the optimal configuration. More...
 

Protected Member Functions

std::vector< double > getDiffs (const KDL::JntArray &qGuess, const Configuration &config)
 Obtains vector of differences between current and desired joint values.
 

Protected Attributes

int lastValid
 
- Protected Attributes inherited from roboticslab::ConfigurationSelector
KDL::JntArray _qMin
 
KDL::JntArray _qMax
 
Configuration optimalConfig
 
std::vector< Configurationconfigs
 

Static Protected Attributes

static const int INVALID_CONFIG = -1
 

Detailed Description

Selects the configuration that entails the lowest sum of displacements across all joints. Works best for all revolute/all prismatic chain types. If attainable, it retains the previous configuration after the first successful choice and discards all other configs for the rest of the instance's lifetime.

Constructor & Destructor Documentation

◆ ConfigurationSelectorLeastOverallAngularDisplacement()

roboticslab::ConfigurationSelectorLeastOverallAngularDisplacement::ConfigurationSelectorLeastOverallAngularDisplacement ( 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

◆ findOptimalConfiguration()

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

Implements roboticslab::ConfigurationSelector.

Reimplemented in roboticslab::ConfigurationSelectorHumanoidGait.


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