3 #ifndef __ASIBOT_CONFIGURATION_HPP__
4 #define __ASIBOT_CONFIGURATION_HPP__
34 : _qMin(qMin), _qMax(qMax)
57 virtual bool configure(
double q1,
double q2u,
double q2d,
double q3,
double q4u,
double q4d,
double q5);
89 : _q1(0.0), _q2(0.0), _q3(0.0), _q4(0.0), _q5(0.0), valid(true), _orient(FORWARD), _elb(UP)
104 double _q1, _q2, _q3, _q4, _q5;
116 Pose forwardElbowDown;
117 Pose reversedElbowUp;
118 Pose reversedElbowDown;
174 : _qMin(qMin), _qMax(qMax)
Base factory class for AsibotConfiguration.
Definition: AsibotConfiguration.hpp:158
AsibotConfigurationFactory(AsibotConfiguration::JointsIn qMin, AsibotConfiguration::JointsIn qMax)
Constructor.
Definition: AsibotConfiguration.hpp:173
virtual AsibotConfiguration * create() const =0
Creates an instance of the concrete class.
Implementation factory class for AsibotConfigurationLeastOverallAngularDisplacement.
Definition: AsibotConfiguration.hpp:187
AsibotConfiguration * create() const override
Creates an instance of the concrete class.
Definition: AsibotConfiguration.hpp:198
AsibotConfigurationLeastOverallAngularDisplacementFactory(AsibotConfiguration::JointsIn qMin, AsibotConfiguration::JointsIn qMax)
Constructor.
Definition: AsibotConfiguration.hpp:194
IK solver configuration strategy selector based on the overall angle displacement of all joints.
Definition: AsibotConfiguration.hpp:132
std::vector< double > getDiffs(JointsIn qGuess, const Pose &pose)
Obtains vector of differences between current and desired joint angles [deg].
Definition: AsibotConfigurationLeastOverallAngularDisplacement.cpp:85
AsibotConfigurationLeastOverallAngularDisplacement(JointsIn qMin, JointsIn qMax)
Constructor.
Definition: AsibotConfiguration.hpp:139
bool findOptimalConfiguration(JointsIn qGuess) override
Analyzes available configurations and selects the optimal one.
Definition: AsibotConfigurationLeastOverallAngularDisplacement.cpp:16
Abstract base class for a robot configuration strategy selector.
Definition: AsibotConfiguration.hpp:20
virtual ~AsibotConfiguration()=default
Destructor.
virtual bool findOptimalConfiguration(JointsIn qGuess)=0
Analyzes available configurations and selects the optimal one.
AsibotConfiguration(JointsIn qMin, JointsIn qMax)
Constructor.
Definition: AsibotConfiguration.hpp:33
virtual bool configure(double q1, double q2u, double q2d, double q3, double q4u, double q4d, double q5)
Stores initial values for a specific pose.
Definition: AsibotConfiguration.cpp:47
virtual void retrieveAngles(JointsOut q) const
Queries computed angles for the optimal configuration.
Definition: AsibotConfiguration.hpp:70
const std::vector< double > & JointsIn
Const vector of joint angles (input parameter).
Definition: AsibotConfiguration.hpp:23
std::vector< double > & JointsOut
Vector of joint angles (output parameter).
Definition: AsibotConfiguration.hpp:26
The main, catch-all namespace for Robotics Lab UC3M.
Definition: groups.dox:6
Helper class to store a specific robot configuration.
Definition: AsibotConfiguration.hpp:80
void retrieveAngles(JointsOut q) const
Returns stored angles.
Definition: AsibotConfiguration.cpp:126
bool checkJointsInLimits(JointsIn qMin, JointsIn qMax) const
Checks whether current configuration is reachable.
Definition: AsibotConfiguration.cpp:107
void storeAngles(double q1, double q2, double q3, double q4, double q5, orientation orient, elbow elb)
Initializes angle values (in degrees).
Definition: AsibotConfiguration.cpp:95
orientation
Orientation of axis 1 ('forward' or 180ยบ offset).
Definition: AsibotConfiguration.hpp:82
Pose()
Constructor.
Definition: AsibotConfiguration.hpp:88
elbow
Orientation of axes 2-3 (elbow up/down).
Definition: AsibotConfiguration.hpp:85
std::string toString() const
Serializes stored data.
Definition: AsibotConfiguration.cpp:131