1 #ifndef YOUBOT_YOUBOTJOINTPARAMETER_H 2 #define YOUBOT_YOUBOTJOINTPARAMETER_H 54 #include <boost/limits.hpp> 75 virtual void toString(std::string& value) = 0;
83 virtual std::string
getName()
const = 0;
104 virtual void toString(std::string& value) = 0;
112 virtual std::string
getName()
const = 0;
131 void getParameter(std::string& parameter)
const;
133 void setParameter(
const std::string parameter);
164 void getParameter(
bool& parameter)
const;
166 void setParameter(
const bool parameter);
197 void getParameter(
bool& doCalibration,
CalibrationDirection& calibrationDirection, quantity<si::current>& maxCurrent)
const;
199 void setParameter(
const bool doCalibration,
CalibrationDirection calibrationDirection,
const quantity<si::current>& maxCurrent);
234 void getParameter(
int& controllerType, std::string& firmwareVersion)
const;
236 void setParameter(
const int controllerType,
const std::string firmwareVersion);
269 void getParameter(
double& parameter)
const;
271 void setParameter(
const double parameter);
302 void getParameter(
unsigned int& parameter)
const;
304 void setParameter(
const unsigned int parameter);
335 void getParameter(
bool& parameter)
const;
337 void setParameter(
const bool parameter);
368 void getParameter(
int& lowerLimit,
int& upperLimit,
bool& areLimitsActive)
const;
370 void setParameter(
const int lowerLimit,
const int upperLimit,
const bool activateLimits);
405 void getParameter(quantity<plane_angle>& lowerLimit, quantity<plane_angle>& upperLimit,
bool& areLimitsActive)
const;
407 void setParameter(
const quantity<plane_angle>& lowerLimit,
const quantity<plane_angle>& upperLimit,
const bool activateLimits);
442 void getParameter(
double& parameter)
const;
444 void setParameter(
const double parameter);
475 void getParameter(quantity<angular_velocity>& parameter)
const;
477 void setParameter(
const quantity<angular_velocity>& parameter);
512 void getParameter(quantity<angular_acceleration>& parameter)
const;
514 void setParameter(
const quantity<angular_acceleration>& parameter);
532 quantity<angular_acceleration>
value;
549 void getParameter(
bool& parameter)
const;
551 void setParameter(
const bool parameter);
582 void getParameter(quantity<angular_velocity>& parameter)
const;
584 void setParameter(
const quantity<angular_velocity>& parameter);
620 void getParameter(quantity<angular_velocity>& parameter)
const;
622 void setParameter(
const quantity<angular_velocity>& parameter);
657 void getParameter(quantity<angular_velocity>& parameter)
const;
659 void setParameter(
const quantity<angular_velocity>& parameter);
694 void getParameter(
int& parameter)
const;
696 void setParameter(
const int parameter);
731 void getParameter(
int& parameter)
const;
733 void setParameter(
const int parameter);
768 void getParameter(
int& parameter)
const;
770 void setParameter(
const int parameter);
805 void getParameter(
int& parameter)
const;
807 void setParameter(
const int parameter);
842 void getParameter(
int& parameter)
const;
844 void setParameter(
const int parameter);
879 void getParameter(
int& parameter)
const;
881 void setParameter(
const int parameter);
916 void getParameter(
int& parameter)
const;
918 void setParameter(
const int parameter);
953 void getParameter(
int& parameter)
const;
955 void setParameter(
const int parameter);
990 void getParameter(
int& parameter)
const;
992 void setParameter(
const int parameter);
1027 void getParameter(
int& parameter)
const;
1029 void setParameter(
const int parameter);
1064 void getParameter(
int& parameter)
const;
1066 void setParameter(
const int parameter);
1101 void getParameter(
int& parameter)
const;
1103 void setParameter(
const int parameter);
1138 void getParameter(
int& parameter)
const;
1140 void setParameter(
const int parameter);
1175 void getParameter(
int& parameter)
const;
1177 void setParameter(
const int parameter);
1212 void getParameter(
int& parameter)
const;
1214 void setParameter(
const int parameter);
1249 void getParameter(
int& parameter)
const;
1251 void setParameter(
const int parameter);
1286 void getParameter(
int& parameter)
const;
1288 void setParameter(
const int parameter);
1323 void getParameter(
int& parameter)
const;
1325 void setParameter(
const int parameter);
1360 void getParameter(
int& parameter)
const;
1362 void setParameter(
const int parameter);
1397 void getParameter(
int& parameter)
const;
1399 void setParameter(
const int parameter);
1434 void getParameter(quantity<angular_velocity>& parameter)
const;
1436 void setParameter(
const quantity<angular_velocity>& parameter);
1471 void getParameter(
int& parameter)
const;
1473 void setParameter(
const int parameter);
1508 void getParameter()
const;
1510 void setParameter();
1542 bool getParameter()
const;
1544 void setParameter();
1575 void getParameter(
double& parameter)
const;
1577 void setParameter(
const double parameter);
1608 void getParameter(
double& parameter)
const;
1610 void setParameter(
const double parameter);
1641 void getParameter(
double& parameter)
const;
1643 void setParameter(
const double parameter);
1674 void getParameter(
double& parameter)
const;
1676 void setParameter(
const double parameter);
std::string getName() const
ParameterType parameterType
Adjusts the limit to switch between first velocity PID parameter set and second velocity PID paramete...
Acceleration parameter for velocity control and position control.
ParameterType parameterType
std::string getName() const
std::string getName() const
Adjust in standstill to lowest possible value at which the motor keeps its position. A too high value causes overshooting at positioning mode. (second position parameter set)
I-Parameter of PID current regulator.
virtual ~YouBotApiJointParameter()
the firmware version of the joint
void getYouBotMailboxMsg(YouBotSlaveMailboxMsg &message, TMCLCommandNumber msgType, const YouBotJointStorage &storage) const
void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg &message, const YouBotJointStorage &storage)
ParameterType parameterType
the resolution of the encoders, it is needed for the calculations of the youBot Driver ...
ParameterType parameterType
the resolution of the encoders, it is needed for the calculations of the youBot Driver ...
void getYouBotMailboxMsg(YouBotSlaveMailboxMsg &message, TMCLCommandNumber msgType, const YouBotJointStorage &storage) const
ParameterType parameterType
ParameterType parameterType
std::string getName() const
virtual void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg &message, const YouBotJointStorage &storage)=0
Switching threshold for position control between the first and second set of parameters. If the velocity threshold is set to zero, the parameter set 2 is used all the time.
quantity< angular_velocity > value
ParameterType parameterType
std::string getName() const
I-Parameter of PID position regulator (first position parameter set)
std::string getName() const
YouBotApiJointParameter()
ParameterType getType() const
Maximum distance at which the position end flag is set.
virtual void toString(std::string &value)=0
ParameterType parameterType
ParameterType parameterType
joint position limits in encoder ticks
quantity< angular_acceleration > upperLimit
std::string getName() const
ParameterType parameterType
std::string getName() const
ParameterType parameterType
virtual void getYouBotMailboxMsg(YouBotSlaveMailboxMsg &message, TMCLCommandNumber msgType, const YouBotJointStorage &storage) const =0
abstract youBot API joint parameter
ParameterType parameterType
void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg &message, const YouBotJointStorage &storage)
std::string getName() const
std::string getName() const
joint position limits in radian
quantity< angular_velocity > value
ParameterType parameterType
ParameterType parameterType
Velocity to switch from controlled to hallFX mode. Set this value to a realistic velocity which the m...
Switches the ramp generator for speed and position control on and off.
quantity< angular_velocity > upperLimit
P-Parameter of PID position regulator (second position parameter set)
gives a limit for the I sum part of the trajectory regulator
std::string getName() const
Adjust in standstill to lowest possible value at which the motor keeps its position. A too high value causes overshooting at positioning mode. (first position parameter set)
D-Parameter of PID trajectory regulator.
ParameterType parameterType
I-Parameter of PID trajectory regulator.
std::string getName() const
Clear the flag that indicates a communication timeout between the EtherCAT master and the controller...
quantity< angular_velocity > upperLimit
ParameterType parameterType
void getYouBotMailboxMsg(YouBotSlaveMailboxMsg &message, TMCLCommandNumber msgType, const YouBotJointStorage &storage) const
D-Parameter of PID current regulator.
std::string getName() const
ParameterType getType() const
std::string getName() const
ParameterType parameterType
quantity< si::current > maxCurrent
P-Parameter of PID trajectory regulator.
std::string getName() const
std::string getName() const
std::string getName() const
std::string firmwareVersion
void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg &message, const YouBotJointStorage &storage)
Clear the flag that indicates that the I2t sum has exceeded the I2t limit.
quantity< angular_velocity > lowerLimit
D-Parameter of PID position regulator (first position parameter set)
quantity< angular_velocity > upperLimit
ParameterType parameterType
ParameterType parameterType
ParameterType parameterType
ParameterType parameterType
std::string getName() const
std::string getName() const
std::string getName() const
quantity< angular_velocity > value
the gear ratio which is needed for the calculations in the youBot driver
std::string getName() const
void getYouBotMailboxMsg(YouBotSlaveMailboxMsg &message, TMCLCommandNumber msgType, const YouBotJointStorage &storage) const
ParameterType parameterType
void getYouBotMailboxMsg(YouBotSlaveMailboxMsg &message, TMCLCommandNumber msgType, const YouBotJointStorage &storage) const
ParameterType parameterType
ParameterType parameterType
EtherCAT mailbox message of the youBot slaves.
std::string getName() const
abstract youBot joint parameter
virtual std::string getName() const =0
std::string getName() const
virtual ParameterType getType() const =0
quantity< plane_angle > lowerLimit
inverse the joint movement direction
std::string getName() const
The maximum velocity used for move to position command when executing a ramp to a position...
quantity< angular_velocity > value
ParameterType parameterType
quantity< angular_velocity > lowerLimit
ParameterType parameterType
I-Parameter of PID position regulator (second position parameter set)
ParameterType parameterType
ParameterType parameterType
ParameterType parameterType
ParameterType parameterType
std::string getName() const
ParameterType parameterType
ParameterType parameterType
ParameterType parameterType
ParameterType parameterType
std::string getName() const
quantity< angular_velocity > value
Maximum velocity at which end position can be set. Prevents issuing of end position when the target i...
void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg &message, const YouBotJointStorage &storage)
I-Clipping Parameter of PID current regulator.
P-Parameter of PID current regulator.
std::string getName() const
std::string getName() const
quantity< angular_velocity > upperLimit
CalibrationDirection calibrationDirection
abstract youBot joint parameter which can be read only
ParameterType parameterType
std::string getName() const
std::string getName() const
quantity< angular_acceleration > lowerLimit
void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg &message, const YouBotJointStorage &storage)
quantity< angular_velocity > lowerLimit
quantity< angular_velocity > lowerLimit
void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg &message, const YouBotJointStorage &storage)
quantity< angular_velocity > lowerLimit
Stores YouBotJoint informations which are needed in the driver.
void getYouBotMailboxMsg(YouBotSlaveMailboxMsg &message, TMCLCommandNumber msgType, const YouBotJointStorage &storage) const
std::string getName() const
std::string getName() const
quantity< angular_velocity > upperLimit
std::string getName() const
std::string getName() const
void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg &message, const YouBotJointStorage &storage)
ParameterType parameterType
std::string getName() const
void getYouBotMailboxMsg(YouBotSlaveMailboxMsg &message, TMCLCommandNumber msgType, const YouBotJointStorage &storage) const
ParameterType parameterType
quantity< angular_acceleration > value
P-Parameter of PID position regulator (first position parameter set)
quantity< plane_angle > upperLimit
void getYouBotMailboxMsg(YouBotSlaveMailboxMsg &message, TMCLCommandNumber msgType, const YouBotJointStorage &storage) const
std::string getName() const
D-Parameter of PID position regulator (second position parameter set)
ParameterType parameterType
void setYouBotMailboxMsg(const YouBotSlaveMailboxMsg &message, const YouBotJointStorage &storage)