IK solver configuration strategy selector based on the overall displacement of all joints.
More...
#include <ConfigurationSelector.hpp>
|
| ConfigurationSelectorLeastOverallAngularDisplacement (const KDL::JntArray &qMin, const KDL::JntArray &qMax) |
| Constructor.
|
|
bool | findOptimalConfiguration (const KDL::JntArray &qGuess) override |
| Analyzes available configurations and selects the optimal one.
|
|
| 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 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.
|
|
|
std::vector< double > | getDiffs (const KDL::JntArray &qGuess, const Configuration &config) |
| Obtains vector of differences between current and desired joint values.
|
|
virtual bool | validate (Configuration &config) |
| Validates a specific robot configuration.
|
|
|
static constexpr int | INVALID_CONFIG = -1 |
|
static bool | checkJointInLimits (double q, double qMin, double qMax) |
| Checks if a joint value is within its limits.
|
|
KDL::JntArray | _qMin |
|
KDL::JntArray | _qMax |
|
std::vector< Configuration > | configs |
|
int | lastValid {INVALID_CONFIG} |
|
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.
◆ ConfigurationSelectorLeastOverallAngularDisplacement()
roboticslab::ConfigurationSelectorLeastOverallAngularDisplacement::ConfigurationSelectorLeastOverallAngularDisplacement |
( |
const KDL::JntArray & |
qMin, |
|
|
const KDL::JntArray & |
qMax |
|
) |
| |
|
inline |
- Parameters
-
qMin | Joint array of minimum joint limits. |
qMax | Joint array of maximum joint limits. |
◆ findOptimalConfiguration()
bool ConfigurationSelectorLeastOverallAngularDisplacement::findOptimalConfiguration |
( |
const KDL::JntArray & |
qGuess | ) |
|
|
overridevirtual |
The documentation for this class was generated from the following files:
- libraries/ScrewTheoryLib/ConfigurationSelector.hpp
- libraries/ScrewTheoryLib/ConfigurationSelectorLeastOverallAngularDisplacement.cpp