kinematics-dynamics
Public Member Functions | Private Member Functions | List of all members
roboticslab::AsibotConfigurationLeastOverallAngularDisplacement Class Reference

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

#include <AsibotConfiguration.hpp>

Inheritance diagram for roboticslab::AsibotConfigurationLeastOverallAngularDisplacement:
roboticslab::AsibotConfiguration

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
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ AsibotConfigurationLeastOverallAngularDisplacement()

roboticslab::AsibotConfigurationLeastOverallAngularDisplacement::AsibotConfigurationLeastOverallAngularDisplacement ( JointsIn  qMin,
JointsIn  qMax 
)
inline
Parameters
qMinvector of minimum joint limits [deg]
qMaxvector of maximum joint limits [deg]

Member Function Documentation

◆ findOptimalConfiguration()

bool AsibotConfigurationLeastOverallAngularDisplacement::findOptimalConfiguration ( JointsIn  qGuess)
overridevirtual
Parameters
qGuessvector of joint angles for current robot position [deg]
Returns
true/false on success/failure

Implements roboticslab::AsibotConfiguration.


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