kinematics-dynamics
|
IK solver configuration strategy selector based on the overall angle displacement of all joints. More...
#include <AsibotConfiguration.hpp>
Public Member Functions | |
AsibotConfigurationLeastOverallAngularDisplacement (JointsIn qMin, JointsIn qMax) | |
Constructor. More... | |
bool | findOptimalConfiguration (JointsIn qGuess) override |
Analyzes available configurations and selects the optimal one. More... | |
Public Member Functions inherited from roboticslab::AsibotConfiguration | |
AsibotConfiguration (JointsIn qMin, JointsIn qMax) | |
Constructor. More... | |
virtual | ~AsibotConfiguration ()=default |
Destructor. | |
virtual bool | configure (double q1, double q2u, double q2d, double q3, double q4u, double q4d, double q5) |
Stores initial values for a specific pose. More... | |
virtual void | retrieveAngles (JointsOut q) const |
Queries computed angles for the optimal configuration. More... | |
Private Member Functions | |
std::vector< double > | getDiffs (JointsIn qGuess, const Pose &pose) |
Obtains vector of differences between current and desired joint angles [deg]. | |
Additional Inherited Members | |
Public Types inherited from roboticslab::AsibotConfiguration | |
using | JointsIn = const std::vector< double > & |
Const vector of joint angles (input parameter). | |
using | JointsOut = std::vector< double > & |
Vector of joint angles (output parameter). | |
Protected Attributes inherited from roboticslab::AsibotConfiguration | |
JointsIn | _qMin |
JointsIn | _qMax |
Pose | optimalPose |
Pose | forwardElbowUp |
Pose | forwardElbowDown |
Pose | reversedElbowUp |
Pose | reversedElbowDown |
Selects the configuration that entails the lowest sum of angular displacements across all joints. Upon choosing between elbow up and down alternatives, a small angular travel distance for joint 2 is preferred.
|
inline |
qMin | vector of minimum joint limits [deg] |
qMax | vector of maximum joint limits [deg] |
|
overridevirtual |
qGuess | vector of joint angles for current robot position [deg] |
Implements roboticslab::AsibotConfiguration.