YARP
Yet Another Robot Platform
ControlBoardWrapper Class Reference

#include <ControlBoardWrapper/ControlBoardWrapper.h>

+ Inheritance diagram for ControlBoardWrapper:

Detailed Description

Description of input parameters

A updated version of the controlBoard network wrapper. It can merge together more than one control board device, or use only a portion of it by remapping functionality. Allows also deferred attach/detach of a subdevice.

Parameters required by this device are:

Parameter name SubParameter Type Units Default Value Required Description Notes
name - string - - Yes full name of the port opened by the device, like /robotName/part/ MUST start with a '/' character
period - int ms 20 No refresh period of the broadcasted values in ms optional, default 20ms
subdevice - string - - alternative to netwok group name of the subdevice to instantiate when used, parameters for the subdevice must be provided as well
networks - group - - alternative to subdevice this is expected to be a group parameter in xml format, a list in .ini file format. SubParameter are mandatory if this is used -
- networkName_1 4 * int joint number - if networks is used describe how to match subdevice_1 joints with the wrapper joints. First 2 numbers indicate first/last wrapper joint, last 2 numbers are subdevice first/last joint The joints are intended to be consequent
- ... 4 * int joint number - if networks is used same as above The joints are intended to be consequent
- networkName_n 4 * int joint number - if networks is used same as above The joints are intended to be consequent
- joints int - - if networks is used total number of joints handled by the wrapper MUST match the sum of joints from all the networks
ROS - group - - No Group containing parameter for ROS topic initialization if missing, it is assumed to not use ROS topics
- useROS string true/false/only - if ROS group is present set 'true' to have both yarp ports and ROS topic, set 'only' to have only ROS topic and no yarp port -
- ROS_topicName string - - if ROS group is present set the name for ROS topic must start with a leading '/'
- ROS_nodeName string - - if ROS group is present set the name for ROS node must start with a leading '/'
- jointNames string - - deprecated joints names are now got from attached motionControl device names order must match with the joint order, from 0 to N

ROS message type used is sensor_msgs/JointState.msg (http://docs.ros.org/api/sensor_msgs/html/msg/JointState.html) Some example of configuration files:

Configuration file using .ini format, using subdevice keyword.

device controlboardwrapper2
subdevice fakebot
name /icub/head
** parameter for 'fakebot' subdevice follows here **
...

XML format, using 'networks' keyword. This file is meant to be used in junction with yarprobotinterface executable, therefore has an addictional section at the end.

<paramlist name="networks">
<!-- elem name hereafter are custom names that live only in this file, they are used in the attach phase -->
<elem name="FirstSetOfJoints"> (0 3 0 3) </elem>
<elem name="SecondSetOfJoints"> (4 6 0 2) </elem>
</paramlist>
<param name="period"> 20 </param>
<param name="name"> /icub/left_arm </param>
<param name="joints"> 7 </param>
<!-- Following parameters are meaningful ONLY for yarprobotinterface -->
<action phase="startup" level="5" type="attach">
<paramlist name="networks">
<!-- The param value must match the device name in the corresponding emsX file -->
<elem name="FirstSetOfJoints"> left_upper_arm_mc </elem>
<elem name="SecondSetOfJoints"> left_lower_arm_mc </elem>
</paramlist>
</action>
<action phase="shutdown" level="5" type="detach" />

Configuration file using .ini format, using network keyword

device controlboardwrapper2
name /robotName/partName
period 10
networks (net_larm net_lhand)
joints 16
net_larm 0 3 0 3
net_lhand 4 6 0 2

Configuration for ROS topic using .ini format

[ROS]
useROS true
ROS_topicName /JointState
ROS_nodeName /robotPublisher
jointNames r_shoulder_pitch r_shoulder_roll r_shoulder_yaw r_elbow r_wrist_prosup r_wrist_pitch r_wrist_yaw

Configuration for ROS topic using .xml format

<group name="ROS">
<param name="useROS"> true </param> // use 'only' if you want only ROS topic and NOT yarp port
<param name="ROS_topicName"> /JointState </param>
<param name="ROS_nodeName"> /robotPublisher </param>
<param name="jointNames"> r_shoulder_pitch r_shoulder_roll r_shoulder_yaw r_elbow r_wrist_prosup r_wrist_pitch r_wrist_yaw </param>
</group>

Definition at line 225 of file ControlBoardWrapper.h.

Public Member Functions

 ControlBoardWrapper ()
 
 ControlBoardWrapper (const ControlBoardWrapper &)=delete
 
 ControlBoardWrapper (ControlBoardWrapper &&)=delete
 
ControlBoardWrapperoperator= (const ControlBoardWrapper &)=delete
 
ControlBoardWrapperoperator= (ControlBoardWrapper &&)=delete
 
 ~ControlBoardWrapper () override
 
bool verbose () const
 Return the value of the verbose flag. More...
 
std::string getId ()
 
bool close () override
 Close the device driver by deallocating all resources and closing ports. More...
 
bool open (yarp::os::Searchable &prop) override
 Open the device driver. More...
 
bool detachAll () override
 Detach the object (you must have first called attach). More...
 
bool attachAll (const yarp::dev::PolyDriverList &l) override
 Attach to a list of objects. More...
 
void run () override
 The thread main loop deals with writing on ports here. More...
 
bool setPid (const yarp::dev::PidControlTypeEnum &pidtype, int j, const yarp::dev::Pid &p) override
 Set new pid value for a joint axis. More...
 
bool setPids (const yarp::dev::PidControlTypeEnum &pidtype, const yarp::dev::Pid *ps) override
 Set new pid value on multiple axes. More...
 
bool setPidReference (const yarp::dev::PidControlTypeEnum &pidtype, int j, double ref) override
 Set the controller reference for a given axis. More...
 
bool setPidReferences (const yarp::dev::PidControlTypeEnum &pidtype, const double *refs) override
 Set the controller reference, multiple axes. More...
 
bool setPidErrorLimit (const yarp::dev::PidControlTypeEnum &pidtype, int j, double limit) override
 Set the error limit for the controller on a specifi joint. More...
 
bool setPidErrorLimits (const yarp::dev::PidControlTypeEnum &pidtype, const double *limits) override
 Get the error limit for the controller on all joints. More...
 
bool getPidError (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *err) override
 Get the current error for a joint. More...
 
bool getPidErrors (const yarp::dev::PidControlTypeEnum &pidtype, double *errs) override
 Get the error of all joints. More...
 
bool getPidOutput (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *out) override
 Get the output of the controller (e.g. More...
 
bool getPidOutputs (const yarp::dev::PidControlTypeEnum &pidtype, double *outs) override
 Get the output of the controllers (e.g. More...
 
bool setPidOffset (const yarp::dev::PidControlTypeEnum &pidtype, int j, double v) override
 Set offset value for a given controller. More...
 
bool getPid (const yarp::dev::PidControlTypeEnum &pidtype, int j, yarp::dev::Pid *p) override
 Get current pid value for a specific joint. More...
 
bool getPids (const yarp::dev::PidControlTypeEnum &pidtype, yarp::dev::Pid *pids) override
 Get current pid value for a specific joint. More...
 
bool getPidReference (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *ref) override
 Get the current reference of the pid controller for a specific joint. More...
 
bool getPidReferences (const yarp::dev::PidControlTypeEnum &pidtype, double *refs) override
 Get the current reference of all pid controllers. More...
 
bool getPidErrorLimit (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *limit) override
 Get the error limit for the controller on a specific joint. More...
 
bool getPidErrorLimits (const yarp::dev::PidControlTypeEnum &pidtype, double *limits) override
 Get the error limit for all controllers. More...
 
bool resetPid (const yarp::dev::PidControlTypeEnum &pidtype, int j) override
 Reset the controller of a given joint, usually sets the current status of the joint as the reference value for the PID, and resets the integrator. More...
 
bool disablePid (const yarp::dev::PidControlTypeEnum &pidtype, int j) override
 Disable the pid computation for a joint. More...
 
bool enablePid (const yarp::dev::PidControlTypeEnum &pidtype, int j) override
 Enable the pid computation for a joint. More...
 
bool isPidEnabled (const yarp::dev::PidControlTypeEnum &pidtype, int j, bool *enabled) override
 Get the current status (enabled/disabled) of the pid. More...
 
bool getAxes (int *ax) override
 Get the number of controlled axes. More...
 
bool positionMove (int j, double ref) override
 Set new reference point for a single axis. More...
 
bool positionMove (const double *refs) override
 Set new reference point for all axes. More...
 
bool positionMove (const int n_joints, const int *joints, const double *refs) override
 Set new reference point for a subset of axis. More...
 
bool getTargetPosition (const int joint, double *ref) override
 Get the last position reference for the specified axis. More...
 
bool getTargetPositions (double *refs) override
 Get the last position reference for all axes. More...
 
bool getTargetPositions (const int n_joint, const int *joints, double *refs) override
 Get the last position reference for the specified group of axes. More...
 
bool relativeMove (int j, double delta) override
 Set relative position. More...
 
bool relativeMove (const double *deltas) override
 Set relative position, all joints. More...
 
bool relativeMove (const int n_joints, const int *joints, const double *deltas) override
 Set relative position for a subset of joints. More...
 
bool checkMotionDone (int j, bool *flag) override
 Check if the current trajectory is terminated. More...
 
bool checkMotionDone (bool *flag) override
 Check if the current trajectory is terminated. More...
 
bool checkMotionDone (const int n_joints, const int *joints, bool *flags) override
 Check if the current trajectory is terminated. More...
 
bool setRefSpeed (int j, double sp) override
 Set reference speed for a joint, this is the speed used during the interpolation of the trajectory. More...
 
bool setRefSpeeds (const double *spds) override
 Set reference speed on all joints. More...
 
bool setRefSpeeds (const int n_joints, const int *joints, const double *spds) override
 Set reference speed on all joints. More...
 
bool setRefAcceleration (int j, double acc) override
 Set reference acceleration for a joint. More...
 
bool setRefAccelerations (const double *accs) override
 Set reference acceleration on all joints. More...
 
bool setRefAccelerations (const int n_joints, const int *joints, const double *accs) override
 Set reference acceleration on all joints. More...
 
bool getRefSpeed (int j, double *ref) override
 Get reference speed for a joint. More...
 
bool getRefSpeeds (double *spds) override
 Get reference speed of all joints. More...
 
bool getRefSpeeds (const int n_joints, const int *joints, double *spds) override
 Get reference speed of all joints. More...
 
bool getRefAcceleration (int j, double *acc) override
 Get reference acceleration for a joint. More...
 
bool getRefAccelerations (double *accs) override
 Get reference acceleration of all joints. More...
 
bool getRefAccelerations (const int n_joints, const int *joints, double *accs) override
 Get reference acceleration for a joint. More...
 
bool stop (int j) override
 Stop motion, single joint. More...
 
bool stop () override
 Stop motion, multiple joints. More...
 
bool stop (const int n_joints, const int *joints) override
 Stop motion for subset of joints. More...
 
bool velocityMove (int j, double v) override
 Set new reference speed for a single axis. More...
 
bool velocityMove (const double *v) override
 Set a new reference speed for all axes. More...
 
bool resetEncoder (int j) override
 Reset encoder, single joint. More...
 
bool resetEncoders () override
 Reset encoders. More...
 
bool setEncoder (int j, double val) override
 Set the value of the encoder for a given joint. More...
 
bool setEncoders (const double *vals) override
 Set the value of all encoders. More...
 
bool getEncoder (int j, double *v) override
 Read the value of an encoder. More...
 
bool getEncoders (double *encs) override
 Read the position of all axes. More...
 
bool getEncodersTimed (double *encs, double *t) override
 Read the instantaneous acceleration of all axes. More...
 
bool getEncoderTimed (int j, double *v, double *t) override
 Read the instantaneous acceleration of all axes. More...
 
bool getEncoderSpeed (int j, double *sp) override
 Read the istantaneous speed of an axis. More...
 
bool getEncoderSpeeds (double *spds) override
 Read the instantaneous speed of all axes. More...
 
bool getEncoderAcceleration (int j, double *acc) override
 Read the instantaneous acceleration of an axis. More...
 
bool getEncoderAccelerations (double *accs) override
 Read the istantaneous acceleration of all axes. More...
 
bool getNumberOfMotorEncoders (int *num) override
 Get the number of available motor encoders. More...
 
bool resetMotorEncoder (int m) override
 Reset encoder, single joint. More...
 
bool resetMotorEncoders () override
 Reset encoders. More...
 
bool setMotorEncoderCountsPerRevolution (int m, const double cpr) override
 Sets number of counts per revolution for motor encoder m. More...
 
bool getMotorEncoderCountsPerRevolution (int m, double *cpr) override
 gets number of counts per revolution for motor encoder m. More...
 
bool setMotorEncoder (int m, const double val) override
 Set the value of the encoder for a given joint. More...
 
bool setMotorEncoders (const double *vals) override
 Set the value of all encoders. More...
 
bool getMotorEncoder (int m, double *v) override
 Read the value of an encoder. More...
 
bool getMotorEncoders (double *encs) override
 Read the position of all axes. More...
 
bool getMotorEncodersTimed (double *encs, double *t) override
 Read the instantaneous position of all motor encoders. More...
 
bool getMotorEncoderTimed (int m, double *v, double *t) override
 Read the instantaneous position of a motor encoder. More...
 
bool getMotorEncoderSpeed (int m, double *sp) override
 Read the istantaneous speed of an axis. More...
 
bool getMotorEncoderSpeeds (double *spds) override
 Read the instantaneous speed of all axes. More...
 
bool getMotorEncoderAcceleration (int m, double *acc) override
 Read the instantaneous acceleration of an axis. More...
 
bool getMotorEncoderAccelerations (double *accs) override
 Read the istantaneous acceleration of all axes. More...
 
bool enableAmp (int j) override
 Enable the amplifier on a specific joint. More...
 
bool disableAmp (int j) override
 Disable the amplifier on a specific joint. More...
 
bool getAmpStatus (int *st) override
 Get the status of the amplifiers, coded in a 32 bits integer for each amplifier (at the moment contains only the fault, it will be expanded in the future). More...
 
bool getAmpStatus (int j, int *v) override
 
bool getCurrents (double *vals) override
 Read the electric current going to all motors. More...
 
bool getCurrent (int j, double *val) override
 Read the electric current going to a given motor. More...
 
bool setMaxCurrent (int j, double v) override
 Set the maximum electric current going to a given motor. More...
 
bool getMaxCurrent (int j, double *v) override
 Returns the maximum electric current allowed for a given motor. More...
 
bool getNominalCurrent (int m, double *val) override
 
bool setNominalCurrent (int m, const double val) override
 
bool getPeakCurrent (int m, double *val) override
 
bool setPeakCurrent (int m, const double val) override
 
bool getPWM (int m, double *val) override
 
bool getPWMLimit (int m, double *val) override
 
bool setPWMLimit (int m, const double val) override
 
bool getPowerSupplyVoltage (int m, double *val) override
 
bool setLimits (int j, double min, double max) override
 Set the software limits for a particular axis, the behavior of the control card when these limits are exceeded, depends on the implementation. More...
 
bool getLimits (int j, double *min, double *max) override
 Get the software limits for a particular axis. More...
 
bool setVelLimits (int j, double min, double max) override
 Set the software velocity limits for a particular axis, the behavior of the control card when these limits are exceeded, depends on the implementation. More...
 
bool getVelLimits (int j, double *min, double *max) override
 Get the software velocity limits for a particular axis. More...
 
bool getRemoteVariable (std::string key, yarp::os::Bottle &val) override
 
bool setRemoteVariable (std::string key, const yarp::os::Bottle &val) override
 
bool getRemoteVariablesList (yarp::os::Bottle *listOfKeys) override
 
bool isCalibratorDevicePresent (bool *isCalib) override
 isCalibratorDevicePresent: check if a calibrator device has been set More...
 
yarp::dev::IRemoteCalibratorgetCalibratorDevice () override
 getCalibratorDevice: return the pointer stored with the setCalibratorDevice More...
 
bool calibrateSingleJoint (int j) override
 calibrateSingleJoint: call the calibration procedure for the single joint More...
 
bool calibrateWholePart () override
 calibrateWholePart: call the procedure for calibrating the whole device More...
 
bool homingSingleJoint (int j) override
 homingSingleJoint: call the homing procedure for a single joint More...
 
bool homingWholePart () override
 homingWholePart: call the homing procedure for a the whole part/device More...
 
bool parkSingleJoint (int j, bool _wait=true) override
 parkSingleJoint(): start the parking procedure for the single joint More...
 
bool parkWholePart () override
 parkWholePart: start the parking procedure for the whole part More...
 
bool quitCalibrate () override
 quitCalibrate: interrupt the calibration procedure More...
 
bool quitPark () override
 quitPark: interrupt the park procedure More...
 
bool calibrateAxisWithParams (int j, unsigned int ui, double v1, double v2, double v3) override
 Start calibration, this method is very often platform specific. More...
 
bool setCalibrationParameters (int j, const yarp::dev::CalibrationParameters &params) override
 Start calibration, this method is very often platform specific. More...
 
bool calibrationDone (int j) override
 Check whether the calibration has been completed. More...
 
bool abortPark () override
 
bool abortCalibration () override
 
bool getNumberOfMotors (int *num) override
 Retrieves the number of controlled axes from the current physical interface. More...
 
bool getTemperature (int m, double *val) override
 Get temperature of a motor. More...
 
bool getTemperatures (double *vals) override
 Get temperature of all the motors. More...
 
bool getTemperatureLimit (int m, double *val) override
 Retreives the current temperature limit for a specific motor. More...
 
bool setTemperatureLimit (int m, const double val) override
 Set the temperature limit for a specific motor. More...
 
bool getGearboxRatio (int m, double *val) override
 Get the gearbox ratio for a specific motor. More...
 
bool setGearboxRatio (int m, const double val) override
 Set the gearbox ratio for a specific motor. More...
 
bool getAxisName (int j, std::string &name) override
 
bool getJointType (int j, yarp::dev::JointTypeEnum &type) override
 
bool getRefTorques (double *refs) override
 Get the reference value of the torque for all joints. More...
 
bool getRefTorque (int j, double *t) override
 Get the reference value of the torque for a given joint. More...
 
bool setRefTorques (const double *t) override
 Set the reference value of the torque for all joints. More...
 
bool setRefTorque (int j, double t) override
 Set the reference value of the torque for a given joint. More...
 
bool setRefTorques (const int n_joint, const int *joints, const double *t) override
 Set new torque reference for a subset of joints. More...
 
bool getMotorTorqueParams (int j, yarp::dev::MotorTorqueParameters *params) override
 Get a subset of motor parameters (bemf, ktau etc) useful for torque control. More...
 
bool setMotorTorqueParams (int j, const yarp::dev::MotorTorqueParameters params) override
 Set a subset of motor parameters (bemf, ktau etc) useful for torque control. More...
 
bool setImpedance (int j, double stiff, double damp) override
 Set current impedance gains (stiffness,damping) for a specific joint. More...
 
bool setImpedanceOffset (int j, double offset) override
 Set current force Offset for a specific joint. More...
 
bool getTorque (int j, double *t) override
 Get the value of the torque on a given joint (this is the feedback if you have a torque sensor). More...
 
bool getTorques (double *t) override
 Get the value of the torque for all joints (this is the feedback if you have torque sensors). More...
 
bool getTorqueRange (int j, double *min, double *max) override
 Get the full scale of the torque sensor of a given joint. More...
 
bool getTorqueRanges (double *min, double *max) override
 Get the full scale of the torque sensors of all joints. More...
 
bool getImpedance (int j, double *stiff, double *damp) override
 Get current impedance gains (stiffness,damping,offset) for a specific joint. More...
 
bool getImpedanceOffset (int j, double *offset) override
 Get current force Offset for a specific joint. More...
 
bool getCurrentImpedanceLimit (int j, double *min_stiff, double *max_stiff, double *min_damp, double *max_damp) override
 Get the current impedandance limits for a specific joint. More...
 
bool getControlMode (int j, int *mode) override
 Get the current control mode. More...
 
bool getControlModes (int *modes) override
 Get the current control mode (multiple joints). More...
 
bool getControlModes (const int n_joint, const int *joints, int *modes) override
 Get the current control mode for a subset of axes. More...
 
bool setControlMode (const int j, const int mode) override
 Set the current control mode. More...
 
bool setControlModes (const int n_joints, const int *joints, int *modes) override
 Set the current control mode for a subset of axes. More...
 
bool setControlModes (int *modes) override
 Set the current control mode (multiple joints). More...
 
bool setPosition (int j, double ref) override
 Set new position for a single axis. More...
 
bool setPositions (const int n_joints, const int *joints, const double *dpos) override
 Set new reference point for all axes. More...
 
bool setPositions (const double *refs) override
 Set new position for a set of axis. More...
 
bool getRefPosition (const int joint, double *ref) override
 Get the last position reference for the specified axis. More...
 
bool getRefPositions (double *refs) override
 Get the last position reference for all axes. More...
 
bool getRefPositions (const int n_joint, const int *joints, double *refs) override
 Get the last position reference for the specified group of axes. More...
 
yarp::os::Stamp getLastInputStamp () override
 Return the time stamp relative to the last acquisition. More...
 
bool velocityMove (const int n_joints, const int *joints, const double *spds) override
 Start motion at a given speed for a subset of joints. More...
 
bool getRefVelocity (const int joint, double *vel) override
 Get the last reference speed set by velocityMove for single joint. More...
 
bool getRefVelocities (double *vels) override
 Get the last reference speed set by velocityMove for all joints. More...
 
bool getRefVelocities (const int n_joint, const int *joints, double *vels) override
 Get the last reference speed set by velocityMove for a group of joints. More...
 
bool getInteractionMode (int j, yarp::dev::InteractionModeEnum *mode) override
 Get the current interaction mode of the robot, values can be stiff or compliant. More...
 
bool getInteractionModes (int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes) override
 Get the current interaction mode of the robot for a set of joints, values can be stiff or compliant. More...
 
bool getInteractionModes (yarp::dev::InteractionModeEnum *modes) override
 Get the current interaction mode of the robot for a all the joints, values can be stiff or compliant. More...
 
bool setInteractionMode (int j, yarp::dev::InteractionModeEnum mode) override
 Set the interaction mode of the robot, values can be stiff or compliant. More...
 
bool setInteractionModes (int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes) override
 Set the interaction mode of the robot for a set of joints, values can be stiff or compliant. More...
 
bool setInteractionModes (yarp::dev::InteractionModeEnum *modes) override
 Set the interaction mode of the robot for a all the joints, values can be stiff or compliant. More...
 
bool setRefDutyCycle (int j, double v) override
 Sets the reference dutycycle to a single motor. More...
 
bool setRefDutyCycles (const double *v) override
 Sets the reference dutycycle for all the motors. More...
 
bool getRefDutyCycle (int j, double *v) override
 Gets the last reference sent using the setRefDutyCycle function. More...
 
bool getRefDutyCycles (double *v) override
 Gets the last reference sent using the setRefDutyCycles function. More...
 
bool getDutyCycle (int j, double *v) override
 Gets the current dutycycle of the output of the amplifier (i.e. More...
 
bool getDutyCycles (double *v) override
 Gets the current dutycycle of the output of the amplifier (i.e. More...
 
bool getCurrentRange (int j, double *min, double *max) override
 Get the full scale of the current measurement for a given motor (e.g. More...
 
bool getCurrentRanges (double *min, double *max) override
 Get the full scale of the current measurements for all motors motor (e.g. More...
 
bool setRefCurrents (const double *t) override
 Set the reference value of the currents for all motors. More...
 
bool setRefCurrent (int j, double t) override
 Set the reference value of the current for a single motor. More...
 
bool setRefCurrents (const int n_joint, const int *joints, const double *t) override
 Set the reference value of the current for a group of motors. More...
 
bool getRefCurrents (double *t) override
 Get the reference value of the currents for all motors. More...
 
bool getRefCurrent (int j, double *t) override
 Get the reference value of the current for a single motor. More...
 
- Public Member Functions inherited from yarp::dev::DeviceDriver
 ~DeviceDriver () override=default
 Destructor. More...
 
template<class T >
bool view (T *&x)
 Get an interface to the device driver. More...
 
virtual DeviceDrivergetImplementation ()
 Some drivers are bureaucrats, pointing at others. More...
 
- Public Member Functions inherited from yarp::os::IConfig
virtual ~IConfig ()
 Destructor. More...
 
virtual bool configure (Searchable &config)
 Change online parameters. More...
 
- Public Member Functions inherited from yarp::os::PeriodicThread
 PeriodicThread (double period, ShouldUseSystemClock useSystemClock=ShouldUseSystemClock::No)
 Constructor. More...
 
virtual ~PeriodicThread ()
 
bool start ()
 Call this to start the thread. More...
 
void step ()
 Call this to "step" the thread rather than starting it. More...
 
void stop ()
 Call this to stop the thread, this call blocks until the thread is terminated (and releaseThread() called). More...
 
void askToStop ()
 Stop the thread. More...
 
bool isRunning () const
 Returns true when the thread is started, false otherwise. More...
 
bool isSuspended () const
 Returns true when the thread is suspended, false otherwise. More...
 
bool setPeriod (double period)
 Set the (new) period of the thread. More...
 
double getPeriod () const
 Return the current period of the thread. More...
 
void suspend ()
 Suspend the thread, the thread keeps running by doLoop is never executed. More...
 
void resume ()
 Resume the thread if previously suspended. More...
 
void resetStat ()
 Reset thread statistics. More...
 
double getEstimatedPeriod () const
 Return estimated period since last reset. More...
 
void getEstimatedPeriod (double &av, double &std) const
 Return estimated period since last reset. More...
 
unsigned int getIterations () const
 Return the number of iterations performed since last reset. More...
 
double getEstimatedUsed () const
 Return the estimated duration of the run() function since last reset. More...
 
void getEstimatedUsed (double &av, double &std) const
 Return estimated duration of the run() function since last reset. More...
 
int setPriority (int priority, int policy=-1)
 Set the priority and scheduling policy of the thread, if the OS supports that. More...
 
int getPriority () const
 Query the current priority of the thread, if the OS supports that. More...
 
int getPolicy () const
 Query the current scheduling policy of the thread, if the OS supports that. More...
 
- Public Member Functions inherited from yarp::dev::IPidControl
virtual ~IPidControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IPositionControl
virtual ~IPositionControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IPositionDirect
virtual ~IPositionDirect ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IVelocityControl
virtual ~IVelocityControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IEncodersTimed
virtual ~IEncodersTimed ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IEncoders
virtual ~IEncoders ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IMotor
virtual ~IMotor ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IMotorEncoders
virtual ~IMotorEncoders ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IAmplifierControl
virtual ~IAmplifierControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IControlLimits
virtual ~IControlLimits ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IRemoteCalibrator
 IRemoteCalibrator ()
 This interface is meant to remotize the access of the calibration device in order to allow users to remotely call the calibration procedure for a single joint or the whole device and let the calibrator do the job. More...
 
virtual ~IRemoteCalibrator ()=default
 
virtual bool setCalibratorDevice (yarp::dev::IRemoteCalibrator *dev)
 setCalibratorDevice: store the pointer to the calibrator device. More...
 
virtual void releaseCalibratorDevice ()
 releaseCalibratorDevice: reset the internal pointer to NULL when stop using the calibrator More...
 
- Public Member Functions inherited from yarp::dev::IControlCalibration
 IControlCalibration ()
 
virtual ~IControlCalibration ()
 Destructor. More...
 
virtual bool setCalibrator (ICalibrator *c)
 Set the calibrator object to be used to calibrate the robot. More...
 
virtual bool calibrateRobot ()
 Calibrate robot by using an external calibrator. More...
 
virtual bool park (bool wait=true)
 
- Public Member Functions inherited from yarp::dev::ITorqueControl
virtual ~ITorqueControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IImpedanceControl
virtual ~IImpedanceControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IControlMode
virtual ~IControlMode ()
 
- Public Member Functions inherited from yarp::dev::IMultipleWrapper
virtual ~IMultipleWrapper ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IAxisInfo
virtual ~IAxisInfo ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IPreciselyTimed
virtual ~IPreciselyTimed ()
 
- Public Member Functions inherited from yarp::dev::IInteractionMode
virtual ~IInteractionMode ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IRemoteVariables
virtual ~IRemoteVariables ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IPWMControl
virtual ~IPWMControl ()
 
- Public Member Functions inherited from yarp::dev::ICurrentControl
virtual ~ICurrentControl ()
 Destructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from yarp::os::PeriodicThread
virtual bool threadInit ()
 Initialization method. More...
 
virtual void threadRelease ()
 Release method. More...
 
virtual void beforeStart ()
 Called just before a new thread starts. More...
 
virtual void afterStart (bool success)
 Called just after a new thread starts (or fails to start), this is executed by the same thread that calls start(). More...
 

Constructor & Destructor Documentation

◆ ControlBoardWrapper() [1/3]

ControlBoardWrapper::ControlBoardWrapper ( )

Definition at line 31 of file ControlBoardWrapper.cpp.

◆ ControlBoardWrapper() [2/3]

ControlBoardWrapper::ControlBoardWrapper ( const ControlBoardWrapper )
delete

◆ ControlBoardWrapper() [3/3]

ControlBoardWrapper::ControlBoardWrapper ( ControlBoardWrapper &&  )
delete

◆ ~ControlBoardWrapper()

ControlBoardWrapper::~ControlBoardWrapper ( )
overridedefault

Member Function Documentation

◆ abortCalibration()

bool ControlBoardWrapper::abortCalibration ( )
overridevirtual

Reimplemented from yarp::dev::IControlCalibration.

Definition at line 3708 of file ControlBoardWrapper.cpp.

◆ abortPark()

bool ControlBoardWrapper::abortPark ( )
overridevirtual

Reimplemented from yarp::dev::IControlCalibration.

Definition at line 3702 of file ControlBoardWrapper.cpp.

◆ attachAll()

bool ControlBoardWrapper::attachAll ( const yarp::dev::PolyDriverList p)
overridevirtual

Attach to a list of objects.

Parameters
pthe polydriver list that you want to attach to.
Returns
true/false on success failure.

Implements yarp::dev::IMultipleWrapper.

Definition at line 786 of file ControlBoardWrapper.cpp.

◆ calibrateAxisWithParams()

bool ControlBoardWrapper::calibrateAxisWithParams ( int  axis,
unsigned int  type,
double  p1,
double  p2,
double  p3 
)
overridevirtual

Start calibration, this method is very often platform specific.

Returns
true/false on success failure

Implements yarp::dev::IControlCalibration.

Definition at line 3660 of file ControlBoardWrapper.cpp.

◆ calibrateSingleJoint()

bool ControlBoardWrapper::calibrateSingleJoint ( int  j)
overridevirtual

calibrateSingleJoint: call the calibration procedure for the single joint

Parameters
jjoint to be calibrated
Returns
true if calibration was successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 3587 of file ControlBoardWrapper.cpp.

◆ calibrateWholePart()

bool ControlBoardWrapper::calibrateWholePart ( )
overridevirtual

calibrateWholePart: call the procedure for calibrating the whole device

Returns
true if calibration was successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 3595 of file ControlBoardWrapper.cpp.

◆ calibrationDone()

bool ControlBoardWrapper::calibrationDone ( int  j)
overridevirtual

Check whether the calibration has been completed.

Parameters
jis the joint that has started a calibration procedure.
Returns
true/false on success/failure.

Implements yarp::dev::IControlCalibration.

Definition at line 3686 of file ControlBoardWrapper.cpp.

◆ checkMotionDone() [1/3]

bool ControlBoardWrapper::checkMotionDone ( bool *  flag)
overridevirtual

Check if the current trajectory is terminated.

Non blocking.

Parameters
flagtrue if the trajectory is terminated, false otherwise (a single value which is the 'and' of all joints')
Returns
false on failure

Non blocking.

Parameters
flagtrue if the trajectory is terminated, false otherwise
Returns
false on failure

Implements yarp::dev::IPositionControl.

Definition at line 1759 of file ControlBoardWrapper.cpp.

◆ checkMotionDone() [2/3]

bool ControlBoardWrapper::checkMotionDone ( const int  n_joints,
const int *  joints,
bool *  flags 
)
overridevirtual

Check if the current trajectory is terminated.

Non blocking.

Parameters
jointspointer to the array of joint numbers
flagtrue if the trajectory is terminated, false otherwise (a single value which is the 'and' of all joints')
Returns
true/false if network communication went well.

Implements yarp::dev::IPositionControl.

Definition at line 1808 of file ControlBoardWrapper.cpp.

◆ checkMotionDone() [3/3]

bool ControlBoardWrapper::checkMotionDone ( int  j,
bool *  flag 
)
overridevirtual

Check if the current trajectory is terminated.

Non blocking.

Parameters
jthe axis
flagtrue if the trajectory is terminated, false otherwise
Returns
false on failure

Implements yarp::dev::IPositionControl.

Definition at line 1737 of file ControlBoardWrapper.cpp.

◆ close()

bool ControlBoardWrapper::close ( )
overridevirtual

Close the device driver by deallocating all resources and closing ports.

Returns
true if successful or false otherwise.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 73 of file ControlBoardWrapper.cpp.

◆ detachAll()

bool ControlBoardWrapper::detachAll ( )
overridevirtual

Detach the object (you must have first called attach).

Returns
true/false on success failure.

Implements yarp::dev::IMultipleWrapper.

Definition at line 853 of file ControlBoardWrapper.cpp.

◆ disableAmp()

bool ControlBoardWrapper::disableAmp ( int  j)
overridevirtual

Disable the amplifier on a specific joint.

All computations within the board will be carried out normally, but the output will be disabled.

Returns
true/false on success/failure

Implements yarp::dev::IAmplifierControl.

Definition at line 3240 of file ControlBoardWrapper.cpp.

◆ disablePid()

bool ControlBoardWrapper::disablePid ( const yarp::dev::PidControlTypeEnum pidtype,
int  j 
)
overridevirtual

Disable the pid computation for a joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
Returns
true on success, false on failure.

Implements yarp::dev::IPidControl.

Definition at line 1363 of file ControlBoardWrapper.cpp.

◆ enableAmp()

bool ControlBoardWrapper::enableAmp ( int  j)
overridevirtual

Enable the amplifier on a specific joint.

Be careful, check that the output of the controller is appropriate (usually zero), to avoid generating abrupt movements.

Returns
true/false on success/failure

Implements yarp::dev::IAmplifierControl.

Definition at line 3224 of file ControlBoardWrapper.cpp.

◆ enablePid()

bool ControlBoardWrapper::enablePid ( const yarp::dev::PidControlTypeEnum pidtype,
int  j 
)
overridevirtual

Enable the pid computation for a joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
Returns
true on success, false on failure.

Implements yarp::dev::IPidControl.

Definition at line 1378 of file ControlBoardWrapper.cpp.

◆ getAmpStatus() [1/2]

bool ControlBoardWrapper::getAmpStatus ( int *  st)
overridevirtual

Get the status of the amplifiers, coded in a 32 bits integer for each amplifier (at the moment contains only the fault, it will be expanded in the future).

Parameters
stpointer to storage
Returns
true in good luck, false otherwise.

Implements yarp::dev::IAmplifierControl.

Definition at line 3265 of file ControlBoardWrapper.cpp.

◆ getAmpStatus() [2/2]

bool ControlBoardWrapper::getAmpStatus ( int  j,
int *  v 
)
overridevirtual

Implements yarp::dev::IAmplifierControl.

Definition at line 3297 of file ControlBoardWrapper.cpp.

◆ getAxes()

bool ControlBoardWrapper::getAxes ( int *  ax)
overridevirtual

Get the number of controlled axes.

This command asks the number of controlled axes for the current physical interface.

Parameters
axpointer to storage
Returns
true/false.

Implements yarp::dev::IImpedanceControl.

Definition at line 1419 of file ControlBoardWrapper.cpp.

◆ getAxisName()

bool ControlBoardWrapper::getAxisName ( int  j,
std::string &  name 
)
overridevirtual

Implements yarp::dev::IAxisInfo.

Definition at line 3716 of file ControlBoardWrapper.cpp.

◆ getCalibratorDevice()

IRemoteCalibrator * ControlBoardWrapper::getCalibratorDevice ( )
overridevirtual

getCalibratorDevice: return the pointer stored with the setCalibratorDevice

Returns
yarp::dev::IRemotizableCalibrator pointer or NULL if not valid

Reimplemented from yarp::dev::IRemoteCalibrator.

Definition at line 3575 of file ControlBoardWrapper.cpp.

◆ getControlMode()

bool ControlBoardWrapper::getControlMode ( int  j,
int *  mode 
)
overridevirtual

Get the current control mode.

Parameters
jjoint number
modea vocab of the current control mode for joint j.
Returns
: true/false success failure.

Implements yarp::dev::IControlMode.

Definition at line 4091 of file ControlBoardWrapper.cpp.

◆ getControlModes() [1/2]

bool ControlBoardWrapper::getControlModes ( const int  n_joint,
const int *  joints,
int *  modes 
)
overridevirtual

Get the current control mode for a subset of axes.

Parameters
n_jointshow many joints this command is referring to
jointslist of joint numbers, the size of this array is n_joints
modesarray containing the new controlmodes, one value for each joint, the size is n_joints. The first value will be the new reference for the joint joints[0]. for example: n_joint 3 joints 0 2 4 modes VOCAB_CM_POSITION VOCAB_CM_VELOCITY VOCAB_CM_POSITION
Returns
true/false success failure.

Implements yarp::dev::IControlMode.

Definition at line 4141 of file ControlBoardWrapper.cpp.

◆ getControlModes() [2/2]

bool ControlBoardWrapper::getControlModes ( int *  modes)
overridevirtual

Get the current control mode (multiple joints).

Parameters
modesa vector containing vocabs for the current control modes of the joints.
Returns
: true/false success failure.

Implements yarp::dev::IControlMode.

Definition at line 4107 of file ControlBoardWrapper.cpp.

◆ getCurrent()

bool ControlBoardWrapper::getCurrent ( int  j,
double *  val 
)
overridevirtual

Read the electric current going to a given motor.

Parameters
jmotor number
valpointer to storage for the output value
Returns
probably true, might return false in bad times

Implements yarp::dev::IAmplifierControl.

Definition at line 4959 of file ControlBoardWrapper.cpp.

◆ getCurrentImpedanceLimit()

bool ControlBoardWrapper::getCurrentImpedanceLimit ( int  j,
double *  min_stiff,
double *  max_stiff,
double *  min_damp,
double *  max_damp 
)
overridevirtual

Get the current impedandance limits for a specific joint.

Returns
success/failure

Implements yarp::dev::IImpedanceControl.

Definition at line 4074 of file ControlBoardWrapper.cpp.

◆ getCurrentRange()

bool ControlBoardWrapper::getCurrentRange ( int  m,
double *  min,
double *  max 
)
overridevirtual

Get the full scale of the current measurement for a given motor (e.g.

-20A +20A) Reference values set by user with methods such as setRefCurrent() should be in this range. This method is not related to the current overload protection methods belonging to the iAmplifierControl interface.

Parameters
mmotor number
minminimum current of the motor m
maxmaximum current of the motor m
Returns
true/false on success/failure

Implements yarp::dev::ICurrentControl.

Definition at line 4980 of file ControlBoardWrapper.cpp.

◆ getCurrentRanges()

bool ControlBoardWrapper::getCurrentRanges ( double *  min,
double *  max 
)
overridevirtual

Get the full scale of the current measurements for all motors motor (e.g.

-20A +20A) Reference values set by user with methods such as setRefCurrent() should be in this range. This method is not related to the current overload protection methods belonging to the iAmplifierControl interface.

Parameters
minpointer to the array that will store minimum currents
maxpointer to the array that will store maximum currents
Returns
true/false on success/failure

Implements yarp::dev::ICurrentControl.

Definition at line 4998 of file ControlBoardWrapper.cpp.

◆ getCurrents()

bool ControlBoardWrapper::getCurrents ( double *  vals)
overridevirtual

Read the electric current going to all motors.

Parameters
valspointer to storage for the output values
Returns
hopefully true, false in bad luck.

Implements yarp::dev::IAmplifierControl.

Definition at line 4920 of file ControlBoardWrapper.cpp.

◆ getDutyCycle()

bool ControlBoardWrapper::getDutyCycle ( int  m,
double *  val 
)
overridevirtual

Gets the current dutycycle of the output of the amplifier (i.e.

pwm value sent to the motor)

Parameters
mmotor number
valpointer to storage for return value, expressed as percentage (-100% +100%)
Returns
true/false on success/failure

Implements yarp::dev::IPWMControl.

Definition at line 4863 of file ControlBoardWrapper.cpp.

◆ getDutyCycles()

bool ControlBoardWrapper::getDutyCycles ( double *  vals)
overridevirtual

Gets the current dutycycle of the output of the amplifier (i.e.

pwm values sent to all motors)

Parameters
valspointer to the vector that will store the values, expressed as percentage (-100% +100%)
Returns
true/false on success/failure

Implements yarp::dev::IPWMControl.

Definition at line 4880 of file ControlBoardWrapper.cpp.

◆ getEncoder()

bool ControlBoardWrapper::getEncoder ( int  j,
double *  v 
)
overridevirtual

Read the value of an encoder.

Parameters
jencoder number
vpointer to storage for the return value
Returns
true/false, upon success/failure (you knew it, uh?)

Implements yarp::dev::IEncoders.

Definition at line 2535 of file ControlBoardWrapper.cpp.

◆ getEncoderAcceleration()

bool ControlBoardWrapper::getEncoderAcceleration ( int  j,
double *  acc 
)
overridevirtual

Read the instantaneous acceleration of an axis.

Parameters
jaxis number
accpointer to the array that will contain the output

Implements yarp::dev::IEncoders.

Definition at line 2683 of file ControlBoardWrapper.cpp.

◆ getEncoderAccelerations()

bool ControlBoardWrapper::getEncoderAccelerations ( double *  accs)
overridevirtual

Read the istantaneous acceleration of all axes.

Parameters
accspointer to the array that will contain the output
Returns
true if all goes well, false if anything bad happens.

Implements yarp::dev::IEncoders.

Definition at line 2699 of file ControlBoardWrapper.cpp.

◆ getEncoders()

bool ControlBoardWrapper::getEncoders ( double *  encs)
overridevirtual

Read the position of all axes.

Parameters
encspointer to the array that will contain the output
Returns
true/false on success/failure

Implements yarp::dev::IEncoders.

Definition at line 2551 of file ControlBoardWrapper.cpp.

◆ getEncoderSpeed()

bool ControlBoardWrapper::getEncoderSpeed ( int  j,
double *  sp 
)
overridevirtual

Read the istantaneous speed of an axis.

Parameters
jaxis number
sppointer to storage for the output
Returns
true if successful, false ... otherwise.

Implements yarp::dev::IEncoders.

Definition at line 2635 of file ControlBoardWrapper.cpp.

◆ getEncoderSpeeds()

bool ControlBoardWrapper::getEncoderSpeeds ( double *  spds)
overridevirtual

Read the instantaneous speed of all axes.

Parameters
spdspointer to storage for the output values
Returns
guess what? (true/false on success or failure).

Implements yarp::dev::IEncoders.

Definition at line 2651 of file ControlBoardWrapper.cpp.

◆ getEncodersTimed()

bool ControlBoardWrapper::getEncodersTimed ( double *  encs,
double *  time 
)
overridevirtual

Read the instantaneous acceleration of all axes.

Parameters
encspointer to the array that will contain the output
timepointer to the array that will contain individual timestamps
Returns
true if all goes well, false if anything bad happens.

Implements yarp::dev::IEncodersTimed.

Definition at line 2584 of file ControlBoardWrapper.cpp.

◆ getEncoderTimed()

bool ControlBoardWrapper::getEncoderTimed ( int  j,
double *  encs,
double *  time 
)
overridevirtual

Read the instantaneous acceleration of all axes.

Parameters
jaxis index
encsencoder value (pointer to)
timecorresponding timestamp (pointer to)
Returns
true if all goes well, false if anything bad happens.

Implements yarp::dev::IEncodersTimed.

Definition at line 2619 of file ControlBoardWrapper.cpp.

◆ getGearboxRatio()

bool ControlBoardWrapper::getGearboxRatio ( int  m,
double *  val 
)
overridevirtual

Get the gearbox ratio for a specific motor.

Parameters
mmotor number
valretrieved gearbox ratio
Returns
true/false

Reimplemented from yarp::dev::IMotor.

Definition at line 2816 of file ControlBoardWrapper.cpp.

◆ getId()

std::string ControlBoardWrapper::getId ( )
inline

Definition at line 344 of file ControlBoardWrapper.h.

◆ getImpedance()

bool ControlBoardWrapper::getImpedance ( int  j,
double *  stiffness,
double *  damping 
)
overridevirtual

Get current impedance gains (stiffness,damping,offset) for a specific joint.

Returns
success/failure

Implements yarp::dev::IImpedanceControl.

Definition at line 4040 of file ControlBoardWrapper.cpp.

◆ getImpedanceOffset()

bool ControlBoardWrapper::getImpedanceOffset ( int  j,
double *  offset 
)
overridevirtual

Get current force Offset for a specific joint.

Returns
success/failure

Implements yarp::dev::IImpedanceControl.

Definition at line 4057 of file ControlBoardWrapper.cpp.

◆ getInteractionMode()

bool ControlBoardWrapper::getInteractionMode ( int  axis,
yarp::dev::InteractionModeEnum mode 
)
overridevirtual

Get the current interaction mode of the robot, values can be stiff or compliant.

Parameters
axisjoint number
modecontains the requested information about interaction mode of the joint
Returns
true or false on success or failure.

Implements yarp::dev::IInteractionMode.

Definition at line 4594 of file ControlBoardWrapper.cpp.

◆ getInteractionModes() [1/2]

bool ControlBoardWrapper::getInteractionModes ( int  n_joints,
int *  joints,
yarp::dev::InteractionModeEnum modes 
)
overridevirtual

Get the current interaction mode of the robot for a set of joints, values can be stiff or compliant.

Parameters
n_jointshow many joints this command is referring to
jointslist of joints controlled. The size of this array is n_joints
modesarray containing the requested information about interaction mode, one value for each joint, the size is n_joints. for example: n_joint 3 joints 0 2 4 refs VOCAB_IM_STIFF VOCAB_IM_STIFF VOCAB_IM_COMPLIANT
Returns
true or false on success or failure.

Implements yarp::dev::IInteractionMode.

Definition at line 4610 of file ControlBoardWrapper.cpp.

◆ getInteractionModes() [2/2]

bool ControlBoardWrapper::getInteractionModes ( yarp::dev::InteractionModeEnum modes)
overridevirtual

Get the current interaction mode of the robot for a all the joints, values can be stiff or compliant.

Parameters
modearray containing the requested information about interaction mode, one value for each joint.
Returns
true or false on success or failure.

Implements yarp::dev::IInteractionMode.

Definition at line 4666 of file ControlBoardWrapper.cpp.

◆ getJointType()

bool ControlBoardWrapper::getJointType ( int  j,
yarp::dev::JointTypeEnum type 
)
overridevirtual

Reimplemented from yarp::dev::IAxisInfo.

Definition at line 3732 of file ControlBoardWrapper.cpp.

◆ getLastInputStamp()

yarp::os::Stamp ControlBoardWrapper::getLastInputStamp ( )
overridevirtual

Return the time stamp relative to the last acquisition.

Implements yarp::dev::IPreciselyTimed.

Definition at line 4332 of file ControlBoardWrapper.cpp.

◆ getLimits()

bool ControlBoardWrapper::getLimits ( int  j,
double *  min,
double *  max 
)
overridevirtual

Get the software limits for a particular axis.

Parameters
jjoint number
minpointer to store the value of the lower limit
maxpointer to store the value of the upper limit
Returns
true if everything goes fine, false if something bad happens (yes, sometimes life is tough)

Implements yarp::dev::IControlLimits.

Definition at line 3515 of file ControlBoardWrapper.cpp.

◆ getMaxCurrent()

bool ControlBoardWrapper::getMaxCurrent ( int  j,
double *  v 
)
overridevirtual

Returns the maximum electric current allowed for a given motor.

The behavior of the board/amplifier when this limit is reached depends on the implementation.

Parameters
jmotor number
vthe return value
Returns
probably true, might return false in bad times

Implements yarp::dev::IAmplifierControl.

Definition at line 3327 of file ControlBoardWrapper.cpp.

◆ getMotorEncoder()

bool ControlBoardWrapper::getMotorEncoder ( int  m,
double *  v 
)
overridevirtual

Read the value of an encoder.

Parameters
jencoder number
vpointer to storage for the return value
Returns
true/false, upon success/failure (you knew it, uh?)

Implements yarp::dev::IMotorEncoders.

Definition at line 3019 of file ControlBoardWrapper.cpp.

◆ getMotorEncoderAcceleration()

bool ControlBoardWrapper::getMotorEncoderAcceleration ( int  m,
double *  acc 
)
overridevirtual

Read the instantaneous acceleration of an axis.

Parameters
jaxis number
accpointer to the array that will contain the output

Implements yarp::dev::IMotorEncoders.

Definition at line 3167 of file ControlBoardWrapper.cpp.

◆ getMotorEncoderAccelerations()

bool ControlBoardWrapper::getMotorEncoderAccelerations ( double *  accs)
overridevirtual

Read the istantaneous acceleration of all axes.

Parameters
accspointer to the array that will contain the output
Returns
true if all goes well, false if anything bad happens.

Implements yarp::dev::IMotorEncoders.

Definition at line 3183 of file ControlBoardWrapper.cpp.

◆ getMotorEncoderCountsPerRevolution()

bool ControlBoardWrapper::getMotorEncoderCountsPerRevolution ( int  m,
double *  cpr 
)
overridevirtual

gets number of counts per revolution for motor encoder m.

Parameters
mmotor encoder number
cprpointer to storage for the return value
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 3003 of file ControlBoardWrapper.cpp.

◆ getMotorEncoders()

bool ControlBoardWrapper::getMotorEncoders ( double *  encs)
overridevirtual

Read the position of all axes.

Parameters
encspointer to the array that will contain the output
Returns
true/false on success/failure

Implements yarp::dev::IMotorEncoders.

Definition at line 3035 of file ControlBoardWrapper.cpp.

◆ getMotorEncoderSpeed()

bool ControlBoardWrapper::getMotorEncoderSpeed ( int  m,
double *  sp 
)
overridevirtual

Read the istantaneous speed of an axis.

Parameters
jaxis number
sppointer to storage for the output
Returns
true if successful, false ... otherwise.

Implements yarp::dev::IMotorEncoders.

Definition at line 3119 of file ControlBoardWrapper.cpp.

◆ getMotorEncoderSpeeds()

bool ControlBoardWrapper::getMotorEncoderSpeeds ( double *  spds)
overridevirtual

Read the instantaneous speed of all axes.

Parameters
spdspointer to storage for the output values
Returns
guess what? (true/false on success or failure).

Implements yarp::dev::IMotorEncoders.

Definition at line 3135 of file ControlBoardWrapper.cpp.

◆ getMotorEncodersTimed()

bool ControlBoardWrapper::getMotorEncodersTimed ( double *  encs,
double *  time 
)
overridevirtual

Read the instantaneous position of all motor encoders.

Parameters
encspointer to the array that will contain the output
timepointer to the array that will contain individual timestamps
Returns
true if successful, false otherwise.

Implements yarp::dev::IMotorEncoders.

Definition at line 3068 of file ControlBoardWrapper.cpp.

◆ getMotorEncoderTimed()

bool ControlBoardWrapper::getMotorEncoderTimed ( int  m,
double *  encs,
double *  time 
)
overridevirtual

Read the instantaneous position of a motor encoder.

Parameters
mmotor index
encsencoder value (pointer to)
timecorresponding timestamp (pointer to)
Returns
true if successful, false otherwise.

Implements yarp::dev::IMotorEncoders.

Definition at line 3103 of file ControlBoardWrapper.cpp.

◆ getMotorTorqueParams()

bool ControlBoardWrapper::getMotorTorqueParams ( int  j,
yarp::dev::MotorTorqueParameters params 
)
overridevirtual

Get a subset of motor parameters (bemf, ktau etc) useful for torque control.

Parameters
jjoint number
paramsa struct containing the motor parameters to be retrieved
Returns
true/false on success/failure

Reimplemented from yarp::dev::ITorqueControl.

Definition at line 3871 of file ControlBoardWrapper.cpp.

◆ getNominalCurrent()

bool ControlBoardWrapper::getNominalCurrent ( int  m,
double *  val 
)
overridevirtual

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 3347 of file ControlBoardWrapper.cpp.

◆ getNumberOfMotorEncoders()

bool ControlBoardWrapper::getNumberOfMotorEncoders ( int *  num)
overridevirtual

Get the number of available motor encoders.

Parameters
mpointer to a value representing the number of available motor encoders.
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 3217 of file ControlBoardWrapper.cpp.

◆ getNumberOfMotors()

bool ControlBoardWrapper::getNumberOfMotors ( int *  ax)
overridevirtual

Retrieves the number of controlled axes from the current physical interface.

Parameters
axreturns the number of controlled axes.
Returns
true/false on success/failure

Implements yarp::dev::ICurrentControl.

Definition at line 2732 of file ControlBoardWrapper.cpp.

◆ getPeakCurrent()

bool ControlBoardWrapper::getPeakCurrent ( int  m,
double *  val 
)
overridevirtual

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 3367 of file ControlBoardWrapper.cpp.

◆ getPid()

bool ControlBoardWrapper::getPid ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
yarp::dev::Pid pid 
)
overridevirtual

Get current pid value for a specific joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
pidpointer to storage for the return value.
Returns
success/failure

Implements yarp::dev::IPidControl.

Definition at line 1206 of file ControlBoardWrapper.cpp.

◆ getPidError()

bool ControlBoardWrapper::getPidError ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
double *  err 
)
overridevirtual

Get the current error for a joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
errpointer to the storage for the return value
Returns
true/false on success failure

Implements yarp::dev::IPidControl.

Definition at line 1092 of file ControlBoardWrapper.cpp.

◆ getPidErrorLimit()

bool ControlBoardWrapper::getPidErrorLimit ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
double *  limit 
)
overridevirtual

Get the error limit for the controller on a specific joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
limitpointer to storage
Returns
success/failure

Implements yarp::dev::IPidControl.

Definition at line 1301 of file ControlBoardWrapper.cpp.

◆ getPidErrorLimits()

bool ControlBoardWrapper::getPidErrorLimits ( const yarp::dev::PidControlTypeEnum pidtype,
double *  limits 
)
overridevirtual

Get the error limit for all controllers.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
limitspointer to the array that will store the output
Returns
success or failure

Implements yarp::dev::IPidControl.

Definition at line 1316 of file ControlBoardWrapper.cpp.

◆ getPidErrors()

bool ControlBoardWrapper::getPidErrors ( const yarp::dev::PidControlTypeEnum pidtype,
double *  errs 
)
overridevirtual

Get the error of all joints.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
errspointer to the vector that will store the errors

Implements yarp::dev::IPidControl.

Definition at line 1109 of file ControlBoardWrapper.cpp.

◆ getPidOutput()

bool ControlBoardWrapper::getPidOutput ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
double *  out 
)
overridevirtual

Get the output of the controller (e.g.

pwm value)

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
outpointer to storage for return value
Returns
success/failure

Implements yarp::dev::IPidControl.

Definition at line 1141 of file ControlBoardWrapper.cpp.

◆ getPidOutputs()

bool ControlBoardWrapper::getPidOutputs ( const yarp::dev::PidControlTypeEnum pidtype,
double *  outs 
)
overridevirtual

Get the output of the controllers (e.g.

pwm value)

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
outspinter to the vector that will store the output values

Implements yarp::dev::IPidControl.

Definition at line 1158 of file ControlBoardWrapper.cpp.

◆ getPidReference()

bool ControlBoardWrapper::getPidReference ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
double *  ref 
)
overridevirtual

Get the current reference of the pid controller for a specific joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
refpointer to storage for return value
Returns
reference value

Implements yarp::dev::IPidControl.

Definition at line 1255 of file ControlBoardWrapper.cpp.

◆ getPidReferences()

bool ControlBoardWrapper::getPidReferences ( const yarp::dev::PidControlTypeEnum pidtype,
double *  refs 
)
overridevirtual

Get the current reference of all pid controllers.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
refsvector that will store the output.

Implements yarp::dev::IPidControl.

Definition at line 1269 of file ControlBoardWrapper.cpp.

◆ getPids()

bool ControlBoardWrapper::getPids ( const yarp::dev::PidControlTypeEnum pidtype,
yarp::dev::Pid pids 
)
overridevirtual

Get current pid value for a specific joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
pidsvector that will store the values of the pids.
Returns
success/failure

Implements yarp::dev::IPidControl.

Definition at line 1223 of file ControlBoardWrapper.cpp.

◆ getPowerSupplyVoltage()

bool ControlBoardWrapper::getPowerSupplyVoltage ( int  m,
double *  val 
)
overridevirtual

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 3476 of file ControlBoardWrapper.cpp.

◆ getPWM()

bool ControlBoardWrapper::getPWM ( int  m,
double *  val 
)
overridevirtual

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 3419 of file ControlBoardWrapper.cpp.

◆ getPWMLimit()

bool ControlBoardWrapper::getPWMLimit ( int  m,
double *  val 
)
overridevirtual

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 3439 of file ControlBoardWrapper.cpp.

◆ getRefAcceleration()

bool ControlBoardWrapper::getRefAcceleration ( int  j,
double *  acc 
)
overridevirtual

Get reference acceleration for a joint.

Returns the acceleration used to generate the trajectory profile.

Parameters
jjoint number
accpointer to storage for the return value
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 2197 of file ControlBoardWrapper.cpp.

◆ getRefAccelerations() [1/2]

bool ControlBoardWrapper::getRefAccelerations ( const int  n_joints,
const int *  joints,
double *  accs 
)
overridevirtual

Get reference acceleration for a joint.

Returns the acceleration used to generate the trajectory profile.

Parameters
jointspointer to the array of joint numbers
accspointer to the array that will store the acceleration values
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 2259 of file ControlBoardWrapper.cpp.

◆ getRefAccelerations() [2/2]

bool ControlBoardWrapper::getRefAccelerations ( double *  accs)
overridevirtual

Get reference acceleration of all joints.

These are the values used during the interpolation of the trajectory.

Parameters
accspointer to the array that will store the acceleration values.
Returns
true/false on success or failure

Implements yarp::dev::IPositionControl.

Definition at line 2220 of file ControlBoardWrapper.cpp.

◆ getRefCurrent()

bool ControlBoardWrapper::getRefCurrent ( int  m,
double *  curr 
)
overridevirtual

Get the reference value of the current for a single motor.

Parameters
mmotor number
currthe current reference value for motor m. Value is expressed in amperes.
Returns
true/false on success/failure

Implements yarp::dev::ICurrentControl.

Definition at line 5142 of file ControlBoardWrapper.cpp.

◆ getRefCurrents()

bool ControlBoardWrapper::getRefCurrents ( double *  currs)
overridevirtual

Get the reference value of the currents for all motors.

Parameters
currspointer to the array to be filled with reference current values. Values are expressed in amperes.
Returns
true/false on success/failure

Implements yarp::dev::ICurrentControl.

Definition at line 5109 of file ControlBoardWrapper.cpp.

◆ getRefDutyCycle()

bool ControlBoardWrapper::getRefDutyCycle ( int  m,
double *  ref 
)
overridevirtual

Gets the last reference sent using the setRefDutyCycle function.

Parameters
mmotor number
refpointer to storage for return value, expressed as percentage (-100% +100%)
Returns
true/false on success/failure

Implements yarp::dev::IPWMControl.

Definition at line 4813 of file ControlBoardWrapper.cpp.

◆ getRefDutyCycles()

bool ControlBoardWrapper::getRefDutyCycles ( double *  refs)
overridevirtual

Gets the last reference sent using the setRefDutyCycles function.

Parameters
refspointer to the vector that will store the values, expressed as percentage (-100% +100%)
Returns
true/false on success/failure

Implements yarp::dev::IPWMControl.

Definition at line 4830 of file ControlBoardWrapper.cpp.

◆ getRefPosition()

bool ControlBoardWrapper::getRefPosition ( const int  joint,
double *  ref 
)
overridevirtual

Get the last position reference for the specified axis.

This is the dual of setPositions and shall return only values sent using IPositionDirect interface. If other interfaces like IPositionControl are implemented by the device, this call must ignore their values, i.e. this call must never return a reference sent using IPositionControl::PositionMove.

Parameters
reflast reference sent using setPosition(s) functions
Returns
true/false on success/failure

Reimplemented from yarp::dev::IPositionDirect.

Definition at line 4339 of file ControlBoardWrapper.cpp.

◆ getRefPositions() [1/2]

bool ControlBoardWrapper::getRefPositions ( const int  n_joint,
const int *  joints,
double *  refs 
)
overridevirtual

Get the last position reference for the specified group of axes.

This is the dual of setPositions and shall return only values sent using IPositionDirect interface. If other interfaces like IPositionControl are implemented by the device, this call must ignore their values, i.e. this call must never return a reference sent using IPositionControl::PositionMove.

Parameters
refarray containing last reference sent using setPosition(s) functions
Returns
true/false on success/failure

Reimplemented from yarp::dev::IPositionDirect.

Definition at line 4392 of file ControlBoardWrapper.cpp.

◆ getRefPositions() [2/2]

bool ControlBoardWrapper::getRefPositions ( double *  refs)
overridevirtual

Get the last position reference for all axes.

This is the dual of setPositions and shall return only values sent using IPositionDirect interface. If other interfaces like IPositionControl are implemented by the device, this call must ignore their values, i.e. this call must never return a reference sent using IPositionControl::PositionMove.

Parameters
refarray containing last reference sent using setPosition(s) functions
Returns
true/false on success/failure

Reimplemented from yarp::dev::IPositionDirect.

Definition at line 4358 of file ControlBoardWrapper.cpp.

◆ getRefSpeed()

bool ControlBoardWrapper::getRefSpeed ( int  j,
double *  ref 
)
overridevirtual

Get reference speed for a joint.

Returns the speed used to generate the trajectory profile.

Parameters
jjoint number
refpointer to storage for the return value
Returns
true/false on success or failure

Implements yarp::dev::IPositionControl.

Definition at line 2073 of file ControlBoardWrapper.cpp.

◆ getRefSpeeds() [1/2]

bool ControlBoardWrapper::getRefSpeeds ( const int  n_joints,
const int *  joints,
double *  spds 
)
overridevirtual

Get reference speed of all joints.

These are the values used during the interpolation of the trajectory.

Parameters
jointspointer to the array of joint numbers
spdspointer to the array that will store the speed values.
Returns
true/false upon success/failure

Implements yarp::dev::IPositionControl.

Definition at line 2135 of file ControlBoardWrapper.cpp.

◆ getRefSpeeds() [2/2]

bool ControlBoardWrapper::getRefSpeeds ( double *  spds)
overridevirtual

Get reference speed of all joints.

These are the values used during the interpolation of the trajectory.

Parameters
spdspointer to the array that will store the speed values.
Returns
true/false on success/failure.

Implements yarp::dev::IPositionControl.

Definition at line 2096 of file ControlBoardWrapper.cpp.

◆ getRefTorque()

bool ControlBoardWrapper::getRefTorque ( int  j,
double *  t 
)
overridevirtual

Get the reference value of the torque for a given joint.

This is NOT the feedback (see getTorque instead).

Parameters
jjoint number
tthe returned reference torque of joint j
Returns
true/false on success/failure

Implements yarp::dev::ITorqueControl.

Definition at line 3780 of file ControlBoardWrapper.cpp.

◆ getRefTorques()

bool ControlBoardWrapper::getRefTorques ( double *  t)
overridevirtual

Get the reference value of the torque for all joints.

This is NOT the feedback (see getTorques instead).

Parameters
tpointer to the array of torque values
Returns
true/false on success/failure

Implements yarp::dev::ITorqueControl.

Definition at line 3748 of file ControlBoardWrapper.cpp.

◆ getRefVelocities() [1/2]

bool ControlBoardWrapper::getRefVelocities ( const int  n_joint,
const int *  joints,
double *  vels 
)
overridevirtual

Get the last reference speed set by velocityMove for a group of joints.

Parameters
n_jointhow many joints this command is referring to
jointsof joints controlled. The size of this array is n_joints
velspointer to the array containing the requested values, one value for each joint. The size of the array is n_joints.
Returns
true/false on success/failure

Reimplemented from yarp::dev::IVelocityControl.

Definition at line 4539 of file ControlBoardWrapper.cpp.

◆ getRefVelocities() [2/2]

bool ControlBoardWrapper::getRefVelocities ( double *  vels)
overridevirtual

Get the last reference speed set by velocityMove for all joints.

Parameters
velspointer to the array containing the new speed values, one value for each joint
Returns
true/false on success/failure

Reimplemented from yarp::dev::IVelocityControl.

Definition at line 4506 of file ControlBoardWrapper.cpp.

◆ getRefVelocity()

bool ControlBoardWrapper::getRefVelocity ( const int  joint,
double *  vel 
)
overridevirtual

Get the last reference speed set by velocityMove for single joint.

Parameters
jjoint number
velreturns the requested reference.
Returns
true/false on success/failure

Reimplemented from yarp::dev::IVelocityControl.

Definition at line 4483 of file ControlBoardWrapper.cpp.

◆ getRemoteVariable()

bool ControlBoardWrapper::getRemoteVariable ( std::string  key,
yarp::os::Bottle val 
)
overridevirtual

Implements yarp::dev::IRemoteVariables.

Definition at line 2848 of file ControlBoardWrapper.cpp.

◆ getRemoteVariablesList()

bool ControlBoardWrapper::getRemoteVariablesList ( yarp::os::Bottle listOfKeys)
overridevirtual

Implements yarp::dev::IRemoteVariables.

Definition at line 2896 of file ControlBoardWrapper.cpp.

◆ getTargetPosition()

bool ControlBoardWrapper::getTargetPosition ( const int  joint,
double *  ref 
)
overridevirtual

Get the last position reference for the specified axis.

This is the dual of PositionMove and shall return only values sent using IPositionControl interface. If other interfaces like IPositionDirect are implemented by the device, this call must ignore their values, i.e. this call must never return a reference sent using IPositionDirect::SetPosition

Parameters
reflast reference sent using PositionMove functions
Returns
true/false on success/failure

Reimplemented from yarp::dev::IPositionControl.

Definition at line 1533 of file ControlBoardWrapper.cpp.

◆ getTargetPositions() [1/2]

bool ControlBoardWrapper::getTargetPositions ( const int  n_joint,
const int *  joints,
double *  refs 
)
overridevirtual

Get the last position reference for the specified group of axes.

This is the dual of PositionMove and shall return only values sent using IPositionControl interface. If other interfaces like IPositionDirect are implemented by the device, this call must ignore their values, i.e. this call must never return a reference sent using IPositionDirect::SetPosition

Parameters
reflast reference sent using PositionMove functions
Returns
true/false on success/failure

Reimplemented from yarp::dev::IPositionControl.

Definition at line 1591 of file ControlBoardWrapper.cpp.

◆ getTargetPositions() [2/2]

bool ControlBoardWrapper::getTargetPositions ( double *  spds)
overridevirtual

Get the last position reference for all axes.

Get reference speed of all joints.

This is the dual of PositionMove and shall return only values sent using IPositionControl interface. If other interfaces like IPositionDirect are implemented by the device, this call must ignore their values, i.e. this call must never return a reference sent using IPositionDirect::SetPosition

Parameters
reflast reference sent using PositionMove functions
Returns
true/false on success/failure

These are the values used during the interpolation of the trajectory.

Parameters
spdspointer to the array that will store the speed values.
Returns
true/false on success/failure.

Reimplemented from yarp::dev::IPositionControl.

Definition at line 1558 of file ControlBoardWrapper.cpp.

◆ getTemperature()

bool ControlBoardWrapper::getTemperature ( int  m,
double *  val 
)
overridevirtual

Get temperature of a motor.

Parameters
mmotor number
valretrieved motor temperature
Returns
true/false

Implements yarp::dev::IMotor.

Definition at line 2737 of file ControlBoardWrapper.cpp.

◆ getTemperatureLimit()

bool ControlBoardWrapper::getTemperatureLimit ( int  m,
double *  temp 
)
overridevirtual

Retreives the current temperature limit for a specific motor.

The specific behavior of the motor when the temperature limit is exceeded depends on the implementation (power off recommended)

Parameters
mmotor number
tempthe current temperature limit.
Returns
true/false

Implements yarp::dev::IMotor.

Definition at line 2785 of file ControlBoardWrapper.cpp.

◆ getTemperatures()

bool ControlBoardWrapper::getTemperatures ( double *  vals)
overridevirtual

Get temperature of all the motors.

Parameters
valspointer to an array containing all motor temperatures
Returns
true/false

Implements yarp::dev::IMotor.

Definition at line 2753 of file ControlBoardWrapper.cpp.

◆ getTorque()

bool ControlBoardWrapper::getTorque ( int  j,
double *  t 
)
overridevirtual

Get the value of the torque on a given joint (this is the feedback if you have a torque sensor).

Parameters
jjoint number
tpointer to the result value
Returns
true/false on success/failure

Implements yarp::dev::ITorqueControl.

Definition at line 3937 of file ControlBoardWrapper.cpp.

◆ getTorqueRange()

bool ControlBoardWrapper::getTorqueRange ( int  j,
double *  min,
double *  max 
)
overridevirtual

Get the full scale of the torque sensor of a given joint.

Parameters
jjoint number
minminimum torque of the joint j
maxmaximum torque of the joint j
Returns
true/false on success/failure

Implements yarp::dev::ITorqueControl.

Definition at line 3987 of file ControlBoardWrapper.cpp.

◆ getTorqueRanges()

bool ControlBoardWrapper::getTorqueRanges ( double *  min,
double *  max 
)
overridevirtual

Get the full scale of the torque sensors of all joints.

Parameters
minpointer to the array that will store minimum torques of the joints
maxpointer to the array that will store maximum torques of the joints
Returns
true/false on success/failure

Implements yarp::dev::ITorqueControl.

Definition at line 4004 of file ControlBoardWrapper.cpp.

◆ getTorques()

bool ControlBoardWrapper::getTorques ( double *  t)
overridevirtual

Get the value of the torque for all joints (this is the feedback if you have torque sensors).

Parameters
tpointer to the array that will store the output
Returns
true/false on success/failure

Implements yarp::dev::ITorqueControl.

Definition at line 3954 of file ControlBoardWrapper.cpp.

◆ getVelLimits()

bool ControlBoardWrapper::getVelLimits ( int  j,
double *  min,
double *  max 
)
overridevirtual

Get the software velocity limits for a particular axis.

Parameters
jjoint number
minpointer to store the value of the lower limit
maxpointer to store the value of the upper limit
Returns
true if everything goes fine, false if something bad happens

Implements yarp::dev::IControlLimits.

Definition at line 3553 of file ControlBoardWrapper.cpp.

◆ homingSingleJoint()

bool ControlBoardWrapper::homingSingleJoint ( int  j)
overridevirtual

homingSingleJoint: call the homing procedure for a single joint

Parameters
jjoint to be calibrated
Returns
true if homing was successful, false otherwise

Implements yarp::dev::IRemoteCalibrator.

Definition at line 3604 of file ControlBoardWrapper.cpp.

◆ homingWholePart()

bool ControlBoardWrapper::homingWholePart ( )
overridevirtual

homingWholePart: call the homing procedure for a the whole part/device

Returns
true if homing was successful, false otherwise

Implements yarp::dev::IRemoteCalibrator.

Definition at line 3613 of file ControlBoardWrapper.cpp.

◆ isCalibratorDevicePresent()

bool ControlBoardWrapper::isCalibratorDevicePresent ( bool *  isCalib)
overridevirtual

isCalibratorDevicePresent: check if a calibrator device has been set

Returns
true if a valid calibrator device has been found

Reimplemented from yarp::dev::IRemoteCalibrator.

Definition at line 3581 of file ControlBoardWrapper.cpp.

◆ isPidEnabled()

bool ControlBoardWrapper::isPidEnabled ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
bool *  enabled 
)
overridevirtual

Get the current status (enabled/disabled) of the pid.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
enabledthe current status of the pid controller.
Returns
true on success, false on failure.

Implements yarp::dev::IPidControl.

Definition at line 1393 of file ControlBoardWrapper.cpp.

◆ open()

bool ControlBoardWrapper::open ( yarp::os::Searchable prop)
overridevirtual

Open the device driver.

Parameters
propis a Searchable object which contains the parameters. Allowed parameters are:
  • verbose or v to print diagnostic information while running..
  • name to specify the prefix of the port names.
  • subdevice [optional] if specified, the openAndAttachSubDevice will be called, otherwise openDeferredAttach is called. and all parameters required by the wrapper.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 391 of file ControlBoardWrapper.cpp.

◆ operator=() [1/2]

ControlBoardWrapper& ControlBoardWrapper::operator= ( const ControlBoardWrapper )
delete

◆ operator=() [2/2]

ControlBoardWrapper& ControlBoardWrapper::operator= ( ControlBoardWrapper &&  )
delete

◆ parkSingleJoint()

bool ControlBoardWrapper::parkSingleJoint ( int  j,
bool  _wait = true 
)
overridevirtual

parkSingleJoint(): start the parking procedure for the single joint

Returns
true if successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 3622 of file ControlBoardWrapper.cpp.

◆ parkWholePart()

bool ControlBoardWrapper::parkWholePart ( )
overridevirtual

parkWholePart: start the parking procedure for the whole part

Returns
true if successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 3631 of file ControlBoardWrapper.cpp.

◆ positionMove() [1/3]

bool ControlBoardWrapper::positionMove ( const double *  refs)
overridevirtual

Set new reference point for all axes.

Parameters
refsarray, new reference points.
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1450 of file ControlBoardWrapper.cpp.

◆ positionMove() [2/3]

bool ControlBoardWrapper::positionMove ( const int  n_joints,
const int *  joints,
const double *  refs 
)
overridevirtual

Set new reference point for a subset of axis.

Parameters
jointspointer to the array of joint numbers
refspointer to the array specifying the new reference points
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1498 of file ControlBoardWrapper.cpp.

◆ positionMove() [3/3]

bool ControlBoardWrapper::positionMove ( int  j,
double  ref 
)
overridevirtual

Set new reference point for a single axis.

Parameters
jjoint number
refspecifies the new ref point
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1430 of file ControlBoardWrapper.cpp.

◆ quitCalibrate()

bool ControlBoardWrapper::quitCalibrate ( )
overridevirtual

quitCalibrate: interrupt the calibration procedure

Returns
true if successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 3640 of file ControlBoardWrapper.cpp.

◆ quitPark()

bool ControlBoardWrapper::quitPark ( )
overridevirtual

quitPark: interrupt the park procedure

Returns
true if successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 3649 of file ControlBoardWrapper.cpp.

◆ relativeMove() [1/3]

bool ControlBoardWrapper::relativeMove ( const double *  deltas)
overridevirtual

Set relative position, all joints.

Parameters
deltaspointer to the relative commands
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1669 of file ControlBoardWrapper.cpp.

◆ relativeMove() [2/3]

bool ControlBoardWrapper::relativeMove ( const int  n_joints,
const int *  joints,
const double *  deltas 
)
overridevirtual

Set relative position for a subset of joints.

Parameters
jointspointer to the array of joint numbers
deltaspointer to the array of relative commands
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1696 of file ControlBoardWrapper.cpp.

◆ relativeMove() [3/3]

bool ControlBoardWrapper::relativeMove ( int  j,
double  delta 
)
overridevirtual

Set relative position.

The command is relative to the current position of the axis.

Parameters
jjoint axis number
deltarelative command
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1649 of file ControlBoardWrapper.cpp.

◆ resetEncoder()

bool ControlBoardWrapper::resetEncoder ( int  j)
overridevirtual

Reset encoder, single joint.

Set the encoder value to zero

Parameters
jis the axis number
Returns
true/false on success/failure

Implements yarp::dev::IEncoders.

Definition at line 2461 of file ControlBoardWrapper.cpp.

◆ resetEncoders()

bool ControlBoardWrapper::resetEncoders ( )
overridevirtual

Reset encoders.

Set the encoder values to zero for all axes

Returns
true/false

Implements yarp::dev::IEncoders.

Definition at line 2476 of file ControlBoardWrapper.cpp.

◆ resetMotorEncoder()

bool ControlBoardWrapper::resetMotorEncoder ( int  m)
overridevirtual

Reset encoder, single joint.

Set the encoder value to zero

Parameters
jis the axis number
Returns
true/false on success/failure

Implements yarp::dev::IMotorEncoders.

Definition at line 2914 of file ControlBoardWrapper.cpp.

◆ resetMotorEncoders()

bool ControlBoardWrapper::resetMotorEncoders ( )
overridevirtual

Reset encoders.

Set the encoder values to zero for all axes

Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 2929 of file ControlBoardWrapper.cpp.

◆ resetPid()

bool ControlBoardWrapper::resetPid ( const yarp::dev::PidControlTypeEnum pidtype,
int  j 
)
overridevirtual

Reset the controller of a given joint, usually sets the current status of the joint as the reference value for the PID, and resets the integrator.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
Returns
true on success, false on failure.

Implements yarp::dev::IPidControl.

Definition at line 1348 of file ControlBoardWrapper.cpp.

◆ run()

void ControlBoardWrapper::run ( )
overridevirtual

The thread main loop deals with writing on ports here.

Implements yarp::os::PeriodicThread.

Definition at line 873 of file ControlBoardWrapper.cpp.

◆ setCalibrationParameters()

bool ControlBoardWrapper::setCalibrationParameters ( int  axis,
const yarp::dev::CalibrationParameters params 
)
overridevirtual

Start calibration, this method is very often platform specific.

Returns
true/false on success failure

Reimplemented from yarp::dev::IControlCalibration.

Definition at line 3673 of file ControlBoardWrapper.cpp.

◆ setControlMode()

bool ControlBoardWrapper::setControlMode ( const int  j,
const int  mode 
)
overridevirtual

Set the current control mode.

Parameters
jjoint number
modea vocab of the desired control mode for joint j.
Returns
true if the new controlMode was successfully set, false if the message was not received or the joint was unable to switch to the desired controlMode (e.g. the joint is on a fault condition or the desired mode is not implemented).

Implements yarp::dev::IControlMode.

Definition at line 4164 of file ControlBoardWrapper.cpp.

◆ setControlModes() [1/2]

bool ControlBoardWrapper::setControlModes ( const int  n_joint,
const int *  joints,
int *  modes 
)
overridevirtual

Set the current control mode for a subset of axes.

Parameters
n_jointshow many joints this command is referring to
jointslist of joint numbers, the size of this array is n_joints
modesarray containing the new controlmodes, one value for each joint, the size is n_joints. The first value will be the new reference for the joint joints[0]. for example: n_joint 3 joints 0 2 4 modes VOCAB_CM_POSITION VOCAB_CM_VELOCITY VOCAB_CM_POSITION
Returns
true if the new controlMode was successfully set, false if the message was not received or the joint was unable to switch to the desired controlMode (e.g. the joint is on a fault condition or the desired mode is not implemented).

Implements yarp::dev::IControlMode.

Definition at line 4181 of file ControlBoardWrapper.cpp.

◆ setControlModes() [2/2]

bool ControlBoardWrapper::setControlModes ( int *  modes)
overridevirtual

Set the current control mode (multiple joints).

Parameters
modesa vector containing vocabs for the desired control modes of the joints.
Returns
true if the new controlMode was successfully set, false if the message was not received or the joint was unable to switch to the desired controlMode (e.g. the joint is on a fault condition or the desired mode is not implemented).

Implements yarp::dev::IControlMode.

Definition at line 4216 of file ControlBoardWrapper.cpp.

◆ setEncoder()

bool ControlBoardWrapper::setEncoder ( int  j,
double  val 
)
overridevirtual

Set the value of the encoder for a given joint.

Parameters
jencoder number
valnew value
Returns
true/false

Implements yarp::dev::IEncoders.

Definition at line 2498 of file ControlBoardWrapper.cpp.

◆ setEncoders()

bool ControlBoardWrapper::setEncoders ( const double *  vals)
overridevirtual

Set the value of all encoders.

Parameters
valspointer to the new values
Returns
true/false

Implements yarp::dev::IEncoders.

Definition at line 2513 of file ControlBoardWrapper.cpp.

◆ setGearboxRatio()

bool ControlBoardWrapper::setGearboxRatio ( int  m,
const double  val 
)
overridevirtual

Set the gearbox ratio for a specific motor.

Parameters
mmotor number
gearboxratio to be set
Returns
true/false

Reimplemented from yarp::dev::IMotor.

Definition at line 2832 of file ControlBoardWrapper.cpp.

◆ setImpedance()

bool ControlBoardWrapper::setImpedance ( int  j,
double  stiffness,
double  damping 
)
overridevirtual

Set current impedance gains (stiffness,damping) for a specific joint.

Returns
success/failure

Implements yarp::dev::IImpedanceControl.

Definition at line 3903 of file ControlBoardWrapper.cpp.

◆ setImpedanceOffset()

bool ControlBoardWrapper::setImpedanceOffset ( int  j,
double  offset 
)
overridevirtual

Set current force Offset for a specific joint.

Returns
success/failure

Implements yarp::dev::IImpedanceControl.

Definition at line 3920 of file ControlBoardWrapper.cpp.

◆ setInteractionMode()

bool ControlBoardWrapper::setInteractionMode ( int  axis,
yarp::dev::InteractionModeEnum  mode 
)
overridevirtual

Set the interaction mode of the robot, values can be stiff or compliant.

Please note that some robot may not implement certain types of interaction, so always check the return value.

Parameters
axisjoint number
modethe desired interaction mode
Returns
true or false on success or failure.

Implements yarp::dev::IInteractionMode.

Definition at line 4699 of file ControlBoardWrapper.cpp.

◆ setInteractionModes() [1/2]

bool ControlBoardWrapper::setInteractionModes ( int  n_joints,
int *  joints,
yarp::dev::InteractionModeEnum modes 
)
overridevirtual

Set the interaction mode of the robot for a set of joints, values can be stiff or compliant.

Please note that some robot may not implement certain types of interaction, so always check the return value.

Parameters
n_jointshow many joints this command is referring to
jointslist of joints controlled. The size of this array is n_joints
modesarray containing the desired interaction mode, one value for each joint, the size is n_joints. for example: n_joint 3 joints 0 2 4 refs VOCAB_IM_STIFF VOCAB_IM_STIFF VOCAB_IM_COMPLIANT
Returns
true or false on success or failure. If one or more joint fails, the return value will be false.

Implements yarp::dev::IInteractionMode.

Definition at line 4715 of file ControlBoardWrapper.cpp.

◆ setInteractionModes() [2/2]

bool ControlBoardWrapper::setInteractionModes ( yarp::dev::InteractionModeEnum modes)
overridevirtual

Set the interaction mode of the robot for a all the joints, values can be stiff or compliant.

Some robot may not implement some types of interaction, so always check the return value

Parameters
modearray with the desired interaction mode for all joints, length is the total number of joints for the part
Returns
true or false on success or failure. If one or more joint fails, the return value will be false.

Implements yarp::dev::IInteractionMode.

Definition at line 4750 of file ControlBoardWrapper.cpp.

◆ setLimits()

bool ControlBoardWrapper::setLimits ( int  j,
double  min,
double  max 
)
overridevirtual

Set the software limits for a particular axis, the behavior of the control card when these limits are exceeded, depends on the implementation.

Parameters
jjoint number (why am I telling you this)
minthe value of the lower limit
maxthe value of the upper limit
Returns
true or false on success or failure

Implements yarp::dev::IControlLimits.

Definition at line 3499 of file ControlBoardWrapper.cpp.

◆ setMaxCurrent()

bool ControlBoardWrapper::setMaxCurrent ( int  j,
double  v 
)
overridevirtual

Set the maximum electric current going to a given motor.

The behavior of the board/amplifier when this limit is reached depends on the implementation.

Parameters
jmotor number
vthe new value
Returns
probably true, might return false in bad times

Implements yarp::dev::IAmplifierControl.

Definition at line 3311 of file ControlBoardWrapper.cpp.

◆ setMotorEncoder()

bool ControlBoardWrapper::setMotorEncoder ( int  m,
const double  val 
)
overridevirtual

Set the value of the encoder for a given joint.

Parameters
jencoder number
valnew value
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 2951 of file ControlBoardWrapper.cpp.

◆ setMotorEncoderCountsPerRevolution()

bool ControlBoardWrapper::setMotorEncoderCountsPerRevolution ( int  m,
const double  cpr 
)
overridevirtual

Sets number of counts per revolution for motor encoder m.

Parameters
mmotor encoder number
cprnew parameter
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 2988 of file ControlBoardWrapper.cpp.

◆ setMotorEncoders()

bool ControlBoardWrapper::setMotorEncoders ( const double *  vals)
overridevirtual

Set the value of all encoders.

Parameters
valspointer to the new values
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 2966 of file ControlBoardWrapper.cpp.

◆ setMotorTorqueParams()

bool ControlBoardWrapper::setMotorTorqueParams ( int  j,
const yarp::dev::MotorTorqueParameters  params 
)
overridevirtual

Set a subset of motor parameters (bemf, ktau etc) useful for torque control.

Parameters
jjoint number
paramsa struct containing the motor parameters to be set
Returns
true/false on success/failure

Reimplemented from yarp::dev::ITorqueControl.

Definition at line 3887 of file ControlBoardWrapper.cpp.

◆ setNominalCurrent()

bool ControlBoardWrapper::setNominalCurrent ( int  m,
const double  val 
)
overridevirtual

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 3403 of file ControlBoardWrapper.cpp.

◆ setPeakCurrent()

bool ControlBoardWrapper::setPeakCurrent ( int  m,
const double  val 
)
overridevirtual

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 3387 of file ControlBoardWrapper.cpp.

◆ setPid()

bool ControlBoardWrapper::setPid ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
const yarp::dev::Pid pid 
)
overridevirtual

Set new pid value for a joint axis.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
pidnew pid value
Returns
true/false on success/failure

Implements yarp::dev::IPidControl.

Definition at line 975 of file ControlBoardWrapper.cpp.

◆ setPidErrorLimit()

bool ControlBoardWrapper::setPidErrorLimit ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
double  limit 
)
overridevirtual

Set the error limit for the controller on a specifi joint.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
limitlimit value
Returns
true/false on success/failure

Implements yarp::dev::IPidControl.

Definition at line 1053 of file ControlBoardWrapper.cpp.

◆ setPidErrorLimits()

bool ControlBoardWrapper::setPidErrorLimits ( const yarp::dev::PidControlTypeEnum pidtype,
const double *  limits 
)
overridevirtual

Get the error limit for the controller on all joints.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
limitspointer to the vector with the new limits
Returns
true/false on success/failure

Implements yarp::dev::IPidControl.

Definition at line 1069 of file ControlBoardWrapper.cpp.

◆ setPidOffset()

bool ControlBoardWrapper::setPidOffset ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
double  v 
)
overridevirtual

Set offset value for a given controller.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
vthe offset to be added to the output of the pid controller
Returns
true on success, false on failure.

Implements yarp::dev::IPidControl.

Definition at line 1190 of file ControlBoardWrapper.cpp.

◆ setPidReference()

bool ControlBoardWrapper::setPidReference ( const yarp::dev::PidControlTypeEnum pidtype,
int  j,
double  ref 
)
overridevirtual

Set the controller reference for a given axis.

Warning this method can result in very large torques and should be used carefully. If you do not understand this warning you should avoid using this method. Have a look at other interfaces (e.g. position control).

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
jjoint number
refnew reference point
Returns
true/false upon success/failure

Implements yarp::dev::IPidControl.

Definition at line 1014 of file ControlBoardWrapper.cpp.

◆ setPidReferences()

bool ControlBoardWrapper::setPidReferences ( const yarp::dev::PidControlTypeEnum pidtype,
const double *  refs 
)
overridevirtual

Set the controller reference, multiple axes.

Warning this method can result in very large torques and should be used carefully. If you do not understand this warning you should avoid using this method. Have a look at other interfaces (e.g. position control).

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
refspointer to the vector that contains the new reference points.
Returns
true/false upon success/failure

Implements yarp::dev::IPidControl.

Definition at line 1030 of file ControlBoardWrapper.cpp.

◆ setPids()

bool ControlBoardWrapper::setPids ( const yarp::dev::PidControlTypeEnum pidtype,
const yarp::dev::Pid pids 
)
overridevirtual

Set new pid value on multiple axes.

Parameters
pidtypethe id of the pid that will be affected by the command (e.g. position, velocity etc)
pidspointer to a vector of pids
Returns
true/false upon success/failure

Implements yarp::dev::IPidControl.

Definition at line 991 of file ControlBoardWrapper.cpp.

◆ setPosition()

bool ControlBoardWrapper::setPosition ( int  j,
double  ref 
)
overridevirtual

Set new position for a single axis.

Parameters
jjoint number
refspecifies the new ref point
Returns
true/false on success/failure

Implements yarp::dev::IPositionDirect.

Definition at line 4255 of file ControlBoardWrapper.cpp.

◆ setPositions() [1/2]

bool ControlBoardWrapper::setPositions ( const double *  refs)
overridevirtual

Set new position for a set of axis.

Parameters
refsspecifies the new reference points
Returns
true/false on success/failure

Implements yarp::dev::IPositionDirect.

Definition at line 4309 of file ControlBoardWrapper.cpp.

◆ setPositions() [2/2]

bool ControlBoardWrapper::setPositions ( const int  n_joint,
const int *  joints,
const double *  refs 
)
overridevirtual

Set new reference point for all axes.

Parameters
n_jointhow many joints this command is referring to
jointslist of joints controlled. The size of this array is n_joints
refsarray, new reference points, one value for each joint, the size is n_joints. The first value will be the new reference for the joint joints[0]. for example: n_joint 3 joints 0 2 4 refs 10 30 40
Returns
true/false on success/failure

Implements yarp::dev::IPositionDirect.

Definition at line 4272 of file ControlBoardWrapper.cpp.

◆ setPWMLimit()

bool ControlBoardWrapper::setPWMLimit ( int  m,
const double  val 
)
overridevirtual

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 3460 of file ControlBoardWrapper.cpp.

◆ setRefAcceleration()

bool ControlBoardWrapper::setRefAcceleration ( int  j,
double  acc 
)
overridevirtual

Set reference acceleration for a joint.

This value is used during the trajectory generation.

Parameters
jjoint number
accacceleration value
Returns
true/false upon success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1963 of file ControlBoardWrapper.cpp.

◆ setRefAccelerations() [1/2]

bool ControlBoardWrapper::setRefAccelerations ( const double *  accs)
overridevirtual

Set reference acceleration on all joints.

This is the valure that is used during the generation of the trajectory.

Parameters
accspointer to the array of acceleration values
Returns
true/false upon success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1984 of file ControlBoardWrapper.cpp.

◆ setRefAccelerations() [2/2]

bool ControlBoardWrapper::setRefAccelerations ( const int  n_joints,
const int *  joints,
const double *  accs 
)
overridevirtual

Set reference acceleration on all joints.

This is the valure that is used during the generation of the trajectory.

Parameters
jointspointer to the array of joint numbers
accspointer to the array with acceleration values
Returns
true/false upon success/failure

Implements yarp::dev::IPositionControl.

Definition at line 2030 of file ControlBoardWrapper.cpp.

◆ setRefCurrent()

bool ControlBoardWrapper::setRefCurrent ( int  m,
double  curr 
)
overridevirtual

Set the reference value of the current for a single motor.

Parameters
mmotor number
currthe current reference value for motor m. Value is expressed in amperes.
Returns
true/false on success/failure

Implements yarp::dev::ICurrentControl.

Definition at line 5057 of file ControlBoardWrapper.cpp.

◆ setRefCurrents() [1/2]

bool ControlBoardWrapper::setRefCurrents ( const double *  currs)
overridevirtual

Set the reference value of the currents for all motors.

Parameters
currsthe array containing the reference current values. Values are expressed in amperes.
Returns
true/false on success/failure

Implements yarp::dev::ICurrentControl.

Definition at line 5034 of file ControlBoardWrapper.cpp.

◆ setRefCurrents() [2/2]

bool ControlBoardWrapper::setRefCurrents ( const int  n_motor,
const int *  motors,
const double *  currs 
)
overridevirtual

Set the reference value of the current for a group of motors.

Parameters
n_motorsize of motors ans currs arrays
motorspointer to the array containing the list of motor numbers
currspointer to the array specifying the new current references
Returns
true/false on success/failure

Implements yarp::dev::ICurrentControl.

Definition at line 5074 of file ControlBoardWrapper.cpp.

◆ setRefDutyCycle()

bool ControlBoardWrapper::setRefDutyCycle ( int  m,
double  ref 
)
overridevirtual

Sets the reference dutycycle to a single motor.

Parameters
mmotor number
refthe dutycycle, expressed as percentage (-100% +100%)
Returns
true/false on success/failure

Implements yarp::dev::IPWMControl.

Definition at line 4773 of file ControlBoardWrapper.cpp.

◆ setRefDutyCycles()

bool ControlBoardWrapper::setRefDutyCycles ( const double *  refs)
overridevirtual

Sets the reference dutycycle for all the motors.

Parameters
refsthe dutycycle, expressed as percentage (-100% +100%)
Returns
true/false on success/failure

Implements yarp::dev::IPWMControl.

Definition at line 4790 of file ControlBoardWrapper.cpp.

◆ setRefSpeed()

bool ControlBoardWrapper::setRefSpeed ( int  j,
double  sp 
)
overridevirtual

Set reference speed for a joint, this is the speed used during the interpolation of the trajectory.

Parameters
jjoint number
spspeed value
Returns
true/false upon success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1855 of file ControlBoardWrapper.cpp.

◆ setRefSpeeds() [1/2]

bool ControlBoardWrapper::setRefSpeeds ( const double *  spds)
overridevirtual

Set reference speed on all joints.

These values are used during the interpolation of the trajectory.

Parameters
spdspointer to the array of speed values.
Returns
true/false upon success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1875 of file ControlBoardWrapper.cpp.

◆ setRefSpeeds() [2/2]

bool ControlBoardWrapper::setRefSpeeds ( const int  n_joints,
const int *  joints,
const double *  spds 
)
overridevirtual

Set reference speed on all joints.

These values are used during the interpolation of the trajectory.

Parameters
jointspointer to the array of joint numbers
spdspointer to the array with speed values.
Returns
true/false upon success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1921 of file ControlBoardWrapper.cpp.

◆ setRefTorque()

bool ControlBoardWrapper::setRefTorque ( int  j,
double  t 
)
overridevirtual

Set the reference value of the torque for a given joint.

Parameters
jjoint number
tnew value
Returns
true/false on success/failure

Implements yarp::dev::ITorqueControl.

Definition at line 3820 of file ControlBoardWrapper.cpp.

◆ setRefTorques() [1/2]

bool ControlBoardWrapper::setRefTorques ( const double *  t)
overridevirtual

Set the reference value of the torque for all joints.

Parameters
tpointer to the array of torque values
Returns
true/false on success/failure

Implements yarp::dev::ITorqueControl.

Definition at line 3797 of file ControlBoardWrapper.cpp.

◆ setRefTorques() [2/2]

bool ControlBoardWrapper::setRefTorques ( const int  n_joint,
const int *  joints,
const double *  t 
)
overridevirtual

Set new torque reference for a subset of joints.

Parameters
jointspointer to the array of joint numbers
refspointer to the array specifying the new torque reference
Returns
true/false on success/failure

Reimplemented from yarp::dev::ITorqueControl.

Definition at line 3836 of file ControlBoardWrapper.cpp.

◆ setRemoteVariable()

bool ControlBoardWrapper::setRemoteVariable ( std::string  key,
const yarp::os::Bottle val 
)
overridevirtual

Implements yarp::dev::IRemoteVariables.

Definition at line 2865 of file ControlBoardWrapper.cpp.

◆ setTemperatureLimit()

bool ControlBoardWrapper::setTemperatureLimit ( int  m,
const double  temp 
)
overridevirtual

Set the temperature limit for a specific motor.

The specific behavior of the motor when the temperature limit is exceeded depends on the implementation (power off recommended)

Parameters
mmotor number
tempthe temperature limit to be set
Returns
true/false

Implements yarp::dev::IMotor.

Definition at line 2801 of file ControlBoardWrapper.cpp.

◆ setVelLimits()

bool ControlBoardWrapper::setVelLimits ( int  j,
double  min,
double  max 
)
overridevirtual

Set the software velocity limits for a particular axis, the behavior of the control card when these limits are exceeded, depends on the implementation.

Parameters
jjoint number
minthe value of the lower limit
maxthe value of the upper limit
Returns
true or false on success or failure

Implements yarp::dev::IControlLimits.

Definition at line 3537 of file ControlBoardWrapper.cpp.

◆ stop() [1/3]

bool ControlBoardWrapper::stop ( )
overridevirtual

Stop motion, multiple joints.

Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 2340 of file ControlBoardWrapper.cpp.

◆ stop() [2/3]

bool ControlBoardWrapper::stop ( const int  n_joints,
const int *  joints 
)
overridevirtual

Stop motion for subset of joints.

Parameters
jointspointer to the array of joint numbers
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 2368 of file ControlBoardWrapper.cpp.

◆ stop() [3/3]

bool ControlBoardWrapper::stop ( int  j)
overridevirtual

Stop motion, single joint.

Parameters
jjoint number
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 2319 of file ControlBoardWrapper.cpp.

◆ velocityMove() [1/3]

bool ControlBoardWrapper::velocityMove ( const double *  v)
overridevirtual

Set a new reference speed for all axes.

Parameters
vis a vector of double representing the requested speed.
Returns
true/false on success/failure.

Implements yarp::dev::IVelocityControl.

Definition at line 2420 of file ControlBoardWrapper.cpp.

◆ velocityMove() [2/3]

bool ControlBoardWrapper::velocityMove ( const int  n_joint,
const int *  joints,
const double *  spds 
)
overridevirtual

Start motion at a given speed for a subset of joints.

Parameters
n_jointhow many joints this command is referring to
jointsof joints controlled. The size of this array is n_joints
spdspointer to the array containing the new speed values, one value for each joint, the size of the array is n_joints. The first value will be the new reference for the joint joints[0]. for example: n_joint 3 joints 0 2 4 spds 10 30 40
Returns
true/false on success/failure

Implements yarp::dev::IVelocityControl.

Definition at line 4448 of file ControlBoardWrapper.cpp.

◆ velocityMove() [3/3]

bool ControlBoardWrapper::velocityMove ( int  j,
double  v 
)
overridevirtual

Set new reference speed for a single axis.

Parameters
jjoint number
vspecifies the new ref speed
Returns
true/false on success/failure

Implements yarp::dev::IVelocityControl.

Definition at line 2404 of file ControlBoardWrapper.cpp.

◆ verbose()

bool ControlBoardWrapper::verbose ( ) const
inline

Return the value of the verbose flag.

Returns
the verbose flag.

Definition at line 338 of file ControlBoardWrapper.h.


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