YARP
Yet Another Robot Platform

remote_controlboard: The client side of the control board, connects to a remote controlboard using the YARP network. More...

#include <RemoteControlBoard/RemoteControlBoard.h>

+ Inheritance diagram for RemoteControlBoard:

Public Member Functions

 RemoteControlBoard ()=default
 
 RemoteControlBoard (const RemoteControlBoard &)=delete
 
 RemoteControlBoard (RemoteControlBoard &&)=delete
 
RemoteControlBoardoperator= (const RemoteControlBoard &)=delete
 
RemoteControlBoardoperator= (RemoteControlBoard &&)=delete
 
 ~RemoteControlBoard () override=default
 
bool open (Searchable &config) override
 Open the DeviceDriver. More...
 
bool close () override
 Close the device driver and stop the port connections. More...
 
bool getAxes (int *ax) override
 Get the number of controlled axes. More...
 
bool setPid (const PidControlTypeEnum &pidtype, int j, const Pid &pid) override
 Set new pid value for a joint axis. More...
 
bool setPids (const PidControlTypeEnum &pidtype, const Pid *pids) override
 Set new pid value on multiple axes. More...
 
bool setPidReference (const PidControlTypeEnum &pidtype, int j, double ref) override
 Set the controller reference for a given axis. More...
 
bool setPidReferences (const PidControlTypeEnum &pidtype, const double *refs) override
 Set the controller reference, multiple axes. More...
 
bool setPidErrorLimit (const PidControlTypeEnum &pidtype, int j, double limit) override
 Set the error limit for the controller on a specifi joint. More...
 
bool setPidErrorLimits (const PidControlTypeEnum &pidtype, const double *limits) override
 Get the error limit for the controller on all joints. More...
 
bool getPidError (const PidControlTypeEnum &pidtype, int j, double *err) override
 Get the current error for a joint. More...
 
bool getPidErrors (const PidControlTypeEnum &pidtype, double *errs) override
 Get the error of all joints. More...
 
bool getPid (const PidControlTypeEnum &pidtype, int j, Pid *pid) override
 Get current pid value for a specific joint. More...
 
bool getPids (const PidControlTypeEnum &pidtype, Pid *pids) override
 Get current pid value for a specific joint. More...
 
bool getPidReference (const PidControlTypeEnum &pidtype, int j, double *ref) override
 Get the current reference of the pid controller for a specific joint. More...
 
bool getPidReferences (const PidControlTypeEnum &pidtype, double *refs) override
 Get the current reference of all pid controllers. More...
 
bool getPidErrorLimit (const PidControlTypeEnum &pidtype, int j, double *limit) override
 Get the error limit for the controller on a specific joint. More...
 
bool getPidErrorLimits (const PidControlTypeEnum &pidtype, double *limits) override
 Get the error limit for all controllers. More...
 
bool resetPid (const 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 PidControlTypeEnum &pidtype, int j) override
 Disable the pid computation for a joint. More...
 
bool enablePid (const PidControlTypeEnum &pidtype, int j) override
 Enable the pid computation for a joint. More...
 
bool isPidEnabled (const PidControlTypeEnum &pidtype, int j, bool *enabled) override
 Get the current status (enabled/disabled) of the pid. More...
 
bool getPidOutput (const PidControlTypeEnum &pidtype, int j, double *out) override
 Get the output of the controller (e.g. More...
 
bool getPidOutputs (const PidControlTypeEnum &pidtype, double *outs) override
 Get the output of the controllers (e.g. More...
 
bool setPidOffset (const PidControlTypeEnum &pidtype, int j, double v) override
 Set offset value for a given controller. 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 getEncoderTimed (int j, double *v, double *t) override
 Read the instantaneous acceleration of all axes. More...
 
bool getEncoders (double *encs) override
 Read the position of all axes. More...
 
bool getEncodersTimed (double *encs, double *ts) 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 instantaneous acceleration of all axes. 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 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 resetMotorEncoder (int j) override
 Reset motor encoder, single motor. More...
 
bool resetMotorEncoders () override
 Reset motor encoders. More...
 
bool setMotorEncoder (int j, const double val) override
 Set the value of the motor encoder for a given motor. 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 setMotorEncoders (const double *vals) override
 Set the value of all motor encoders. More...
 
bool getMotorEncoder (int j, double *v) override
 Read the value of a motor encoder. More...
 
bool getMotorEncoderTimed (int j, double *v, double *t) override
 Read the instantaneous position of a motor encoder. More...
 
bool getMotorEncoders (double *encs) override
 Read the position of all motor encoders. More...
 
bool getMotorEncodersTimed (double *encs, double *ts) override
 Read the instantaneous position of all motor encoders. More...
 
bool getMotorEncoderSpeed (int j, double *sp) override
 Read the istantaneous speed of a motor encoder. More...
 
bool getMotorEncoderSpeeds (double *spds) override
 Read the instantaneous speed of all motor encoders. More...
 
bool getMotorEncoderAcceleration (int j, double *acc) override
 Read the instantaneous acceleration of a motor encoder. More...
 
bool getMotorEncoderAccelerations (double *accs) override
 Read the instantaneous acceleration of all motor encoders. More...
 
bool getNumberOfMotorEncoders (int *num) override
 Get the number of available motor encoders. More...
 
Stamp getLastInputStamp () override
 Get the time stamp for the last read data. More...
 
bool positionMove (int j, double ref) override
 Set new reference point for a single axis. More...
 
bool positionMove (const int n_joint, const int *joints, const double *refs) override
 Set new reference point for a subset of joints. More...
 
bool positionMove (const double *refs) override
 Set new reference point for all axes. 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 int n_joint, const int *joints, const double *refs) override
 Set relative position for a subset of joints. More...
 
bool relativeMove (const double *deltas) override
 Set relative position, all joints. More...
 
bool checkMotionDone (int j, bool *flag) override
 Check if the current trajectory is terminated. More...
 
bool checkMotionDone (const int n_joint, const int *joints, 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 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 int n_joint, const int *joints, const double *spds) override
 Set reference speed on all joints. More...
 
bool setRefSpeeds (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 int n_joint, const int *joints, const double *accs) override
 Set reference acceleration on all joints. More...
 
bool setRefAccelerations (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 (const int n_joint, const int *joints, double *spds) override
 Get reference speed of all joints. More...
 
bool getRefSpeeds (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 (const int n_joint, const int *joints, double *accs) override
 Get reference acceleration for a joint. More...
 
bool getRefAccelerations (double *accs) override
 Get reference acceleration of all joints. More...
 
bool stop (int j) override
 Stop motion, single joint. More...
 
bool stop (const int len, const int *val1) override
 Stop motion for subset of joints. More...
 
bool stop () override
 Stop motion, multiple joints. More...
 
bool getLastJointFault (int j, int &fault, std::string &message) override
 
bool velocityMove (int j, double v) override
 Start motion at a given speed, single joint. More...
 
bool velocityMove (const double *v) override
 Start motion at a given speed, multiple joints. 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
 
bool getAmpStatus (int j, int *st) override
 
bool setMaxCurrent (int j, double v) override
 
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 axis, 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 axis, double *min, double *max) override
 Get the software limits for a particular axis. More...
 
bool setVelLimits (int axis, double min, double max) override
 Set the software speed limits for a particular axis, the behavior of the control card when these limits are exceeded, depends on the implementation. More...
 
bool getVelLimits (int axis, double *min, double *max) override
 Get the software speed limits for a particular axis. More...
 
bool getAxisName (int j, std::string &name) override
 
bool getJointType (int j, yarp::dev::JointTypeEnum &type) override
 
bool calibrateRobot () override
 Calibrate robot by using an external calibrator. More...
 
bool abortCalibration () override
 
bool abortPark () override
 
bool park (bool wait=true) override
 
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 CalibrationParameters &params) override
 Start calibration, this method is very often platform specific. More...
 
bool calibrationDone (int j) override
 Check if the calibration is terminated, on a particular joint. More...
 
bool getRefTorque (int j, double *t) override
 Get the reference value of the torque for a given joint. More...
 
bool getRefTorques (double *t) override
 Get the reference value of the torque for all joints. More...
 
bool setRefTorques (const double *t) override
 Set the reference value of the torque for all joints. More...
 
bool setRefTorque (int j, double v) 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 setMotorTorqueParams (int j, const MotorTorqueParameters params) override
 Set a subset of motor parameters (bemf, ktau etc) useful for torque control. More...
 
bool getMotorTorqueParams (int j, MotorTorqueParameters *params) override
 Get a subset of motor parameters (bemf, ktau etc) useful for torque control. 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 *stiffness, double *damping) 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 setImpedance (int j, double stiffness, double damping) 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 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_joint, 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_joint, const int *joints, const double *refs) 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...
 
bool velocityMove (const int n_joint, 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 axis, 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 axis, 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 isCalibratorDevicePresent (bool *isCalib) override
 isCalibratorDevicePresent: check if a calibrator device has been set 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 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...
 
bool setRefCurrents (const double *refs) override
 Set the reference value of the currents for all motors. More...
 
bool setRefCurrent (int j, double ref) override
 Set the reference value of the current for a single motor. More...
 
bool setRefCurrents (const int n_joint, const int *joints, const double *refs) override
 Set the reference value of the current for a group of motors. More...
 
bool getCurrents (double *vals) override
 
bool getCurrent (int j, double *val) override
 
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 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 *ref) override
 Gets the last reference sent using the setRefDutyCycle function. More...
 
bool getRefDutyCycles (double *refs) override
 Gets the last reference sent using the setRefDutyCycles function. More...
 
bool getDutyCycle (int j, double *out) override
 Gets the current dutycycle of the output of the amplifier (i.e. More...
 
bool getDutyCycles (double *outs) override
 Gets the current dutycycle of the output of the amplifier (i.e. More...
 
- Public Member Functions inherited from yarp::dev::IPidControl
virtual ~IPidControl ()
 Destructor. More...
 
virtual bool setPid (const PidControlTypeEnum &pidtype, int j, const Pid &pid)=0
 Set new pid value for a joint axis. More...
 
virtual bool setPids (const PidControlTypeEnum &pidtype, const Pid *pids)=0
 Set new pid value on multiple axes. More...
 
virtual bool setPidReference (const PidControlTypeEnum &pidtype, int j, double ref)=0
 Set the controller reference for a given axis. More...
 
virtual bool setPidReferences (const PidControlTypeEnum &pidtype, const double *refs)=0
 Set the controller reference, multiple axes. More...
 
virtual bool setPidErrorLimit (const PidControlTypeEnum &pidtype, int j, double limit)=0
 Set the error limit for the controller on a specifi joint. More...
 
virtual bool setPidErrorLimits (const PidControlTypeEnum &pidtype, const double *limits)=0
 Get the error limit for the controller on all joints. More...
 
virtual bool getPidError (const PidControlTypeEnum &pidtype, int j, double *err)=0
 Get the current error for a joint. More...
 
virtual bool getPidErrors (const PidControlTypeEnum &pidtype, double *errs)=0
 Get the error of all joints. More...
 
virtual bool getPidOutput (const PidControlTypeEnum &pidtype, int j, double *out)=0
 Get the output of the controller (e.g. More...
 
virtual bool getPidOutputs (const PidControlTypeEnum &pidtype, double *outs)=0
 Get the output of the controllers (e.g. More...
 
virtual bool getPid (const PidControlTypeEnum &pidtype, int j, Pid *pid)=0
 Get current pid value for a specific joint. More...
 
virtual bool getPids (const PidControlTypeEnum &pidtype, Pid *pids)=0
 Get current pid value for a specific joint. More...
 
virtual bool getPidReference (const PidControlTypeEnum &pidtype, int j, double *ref)=0
 Get the current reference of the pid controller for a specific joint. More...
 
virtual bool getPidReferences (const PidControlTypeEnum &pidtype, double *refs)=0
 Get the current reference of all pid controllers. More...
 
virtual bool getPidErrorLimit (const PidControlTypeEnum &pidtype, int j, double *limit)=0
 Get the error limit for the controller on a specific joint. More...
 
virtual bool getPidErrorLimits (const PidControlTypeEnum &pidtype, double *limits)=0
 Get the error limit for all controllers. More...
 
virtual bool resetPid (const PidControlTypeEnum &pidtype, int j)=0
 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...
 
virtual bool disablePid (const PidControlTypeEnum &pidtype, int j)=0
 Disable the pid computation for a joint. More...
 
virtual bool enablePid (const PidControlTypeEnum &pidtype, int j)=0
 Enable the pid computation for a joint. More...
 
virtual bool setPidOffset (const PidControlTypeEnum &pidtype, int j, double v)=0
 Set offset value for a given controller. More...
 
virtual bool isPidEnabled (const PidControlTypeEnum &pidtype, int j, bool *enabled)=0
 Get the current status (enabled/disabled) of the pid. More...
 
- Public Member Functions inherited from yarp::dev::IPositionControl
virtual ~IPositionControl ()
 Destructor. More...
 
virtual bool getAxes (int *ax)=0
 Get the number of controlled axes. More...
 
virtual bool positionMove (int j, double ref)=0
 Set new reference point for a single axis. More...
 
virtual bool positionMove (const double *refs)=0
 Set new reference point for all axes. More...
 
virtual bool relativeMove (int j, double delta)=0
 Set relative position. More...
 
virtual bool relativeMove (const double *deltas)=0
 Set relative position, all joints. More...
 
virtual bool checkMotionDone (int j, bool *flag)=0
 Check if the current trajectory is terminated. More...
 
virtual bool checkMotionDone (bool *flag)=0
 Check if the current trajectory is terminated. More...
 
virtual bool setRefSpeed (int j, double sp)=0
 Set reference speed for a joint, this is the speed used during the interpolation of the trajectory. More...
 
virtual bool setRefSpeeds (const double *spds)=0
 Set reference speed on all joints. More...
 
virtual bool setRefAcceleration (int j, double acc)=0
 Set reference acceleration for a joint. More...
 
virtual bool setRefAccelerations (const double *accs)=0
 Set reference acceleration on all joints. More...
 
virtual bool getRefSpeed (int j, double *ref)=0
 Get reference speed for a joint. More...
 
virtual bool getRefSpeeds (double *spds)=0
 Get reference speed of all joints. More...
 
virtual bool getRefAcceleration (int j, double *acc)=0
 Get reference acceleration for a joint. More...
 
virtual bool getRefAccelerations (double *accs)=0
 Get reference acceleration of all joints. More...
 
virtual bool stop (int j)=0
 Stop motion, single joint. More...
 
virtual bool stop ()=0
 Stop motion, multiple joints. More...
 
virtual bool positionMove (const int n_joint, const int *joints, const double *refs)=0
 Set new reference point for a subset of joints. More...
 
virtual bool relativeMove (const int n_joint, const int *joints, const double *deltas)=0
 Set relative position for a subset of joints. More...
 
virtual bool checkMotionDone (const int n_joint, const int *joints, bool *flag)=0
 Check if the current trajectory is terminated. More...
 
virtual bool setRefSpeeds (const int n_joint, const int *joints, const double *spds)=0
 Set reference speed on all joints. More...
 
virtual bool setRefAccelerations (const int n_joint, const int *joints, const double *accs)=0
 Set reference acceleration on all joints. More...
 
virtual bool getRefSpeeds (const int n_joint, const int *joints, double *spds)=0
 Get reference speed of all joints. More...
 
virtual bool getRefAccelerations (const int n_joint, const int *joints, double *accs)=0
 Get reference acceleration for a joint. More...
 
virtual bool stop (const int n_joint, const int *joints)=0
 Stop motion for subset of joints. More...
 
virtual bool getTargetPosition (const int joint, double *ref)
 Get the last position reference for the specified axis. More...
 
virtual bool getTargetPositions (double *refs)
 Get the last position reference for all axes. More...
 
virtual bool getTargetPositions (const int n_joint, const int *joints, double *refs)
 Get the last position reference for the specified group of axes. More...
 
- Public Member Functions inherited from yarp::dev::IVelocityControl
virtual ~IVelocityControl ()
 Destructor. More...
 
virtual bool getAxes (int *axes)=0
 Get the number of controlled axes. More...
 
virtual bool velocityMove (int j, double sp)=0
 Start motion at a given speed, single joint. More...
 
virtual bool velocityMove (const double *sp)=0
 Start motion at a given speed, multiple joints. More...
 
virtual bool setRefAcceleration (int j, double acc)=0
 Set reference acceleration for a joint. More...
 
virtual bool setRefAccelerations (const double *accs)=0
 Set reference acceleration on all joints. More...
 
virtual bool getRefAcceleration (int j, double *acc)=0
 Get reference acceleration for a joint. More...
 
virtual bool getRefAccelerations (double *accs)=0
 Get reference acceleration of all joints. More...
 
virtual bool stop (int j)=0
 Stop motion, single joint. More...
 
virtual bool stop ()=0
 Stop motion, multiple joints. More...
 
virtual bool velocityMove (const int n_joint, const int *joints, const double *spds)=0
 Start motion at a given speed for a subset of joints. More...
 
virtual bool getRefVelocity (const int joint, double *vel)
 Get the last reference speed set by velocityMove for single joint. More...
 
virtual bool getRefVelocities (double *vels)
 Get the last reference speed set by velocityMove for all joints. More...
 
virtual bool getRefVelocities (const int n_joint, const int *joints, double *vels)
 Get the last reference speed set by velocityMove for a group of joints. More...
 
virtual bool setRefAccelerations (const int n_joint, const int *joints, const double *accs)=0
 Set reference acceleration for a subset of joints. More...
 
virtual bool getRefAccelerations (const int n_joint, const int *joints, double *accs)=0
 Get reference acceleration for a subset of joints. More...
 
virtual bool stop (const int n_joint, const int *joints)=0
 Stop motion for a subset of joints. More...
 
- Public Member Functions inherited from yarp::dev::IEncodersTimed
virtual ~IEncodersTimed ()
 Destructor. More...
 
virtual bool getEncodersTimed (double *encs, double *time)=0
 Read the instantaneous acceleration of all axes. More...
 
virtual bool getEncoderTimed (int j, double *encs, double *time)=0
 Read the instantaneous acceleration of all axes. More...
 
- Public Member Functions inherited from yarp::dev::IEncoders
virtual ~IEncoders ()
 Destructor. More...
 
virtual bool getAxes (int *ax)=0
 Get the number of controlled axes. More...
 
virtual bool resetEncoder (int j)=0
 Reset encoder, single joint. More...
 
virtual bool resetEncoders ()=0
 Reset encoders. More...
 
virtual bool setEncoder (int j, double val)=0
 Set the value of the encoder for a given joint. More...
 
virtual bool setEncoders (const double *vals)=0
 Set the value of all encoders. More...
 
virtual bool getEncoder (int j, double *v)=0
 Read the value of an encoder. More...
 
virtual bool getEncoders (double *encs)=0
 Read the position of all axes. More...
 
virtual bool getEncoderSpeed (int j, double *sp)=0
 Read the istantaneous speed of an axis. More...
 
virtual bool getEncoderSpeeds (double *spds)=0
 Read the instantaneous speed of all axes. More...
 
virtual bool getEncoderAcceleration (int j, double *spds)=0
 Read the instantaneous acceleration of an axis. More...
 
virtual bool getEncoderAccelerations (double *accs)=0
 Read the instantaneous acceleration of all axes. More...
 
- Public Member Functions inherited from yarp::dev::IMotorEncoders
virtual ~IMotorEncoders ()
 Destructor. More...
 
virtual bool getNumberOfMotorEncoders (int *num)=0
 Get the number of available motor encoders. More...
 
virtual bool resetMotorEncoder (int m)=0
 Reset motor encoder, single motor. More...
 
virtual bool resetMotorEncoders ()=0
 Reset motor encoders. More...
 
virtual bool setMotorEncoderCountsPerRevolution (int m, const double cpr)=0
 Sets number of counts per revolution for motor encoder m. More...
 
virtual bool getMotorEncoderCountsPerRevolution (int m, double *cpr)=0
 Gets number of counts per revolution for motor encoder m. More...
 
virtual bool setMotorEncoder (int m, const double val)=0
 Set the value of the motor encoder for a given motor. More...
 
virtual bool setMotorEncoders (const double *vals)=0
 Set the value of all motor encoders. More...
 
virtual bool getMotorEncoder (int m, double *v)=0
 Read the value of a motor encoder. More...
 
virtual bool getMotorEncoders (double *encs)=0
 Read the position of all motor encoders. More...
 
virtual bool getMotorEncodersTimed (double *encs, double *time)=0
 Read the instantaneous position of all motor encoders. More...
 
virtual bool getMotorEncoderTimed (int m, double *encs, double *time)=0
 Read the instantaneous position of a motor encoder. More...
 
virtual bool getMotorEncoderSpeed (int m, double *sp)=0
 Read the istantaneous speed of a motor encoder. More...
 
virtual bool getMotorEncoderSpeeds (double *spds)=0
 Read the instantaneous speed of all motor encoders. More...
 
virtual bool getMotorEncoderAcceleration (int m, double *acc)=0
 Read the instantaneous acceleration of a motor encoder. More...
 
virtual bool getMotorEncoderAccelerations (double *accs)=0
 Read the instantaneous acceleration of all motor encoders. More...
 
- Public Member Functions inherited from yarp::dev::IMotor
virtual ~IMotor ()
 Destructor. More...
 
virtual bool getNumberOfMotors (int *num)=0
 Get the number of available motors. More...
 
virtual bool getTemperature (int m, double *val)=0
 Get temperature of a motor. More...
 
virtual bool getTemperatures (double *vals)=0
 Get temperature of all the motors. More...
 
virtual bool getTemperatureLimit (int m, double *temp)=0
 Retreives the current temperature limit for a specific motor. More...
 
virtual bool setTemperatureLimit (int m, const double temp)=0
 Set the temperature limit for a specific motor. More...
 
virtual bool getGearboxRatio (int m, double *val)
 Get the gearbox ratio for a specific motor. More...
 
virtual bool setGearboxRatio (int m, const double val)
 Set the gearbox ratio for a specific motor. More...
 
- Public Member Functions inherited from yarp::dev::IAmplifierControl
virtual ~IAmplifierControl ()
 Destructor. More...
 
virtual bool enableAmp (int j)=0
 Enable the amplifier on a specific joint. More...
 
virtual bool disableAmp (int j)=0
 Disable the amplifier on a specific joint. More...
 
virtual bool getAmpStatus (int *st)=0
 
virtual bool getAmpStatus (int j, int *v)=0
 
virtual bool getCurrents (double *vals)=0
 
virtual bool getCurrent (int j, double *val)=0
 
virtual bool getMaxCurrent (int j, double *v)=0
 Returns the maximum electric current allowed for a given motor. More...
 
virtual bool setMaxCurrent (int j, double v)=0
 
virtual bool getNominalCurrent (int m, double *val)
 
virtual bool setNominalCurrent (int m, const double val)
 
virtual bool getPeakCurrent (int m, double *val)
 
virtual bool setPeakCurrent (int m, const double val)
 
virtual bool getPWM (int j, double *val)
 
virtual bool getPWMLimit (int j, double *val)
 
virtual bool setPWMLimit (int j, const double val)
 
virtual bool getPowerSupplyVoltage (int j, double *val)
 
- Public Member Functions inherited from yarp::dev::IControlLimits
virtual ~IControlLimits ()
 Destructor. More...
 
virtual bool setLimits (int axis, double min, double max)=0
 Set the software limits for a particular axis, the behavior of the control card when these limits are exceeded, depends on the implementation. More...
 
virtual bool getLimits (int axis, double *min, double *max)=0
 Get the software limits for a particular axis. More...
 
virtual bool setVelLimits (int axis, double min, double max)=0
 Set the software speed limits for a particular axis, the behavior of the control card when these limits are exceeded, depends on the implementation. More...
 
virtual bool getVelLimits (int axis, double *min, double *max)=0
 Get the software speed limits for a particular axis. More...
 
- Public Member Functions inherited from yarp::dev::IAxisInfo
virtual ~IAxisInfo ()
 Destructor. More...
 
virtual bool getAxisName (int axis, std::string &name)=0
 
virtual bool getJointType (int axis, yarp::dev::JointTypeEnum &type)
 
- Public Member Functions inherited from yarp::dev::IPreciselyTimed
virtual ~IPreciselyTimed ()
 
virtual yarp::os::Stamp getLastInputStamp ()=0
 Return the time stamp relative to the last acquisition. More...
 
- Public Member Functions inherited from yarp::dev::IControlCalibration
 IControlCalibration ()
 
virtual ~IControlCalibration ()
 Destructor. More...
 
virtual bool calibrateAxisWithParams (int axis, unsigned int type, double p1, double p2, double p3)=0
 Start calibration, this method is very often platform specific. More...
 
virtual bool setCalibrationParameters (int axis, const CalibrationParameters &params)
 Start calibration, this method is very often platform specific. More...
 
virtual bool calibrationDone (int j)=0
 Check if the calibration is terminated, on a particular joint. 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)
 
virtual bool abortCalibration ()
 
virtual bool abortPark ()
 
- Public Member Functions inherited from yarp::dev::ITorqueControl
virtual ~ITorqueControl ()
 Destructor. More...
 
virtual bool getAxes (int *ax)=0
 Get the number of controlled axes. More...
 
virtual bool getRefTorques (double *t)=0
 Get the reference value of the torque for all joints. More...
 
virtual bool getRefTorque (int j, double *t)=0
 Get the reference value of the torque for a given joint. More...
 
virtual bool setRefTorques (const double *t)=0
 Set the reference value of the torque for all joints. More...
 
virtual bool setRefTorque (int j, double t)=0
 Set the reference value of the torque for a given joint. More...
 
virtual bool setRefTorques (const int n_joint, const int *joints, const double *t)
 Set new torque reference for a subset of joints. More...
 
virtual bool getMotorTorqueParams (int j, yarp::dev::MotorTorqueParameters *params)
 Get a subset of motor parameters (bemf, ktau etc) useful for torque control. More...
 
virtual bool setMotorTorqueParams (int j, const yarp::dev::MotorTorqueParameters params)
 Set a subset of motor parameters (bemf, ktau etc) useful for torque control. More...
 
virtual bool getTorque (int j, double *t)=0
 Get the value of the torque on a given joint (this is the feedback if you have a torque sensor). More...
 
virtual bool getTorques (double *t)=0
 Get the value of the torque for all joints (this is the feedback if you have torque sensors). More...
 
virtual bool getTorqueRange (int j, double *min, double *max)=0
 Get the full scale of the torque sensor of a given joint. More...
 
virtual bool getTorqueRanges (double *min, double *max)=0
 Get the full scale of the torque sensors of all joints. More...
 
- Public Member Functions inherited from yarp::dev::IImpedanceControl
virtual ~IImpedanceControl ()
 Destructor. More...
 
virtual bool getAxes (int *ax)=0
 Get the number of controlled axes. More...
 
virtual bool getImpedance (int j, double *stiffness, double *damping)=0
 Get current impedance gains (stiffness,damping,offset) for a specific joint. More...
 
virtual bool setImpedance (int j, double stiffness, double damping)=0
 Set current impedance gains (stiffness,damping) for a specific joint. More...
 
virtual bool setImpedanceOffset (int j, double offset)=0
 Set current force Offset for a specific joint. More...
 
virtual bool getImpedanceOffset (int j, double *offset)=0
 Get current force Offset for a specific joint. More...
 
virtual bool getCurrentImpedanceLimit (int j, double *min_stiff, double *max_stiff, double *min_damp, double *max_damp)=0
 Get the current impedandance limits for a specific joint. More...
 
- Public Member Functions inherited from yarp::dev::IControlMode
virtual ~IControlMode ()
 
virtual bool getControlMode (int j, int *mode)=0
 Get the current control mode. More...
 
virtual bool getControlModes (int *modes)=0
 Get the current control mode (multiple joints). More...
 
virtual bool getControlModes (const int n_joint, const int *joints, int *modes)=0
 Get the current control mode for a subset of axes. More...
 
virtual bool setControlMode (const int j, const int mode)=0
 Set the current control mode. More...
 
virtual bool setControlModes (const int n_joint, const int *joints, int *modes)=0
 Set the current control mode for a subset of axes. More...
 
virtual bool setControlModes (int *modes)=0
 Set the current control mode (multiple joints). More...
 
- Public Member Functions inherited from yarp::dev::DeviceDriver
 DeviceDriver ()
 
 DeviceDriver (const DeviceDriver &other)=delete
 
 DeviceDriver (DeviceDriver &&other) noexcept=delete
 
DeviceDriveroperator= (const DeviceDriver &other)=delete
 
DeviceDriveroperator= (DeviceDriver &&other) noexcept=delete
 
 ~DeviceDriver () override
 
bool open (yarp::os::Searchable &config) override
 Open the DeviceDriver. More...
 
bool close () override
 Close the DeviceDriver. More...
 
virtual std::string id () const
 Return the id assigned to the PolyDriver. More...
 
virtual void setId (const std::string &id)
 Set the id for this device. 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 open (Searchable &config)
 Initialize the object. More...
 
virtual bool close ()
 Shut the object down. More...
 
virtual bool configure (Searchable &config)
 Change online parameters. More...
 
- Public Member Functions inherited from yarp::dev::IPositionDirect
virtual ~IPositionDirect ()
 Destructor. More...
 
virtual bool getAxes (int *ax)=0
 Get the number of controlled axes. More...
 
virtual bool setPosition (int j, double ref)=0
 Set new position for a single axis. More...
 
virtual bool setPositions (const int n_joint, const int *joints, const double *refs)=0
 Set new reference point for all axes. More...
 
virtual bool setPositions (const double *refs)=0
 Set new position for a set of axis. More...
 
virtual bool getRefPosition (const int joint, double *ref)
 Get the last position reference for the specified axis. More...
 
virtual bool getRefPositions (double *refs)
 Get the last position reference for all axes. More...
 
virtual bool getRefPositions (const int n_joint, const int *joints, double *refs)
 Get the last position reference for the specified group of axes. More...
 
- Public Member Functions inherited from yarp::dev::IInteractionMode
virtual ~IInteractionMode ()
 Destructor. More...
 
virtual bool getInteractionMode (int axis, yarp::dev::InteractionModeEnum *mode)=0
 Get the current interaction mode of the robot, values can be stiff or compliant. More...
 
virtual bool getInteractionModes (int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes)=0
 Get the current interaction mode of the robot for a set of joints, values can be stiff or compliant. More...
 
virtual bool getInteractionModes (yarp::dev::InteractionModeEnum *modes)=0
 Get the current interaction mode of the robot for a all the joints, values can be stiff or compliant. More...
 
virtual bool setInteractionMode (int axis, yarp::dev::InteractionModeEnum mode)=0
 Set the interaction mode of the robot, values can be stiff or compliant. More...
 
virtual bool setInteractionModes (int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes)=0
 Set the interaction mode of the robot for a set of joints, values can be stiff or compliant. More...
 
virtual bool setInteractionModes (yarp::dev::InteractionModeEnum *modes)=0
 Set the interaction mode of the robot for a all the joints, values can be stiff or compliant. 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 yarp::dev::IRemoteCalibratorgetCalibratorDevice ()
 getCalibratorDevice: return the pointer stored with the setCalibratorDevice More...
 
virtual bool isCalibratorDevicePresent (bool *isCalib)
 isCalibratorDevicePresent: check if a calibrator device has been set More...
 
virtual void releaseCalibratorDevice ()
 releaseCalibratorDevice: reset the internal pointer to NULL when stop using the calibrator More...
 
virtual bool calibrateSingleJoint (int j)=0
 calibrateSingleJoint: call the calibration procedure for the single joint More...
 
virtual bool calibrateWholePart ()=0
 calibrateWholePart: call the procedure for calibrating the whole device More...
 
virtual bool homingSingleJoint (int j)=0
 homingSingleJoint: call the homing procedure for a single joint More...
 
virtual bool homingWholePart ()=0
 homingWholePart: call the homing procedure for a the whole part/device More...
 
virtual bool parkSingleJoint (int j, bool _wait=true)=0
 parkSingleJoint(): start the parking procedure for the single joint More...
 
virtual bool parkWholePart ()=0
 parkWholePart: start the parking procedure for the whole part More...
 
virtual bool quitCalibrate ()=0
 quitCalibrate: interrupt the calibration procedure More...
 
virtual bool quitPark ()=0
 quitPark: interrupt the park procedure More...
 
- Public Member Functions inherited from yarp::dev::IRemoteVariables
virtual ~IRemoteVariables ()
 Destructor. More...
 
virtual bool getRemoteVariable (std::string key, yarp::os::Bottle &val)=0
 
virtual bool setRemoteVariable (std::string key, const yarp::os::Bottle &val)=0
 
virtual bool getRemoteVariablesList (yarp::os::Bottle *listOfKeys)=0
 
- Public Member Functions inherited from yarp::dev::IPWMControl
virtual ~IPWMControl ()
 
virtual bool getNumberOfMotors (int *number)=0
 Retrieves the number of controlled motors from the current physical interface. More...
 
virtual bool setRefDutyCycle (int m, double ref)=0
 Sets the reference dutycycle to a single motor. More...
 
virtual bool setRefDutyCycles (const double *refs)=0
 Sets the reference dutycycle for all the motors. More...
 
virtual bool getRefDutyCycle (int m, double *ref)=0
 Gets the last reference sent using the setRefDutyCycle function. More...
 
virtual bool getRefDutyCycles (double *refs)=0
 Gets the last reference sent using the setRefDutyCycles function. More...
 
virtual bool getDutyCycle (int m, double *val)=0
 Gets the current dutycycle of the output of the amplifier (i.e. More...
 
virtual bool getDutyCycles (double *vals)=0
 Gets the current dutycycle of the output of the amplifier (i.e. More...
 
- Public Member Functions inherited from yarp::dev::ICurrentControl
virtual ~ICurrentControl ()
 Destructor. More...
 
virtual bool getNumberOfMotors (int *ax)=0
 Retrieves the number of controlled axes from the current physical interface. More...
 
virtual bool getCurrent (int m, double *curr)=0
 Get the instantaneous current measurement for a single motor. More...
 
virtual bool getCurrents (double *currs)=0
 Get the instantaneous current measurement for all motors. More...
 
virtual bool getCurrentRange (int m, double *min, double *max)=0
 Get the full scale of the current measurement for a given motor (e.g. More...
 
virtual bool getCurrentRanges (double *min, double *max)=0
 Get the full scale of the current measurements for all motors motor (e.g. More...
 
virtual bool setRefCurrents (const double *currs)=0
 Set the reference value of the currents for all motors. More...
 
virtual bool setRefCurrent (int m, double curr)=0
 Set the reference value of the current for a single motor. More...
 
virtual bool setRefCurrents (const int n_motor, const int *motors, const double *currs)=0
 Set the reference value of the current for a group of motors. More...
 
virtual bool getRefCurrents (double *currs)=0
 Get the reference value of the currents for all motors. More...
 
virtual bool getRefCurrent (int m, double *curr)=0
 Get the reference value of the current for a single motor. More...
 
- Public Member Functions inherited from yarp::dev::IJointFault
virtual ~IJointFault ()
 
virtual bool getLastJointFault (int j, int &fault, std::string &message)=0
 

Protected Member Functions

bool isLive ()
 
bool checkProtocolVersion (bool ignore)
 
bool send1V (int v)
 
bool send2V (int v1, int v2)
 
bool send2V1I (int v1, int v2, int axis)
 
bool send1V1I (int v, int axis)
 
bool send3V1I (int v1, int v2, int v3, int j)
 
bool set1V (int code)
 Send a SET command without parameters and wait for a reply. More...
 
bool set1V2D (int code, double v)
 Send a SET command and an additional double valued variable and then wait for a reply. More...
 
bool set1V1I (int code, int v)
 Send a SET command with an additional integer valued variable and then wait for a reply. More...
 
bool get1V1D (int code, double &v) const
 Send a GET command expecting a double value in return. More...
 
bool get1V1I (int code, int &v) const
 Send a GET command expecting an integer value in return. More...
 
bool set1V1I1D (int code, int j, double val)
 Helper method to set a double value to a single axis. More...
 
bool set1V1I2D (int code, int j, double val1, double val2)
 
bool set1VDA (int v, const double *val)
 Helper method used to set an array of double to all axes. More...
 
bool set2V1DA (int v1, int v2, const double *val)
 
bool set2V2DA (int v1, int v2, const double *val1, const double *val2)
 
bool set1V1I1IA1DA (int v, const int len, const int *val1, const double *val2)
 
bool set2V1I1D (int v1, int v2, int axis, double val)
 
bool setValWithPidType (int voc, PidControlTypeEnum type, int axis, double val)
 
bool setValWithPidType (int voc, PidControlTypeEnum type, const double *val_arr)
 
bool getValWithPidType (int voc, PidControlTypeEnum type, int j, double *val)
 
bool getValWithPidType (int voc, PidControlTypeEnum type, double *val)
 
bool set2V1I (int v1, int v2, int axis)
 
bool get1V1I1D (int v, int j, double *val)
 Helper method used to get a double value from the remote peer. More...
 
bool get1V1I1I (int v, int j, int *val)
 Helper method used to get an integer value from the remote peer. More...
 
bool get2V1I1D (int v1, int v2, int j, double *val)
 
bool get2V1I2D (int v1, int v2, int j, double *val1, double *val2)
 
bool get1V1I2D (int code, int axis, double *v1, double *v2)
 
bool get1V1I1B (int v, int j, bool &val)
 Helper method used to get a double value from the remote peer. More...
 
bool get1V1I1IA1B (int v, const int len, const int *val1, bool &retVal)
 
bool get2V1I1IA1DA (int v1, int v2, const int n_joints, const int *joints, double *retVals, std::string functionName="")
 
bool get1V1B (int v, bool &val)
 
bool get1VIA (int v, int *val)
 Helper method to get an array of integers from the remote peer. More...
 
bool get1VDA (int v, double *val)
 Helper method to get an array of double from the remote peer. More...
 
bool get1V1DA (int v1, double *val)
 Helper method to get an array of double from the remote peer. More...
 
bool get2V1DA (int v1, int v2, double *val)
 Helper method to get an array of double from the remote peer. More...
 
bool get2V2DA (int v1, int v2, double *val1, double *val2)
 
bool get1V1I1S (int code, int j, std::string &name)
 
bool get1V1I1IA1DA (int v, const int len, const int *val1, double *val2)
 

Protected Attributes

yarp::os::Port rpc_p
 
yarp::os::Port command_p
 
DiagnosticThreaddiagnosticThread {nullptr}
 
yarp::os::PortReaderBuffer< yarp::sig::Vectorstate_buffer
 
yarp::os::PortWriterBuffer< CommandMessagecommand_buffer
 
bool writeStrict_singleJoint {true}
 
bool writeStrict_moreJoints {false}
 
StateExtendedInputPort extendedIntputStatePort
 
std::mutex extendedPortMutex
 
yarp::dev::impl::jointData last_singleJoint
 
yarp::dev::impl::jointData last_wholePart
 
std::string remote
 
std::string local
 
Stamp lastStamp
 
size_t nj {0}
 
bool njIsKnown {false}
 
ProtocolVersion protocolVersion
 

Detailed Description

remote_controlboard: The client side of the control board, connects to a remote controlboard using the YARP network.

This device communicates using the YARP ports opened the controlBoard_nws_yarp device to use a device exposing controlboard method even from a different process (or even computer) from the one that opened the controlboard device.

Parameters required by this device are:

Parameter name SubParameter Type Units Default Value Required Description Notes
remote - string - - Yes Prefix of the port to which to connect.
local - string - - Yes Port prefix of the port opened by this device.
writeStrict - string - See note No
carrier - string - udp No Specify the carrier used for reading state and sending references. This option does not change the carrier used by rpc, that is hardcoded to tcp.

Definition at line 66 of file RemoteControlBoard.h.

Constructor & Destructor Documentation

◆ RemoteControlBoard() [1/3]

RemoteControlBoard::RemoteControlBoard ( )
default

◆ RemoteControlBoard() [2/3]

RemoteControlBoard::RemoteControlBoard ( const RemoteControlBoard )
delete

◆ RemoteControlBoard() [3/3]

RemoteControlBoard::RemoteControlBoard ( RemoteControlBoard &&  )
delete

◆ ~RemoteControlBoard()

RemoteControlBoard::~RemoteControlBoard ( )
overridedefault

Member Function Documentation

◆ abortCalibration()

bool RemoteControlBoard::abortCalibration ( )
overridevirtual

Reimplemented from yarp::dev::IControlCalibration.

Definition at line 2068 of file RemoteControlBoard.cpp.

◆ abortPark()

bool RemoteControlBoard::abortPark ( )
overridevirtual

Reimplemented from yarp::dev::IControlCalibration.

Definition at line 2073 of file RemoteControlBoard.cpp.

◆ calibrateAxisWithParams()

bool RemoteControlBoard::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 2083 of file RemoteControlBoard.cpp.

◆ calibrateRobot()

bool RemoteControlBoard::calibrateRobot ( )
overridevirtual

Calibrate robot by using an external calibrator.

The external calibrator must be previously set by calling the setCalibration() method.

Returns
true/false on success failure

Reimplemented from yarp::dev::IControlCalibration.

Definition at line 2063 of file RemoteControlBoard.cpp.

◆ calibrateSingleJoint()

bool RemoteControlBoard::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 2711 of file RemoteControlBoard.cpp.

◆ calibrateWholePart()

bool RemoteControlBoard::calibrateWholePart ( )
overridevirtual

calibrateWholePart: call the procedure for calibrating the whole device

Returns
true if calibration was successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 2716 of file RemoteControlBoard.cpp.

◆ calibrationDone()

bool RemoteControlBoard::calibrationDone ( int  j)
overridevirtual

Check if the calibration is terminated, on a particular joint.

Non blocking.

Returns
true/false

Implements yarp::dev::IControlCalibration.

Definition at line 2122 of file RemoteControlBoard.cpp.

◆ checkMotionDone() [1/3]

bool RemoteControlBoard::checkMotionDone ( bool *  flag)
overridevirtual

Check if the current trajectory is terminated.

Non blocking.

Parameters
flagis a pointer to return value ("and" of all joints)
Returns
true/false on network communication (value you actually want is stored in *flag)

Implements yarp::dev::IPositionControl.

Definition at line 1792 of file RemoteControlBoard.cpp.

◆ checkMotionDone() [2/3]

bool RemoteControlBoard::checkMotionDone ( const int  n_joint,
const int *  joints,
bool *  flag 
)
overridevirtual

Check if the current trajectory is terminated.

Non blocking.

Parameters
jointspointer to the array of joint numbers
flagpointer to return value (logical "and" of all set of joints)
Returns
true/false if network communication went well.

Implements yarp::dev::IPositionControl.

Definition at line 1787 of file RemoteControlBoard.cpp.

◆ checkMotionDone() [3/3]

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

Check if the current trajectory is terminated.

Non blocking.

Parameters
jis the axis number
flagis a pointer to return value
Returns
true/false on network communication (value you actually want is stored in *flag)

Implements yarp::dev::IPositionControl.

Definition at line 1782 of file RemoteControlBoard.cpp.

◆ checkProtocolVersion()

bool RemoteControlBoard::checkProtocolVersion ( bool  ignore)
protected

Definition at line 116 of file RemoteControlBoard.cpp.

◆ close()

bool RemoteControlBoard::close ( )
overridevirtual

Close the device driver and stop the port connections.

Returns
true/false on success/failure.

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 392 of file RemoteControlBoard.cpp.

◆ disableAmp()

bool RemoteControlBoard::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 1953 of file RemoteControlBoard.cpp.

◆ disablePid()

bool RemoteControlBoard::disablePid ( const 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 1340 of file RemoteControlBoard.cpp.

◆ enableAmp()

bool RemoteControlBoard::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 1948 of file RemoteControlBoard.cpp.

◆ enablePid()

bool RemoteControlBoard::enablePid ( const 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 1355 of file RemoteControlBoard.cpp.

◆ get1V1B()

bool RemoteControlBoard::get1V1B ( int  v,
bool &  val 
)
protected

Definition at line 924 of file RemoteControlBoard.cpp.

◆ get1V1D()

bool RemoteControlBoard::get1V1D ( int  code,
double &  v 
) const
protected

Send a GET command expecting a double value in return.

Parameters
codeis the Vocab code of the GET command.
vis a reference to the return variable.
Returns
true/false on success/failure.

Definition at line 508 of file RemoteControlBoard.cpp.

◆ get1V1DA()

bool RemoteControlBoard::get1V1DA ( int  v1,
double *  val 
)
protected

Helper method to get an array of double from the remote peer.

Parameters
v1is the name of the command
valis the array of double
Returns
true/false on success/failure

Definition at line 992 of file RemoteControlBoard.cpp.

◆ get1V1I()

bool RemoteControlBoard::get1V1I ( int  code,
int &  v 
) const
protected

Send a GET command expecting an integer value in return.

Parameters
codeis the Vocab code of the GET command.
vis a reference to the return variable.
Returns
true/false on success/failure.

Definition at line 528 of file RemoteControlBoard.cpp.

◆ get1V1I1B()

bool RemoteControlBoard::get1V1I1B ( int  v,
int  j,
bool &  val 
)
protected

Helper method used to get a double value from the remote peer.

Parameters
vis the command to query for
jis the axis number
valis the return value
Returns
true/false on success/failure

Definition at line 842 of file RemoteControlBoard.cpp.

◆ get1V1I1D()

bool RemoteControlBoard::get1V1I1D ( int  v,
int  j,
double *  val 
)
protected

Helper method used to get a double value from the remote peer.

Parameters
vis the command to query for
jis the axis number
valis the return value
Returns
true/false on success/failure

Definition at line 752 of file RemoteControlBoard.cpp.

◆ get1V1I1I()

bool RemoteControlBoard::get1V1I1I ( int  v,
int  j,
int *  val 
)
protected

Helper method used to get an integer value from the remote peer.

Parameters
vis the command to query for
jis the axis number
valis the return value
Returns
true/false on success/failure

Definition at line 770 of file RemoteControlBoard.cpp.

◆ get1V1I1IA1B()

bool RemoteControlBoard::get1V1I1IA1B ( int  v,
const int  len,
const int *  val1,
bool &  retVal 
)
protected

Definition at line 857 of file RemoteControlBoard.cpp.

◆ get1V1I1IA1DA()

bool RemoteControlBoard::get1V1I1IA1DA ( int  v,
const int  len,
const int *  val1,
double *  val2 
)
protected

Definition at line 1103 of file RemoteControlBoard.cpp.

◆ get1V1I1S()

bool RemoteControlBoard::get1V1I1S ( int  code,
int  j,
std::string &  name 
)
protected

Definition at line 1087 of file RemoteControlBoard.cpp.

◆ get1V1I2D()

bool RemoteControlBoard::get1V1I2D ( int  code,
int  axis,
double *  v1,
double *  v2 
)
protected

Definition at line 825 of file RemoteControlBoard.cpp.

◆ get1VDA()

bool RemoteControlBoard::get1VDA ( int  v,
double *  val 
)
protected

Helper method to get an array of double from the remote peer.

Parameters
vis the name of the command
valis the array of double
Returns
true/false on success/failure

Definition at line 965 of file RemoteControlBoard.cpp.

◆ get1VIA()

bool RemoteControlBoard::get1VIA ( int  v,
int *  val 
)
protected

Helper method to get an array of integers from the remote peer.

Parameters
vis the name of the command
valis the array of double
Returns
true/false on success/failure

Definition at line 938 of file RemoteControlBoard.cpp.

◆ get2V1DA()

bool RemoteControlBoard::get2V1DA ( int  v1,
int  v2,
double *  val 
)
protected

Helper method to get an array of double from the remote peer.

Parameters
v1is the name of the command
v2v2
valis the array of double
Returns
true/false on success/failure

Definition at line 1019 of file RemoteControlBoard.cpp.

◆ get2V1I1D()

bool RemoteControlBoard::get2V1I1D ( int  v1,
int  v2,
int  j,
double *  val 
)
protected

Definition at line 787 of file RemoteControlBoard.cpp.

◆ get2V1I1IA1DA()

bool RemoteControlBoard::get2V1I1IA1DA ( int  v1,
int  v2,
const int  n_joints,
const int *  joints,
double *  retVals,
std::string  functionName = "" 
)
protected

Definition at line 878 of file RemoteControlBoard.cpp.

◆ get2V1I2D()

bool RemoteControlBoard::get2V1I2D ( int  v1,
int  v2,
int  j,
double *  val1,
double *  val2 
)
protected

Definition at line 806 of file RemoteControlBoard.cpp.

◆ get2V2DA()

bool RemoteControlBoard::get2V2DA ( int  v1,
int  v2,
double *  val1,
double *  val2 
)
protected

Definition at line 1047 of file RemoteControlBoard.cpp.

◆ getAmpStatus() [1/2]

bool RemoteControlBoard::getAmpStatus ( int *  st)
overridevirtual

Implements yarp::dev::IAmplifierControl.

Definition at line 1958 of file RemoteControlBoard.cpp.

◆ getAmpStatus() [2/2]

bool RemoteControlBoard::getAmpStatus ( int  j,
int *  st 
)
overridevirtual

Implements yarp::dev::IAmplifierControl.

Definition at line 1963 of file RemoteControlBoard.cpp.

◆ getAxes()

bool RemoteControlBoard::getAxes ( int *  ax)
overridevirtual

Get the number of controlled axes.

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

Returns
the number of controlled axes.

Implements yarp::dev::IImpedanceControl.

Definition at line 1145 of file RemoteControlBoard.cpp.

◆ getAxisName()

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

Implements yarp::dev::IAxisInfo.

Definition at line 2050 of file RemoteControlBoard.cpp.

◆ getControlMode()

bool RemoteControlBoard::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 2385 of file RemoteControlBoard.cpp.

◆ getControlModes() [1/2]

bool RemoteControlBoard::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 2403 of file RemoteControlBoard.cpp.

◆ getControlModes() [2/2]

bool RemoteControlBoard::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 2394 of file RemoteControlBoard.cpp.

◆ getCurrent()

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

Implements yarp::dev::IAmplifierControl.

Definition at line 2851 of file RemoteControlBoard.cpp.

◆ getCurrentImpedanceLimit()

bool RemoteControlBoard::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 2358 of file RemoteControlBoard.cpp.

◆ getCurrentRange()

bool RemoteControlBoard::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 2860 of file RemoteControlBoard.cpp.

◆ getCurrentRanges()

bool RemoteControlBoard::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 2865 of file RemoteControlBoard.cpp.

◆ getCurrents()

bool RemoteControlBoard::getCurrents ( double *  vals)
overridevirtual

Implements yarp::dev::IAmplifierControl.

Definition at line 2842 of file RemoteControlBoard.cpp.

◆ getDutyCycle()

bool RemoteControlBoard::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 2941 of file RemoteControlBoard.cpp.

◆ getDutyCycles()

bool RemoteControlBoard::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 2950 of file RemoteControlBoard.cpp.

◆ getEncoder()

bool RemoteControlBoard::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 1426 of file RemoteControlBoard.cpp.

◆ getEncoderAcceleration()

bool RemoteControlBoard::getEncoderAcceleration ( int  j,
double *  spds 
)
overridevirtual

Read the instantaneous acceleration of an axis.

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

Implements yarp::dev::IEncoders.

Definition at line 1489 of file RemoteControlBoard.cpp.

◆ getEncoderAccelerations()

bool RemoteControlBoard::getEncoderAccelerations ( double *  accs)
overridevirtual

Read the instantaneous 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 1498 of file RemoteControlBoard.cpp.

◆ getEncoders()

bool RemoteControlBoard::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 1447 of file RemoteControlBoard.cpp.

◆ getEncoderSpeed()

bool RemoteControlBoard::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 1469 of file RemoteControlBoard.cpp.

◆ getEncoderSpeeds()

bool RemoteControlBoard::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 1479 of file RemoteControlBoard.cpp.

◆ getEncodersTimed()

bool RemoteControlBoard::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 1458 of file RemoteControlBoard.cpp.

◆ getEncoderTimed()

bool RemoteControlBoard::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 1436 of file RemoteControlBoard.cpp.

◆ getGearboxRatio()

bool RemoteControlBoard::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 1588 of file RemoteControlBoard.cpp.

◆ getImpedance()

bool RemoteControlBoard::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 2286 of file RemoteControlBoard.cpp.

◆ getImpedanceOffset()

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

Get current force Offset for a specific joint.

Returns
success/failure

Implements yarp::dev::IImpedanceControl.

Definition at line 2307 of file RemoteControlBoard.cpp.

◆ getInteractionMode()

bool RemoteControlBoard::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 2592 of file RemoteControlBoard.cpp.

◆ getInteractionModes() [1/2]

bool RemoteControlBoard::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 2601 of file RemoteControlBoard.cpp.

◆ getInteractionModes() [2/2]

bool RemoteControlBoard::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 2620 of file RemoteControlBoard.cpp.

◆ getJointType()

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

Reimplemented from yarp::dev::IAxisInfo.

Definition at line 2055 of file RemoteControlBoard.cpp.

◆ getLastInputStamp()

Stamp RemoteControlBoard::getLastInputStamp ( )
overridevirtual

Get the time stamp for the last read data.

Returns
last time stamp.

Implements yarp::dev::IPreciselyTimed.

Definition at line 1724 of file RemoteControlBoard.cpp.

◆ getLastJointFault()

bool RemoteControlBoard::getLastJointFault ( int  j,
int &  fault,
std::string &  message 
)
overridevirtual

Implements yarp::dev::IJointFault.

Definition at line 1889 of file RemoteControlBoard.cpp.

◆ getLimits()

bool RemoteControlBoard::getLimits ( int  axis,
double *  min,
double *  max 
)
overridevirtual

Get the software limits for a particular axis.

Parameters
axisjoint number
pointerto store the value of the lower limit
pointerto store the value of the upper limit
Returns
true if everything goes fine, false otherwise.

Implements yarp::dev::IControlLimits.

Definition at line 2031 of file RemoteControlBoard.cpp.

◆ getMaxCurrent()

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

Returns the maximum electric current allowed for a given motor.

Exceeding this value will trigger instantaneous hardware fault.

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

Implements yarp::dev::IAmplifierControl.

Definition at line 1973 of file RemoteControlBoard.cpp.

◆ getMotorEncoder()

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

Read the value of a motor encoder.

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

Implements yarp::dev::IMotorEncoders.

Definition at line 1632 of file RemoteControlBoard.cpp.

◆ getMotorEncoderAcceleration()

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

Read the instantaneous acceleration of a motor encoder.

Parameters
mmotor number
accpointer to the array that will contain the output
Returns
true if successful, false otherwise.

Implements yarp::dev::IMotorEncoders.

Definition at line 1693 of file RemoteControlBoard.cpp.

◆ getMotorEncoderAccelerations()

bool RemoteControlBoard::getMotorEncoderAccelerations ( double *  accs)
overridevirtual

Read the instantaneous acceleration of all motor encoders.

Parameters
accspointer to the array that will contain the output
Returns
true if successful, false otherwise.

Implements yarp::dev::IMotorEncoders.

Definition at line 1702 of file RemoteControlBoard.cpp.

◆ getMotorEncoderCountsPerRevolution()

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

Gets number of counts per revolution for motor encoder m.

Parameters
mmotor number
cprvals pointer to the new value
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 1622 of file RemoteControlBoard.cpp.

◆ getMotorEncoders()

bool RemoteControlBoard::getMotorEncoders ( double *  encs)
overridevirtual

Read the position of all motor encoders.

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

Implements yarp::dev::IMotorEncoders.

Definition at line 1653 of file RemoteControlBoard.cpp.

◆ getMotorEncoderSpeed()

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

Read the istantaneous speed of a motor encoder.

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

Implements yarp::dev::IMotorEncoders.

Definition at line 1675 of file RemoteControlBoard.cpp.

◆ getMotorEncoderSpeeds()

bool RemoteControlBoard::getMotorEncoderSpeeds ( double *  spds)
overridevirtual

Read the instantaneous speed of all motor encoders.

Parameters
spdspointer to storage for the output values
Returns
true if successful, false otherwise.

Implements yarp::dev::IMotorEncoders.

Definition at line 1684 of file RemoteControlBoard.cpp.

◆ getMotorEncodersTimed()

bool RemoteControlBoard::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 1664 of file RemoteControlBoard.cpp.

◆ getMotorEncoderTimed()

bool RemoteControlBoard::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 1642 of file RemoteControlBoard.cpp.

◆ getMotorTorqueParams()

bool RemoteControlBoard::getMotorTorqueParams ( int  j,
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 2222 of file RemoteControlBoard.cpp.

◆ getNominalCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1978 of file RemoteControlBoard.cpp.

◆ getNumberOfMotorEncoders()

bool RemoteControlBoard::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 1711 of file RemoteControlBoard.cpp.

◆ getNumberOfMotors()

bool RemoteControlBoard::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 1563 of file RemoteControlBoard.cpp.

◆ getPeakCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1988 of file RemoteControlBoard.cpp.

◆ getPid()

bool RemoteControlBoard::getPid ( const PidControlTypeEnum pidtype,
int  j,
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 1234 of file RemoteControlBoard.cpp.

◆ getPidError()

bool RemoteControlBoard::getPidError ( const 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 1224 of file RemoteControlBoard.cpp.

◆ getPidErrorLimit()

bool RemoteControlBoard::getPidErrorLimit ( const 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 1315 of file RemoteControlBoard.cpp.

◆ getPidErrorLimits()

bool RemoteControlBoard::getPidErrorLimits ( const 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 1320 of file RemoteControlBoard.cpp.

◆ getPidErrors()

bool RemoteControlBoard::getPidErrors ( const 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 1229 of file RemoteControlBoard.cpp.

◆ getPidOutput()

bool RemoteControlBoard::getPidOutput ( const 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 1387 of file RemoteControlBoard.cpp.

◆ getPidOutputs()

bool RemoteControlBoard::getPidOutputs ( const 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 1392 of file RemoteControlBoard.cpp.

◆ getPidReference()

bool RemoteControlBoard::getPidReference ( const 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 1305 of file RemoteControlBoard.cpp.

◆ getPidReferences()

bool RemoteControlBoard::getPidReferences ( const 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 1310 of file RemoteControlBoard.cpp.

◆ getPids()

bool RemoteControlBoard::getPids ( const PidControlTypeEnum pidtype,
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 1264 of file RemoteControlBoard.cpp.

◆ getPowerSupplyVoltage()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 2017 of file RemoteControlBoard.cpp.

◆ getPWM()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1998 of file RemoteControlBoard.cpp.

◆ getPWMLimit()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 2007 of file RemoteControlBoard.cpp.

◆ getRefAcceleration()

bool RemoteControlBoard::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 1842 of file RemoteControlBoard.cpp.

◆ getRefAccelerations() [1/2]

bool RemoteControlBoard::getRefAccelerations ( const int  n_joint,
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 1847 of file RemoteControlBoard.cpp.

◆ getRefAccelerations() [2/2]

bool RemoteControlBoard::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 1852 of file RemoteControlBoard.cpp.

◆ getRefCurrent()

bool RemoteControlBoard::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 2786 of file RemoteControlBoard.cpp.

◆ getRefCurrents()

bool RemoteControlBoard::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 2781 of file RemoteControlBoard.cpp.

◆ getRefDutyCycle()

bool RemoteControlBoard::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 2913 of file RemoteControlBoard.cpp.

◆ getRefDutyCycles()

bool RemoteControlBoard::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 2936 of file RemoteControlBoard.cpp.

◆ getRefPosition()

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

Get the last position reference for the specified axis.

This is the dual of setPositionsRaw 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 2534 of file RemoteControlBoard.cpp.

◆ getRefPositions() [1/2]

bool RemoteControlBoard::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 setPositionsRaw 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 2544 of file RemoteControlBoard.cpp.

◆ getRefPositions() [2/2]

bool RemoteControlBoard::getRefPositions ( double *  refs)
overridevirtual

Get the last position reference for all axes.

This is the dual of setPositionsRaw 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 2539 of file RemoteControlBoard.cpp.

◆ getRefSpeed()

bool RemoteControlBoard::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 1827 of file RemoteControlBoard.cpp.

◆ getRefSpeeds() [1/2]

bool RemoteControlBoard::getRefSpeeds ( const int  n_joint,
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 1832 of file RemoteControlBoard.cpp.

◆ getRefSpeeds() [2/2]

bool RemoteControlBoard::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.

Implements yarp::dev::IPositionControl.

Definition at line 1837 of file RemoteControlBoard.cpp.

◆ getRefTorque()

bool RemoteControlBoard::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 2131 of file RemoteControlBoard.cpp.

◆ getRefTorques()

bool RemoteControlBoard::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 2136 of file RemoteControlBoard.cpp.

◆ getRefVelocities() [1/2]

bool RemoteControlBoard::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 2583 of file RemoteControlBoard.cpp.

◆ getRefVelocities() [2/2]

bool RemoteControlBoard::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 2578 of file RemoteControlBoard.cpp.

◆ getRefVelocity()

bool RemoteControlBoard::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 2573 of file RemoteControlBoard.cpp.

◆ getRemoteVariable()

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

Implements yarp::dev::IRemoteVariables.

Definition at line 1511 of file RemoteControlBoard.cpp.

◆ getRemoteVariablesList()

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

Implements yarp::dev::IRemoteVariables.

Definition at line 1542 of file RemoteControlBoard.cpp.

◆ getTargetPosition()

bool RemoteControlBoard::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 1752 of file RemoteControlBoard.cpp.

◆ getTargetPositions() [1/2]

bool RemoteControlBoard::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 1762 of file RemoteControlBoard.cpp.

◆ getTargetPositions() [2/2]

bool RemoteControlBoard::getTargetPositions ( double *  refs)
overridevirtual

Get the last position reference for all 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 1757 of file RemoteControlBoard.cpp.

◆ getTemperature()

bool RemoteControlBoard::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 1568 of file RemoteControlBoard.cpp.

◆ getTemperatureLimit()

bool RemoteControlBoard::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 1578 of file RemoteControlBoard.cpp.

◆ getTemperatures()

bool RemoteControlBoard::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 1573 of file RemoteControlBoard.cpp.

◆ getTorque()

bool RemoteControlBoard::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 2254 of file RemoteControlBoard.cpp.

◆ getTorqueRange()

bool RemoteControlBoard::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 2272 of file RemoteControlBoard.cpp.

◆ getTorqueRanges()

bool RemoteControlBoard::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 2277 of file RemoteControlBoard.cpp.

◆ getTorques()

bool RemoteControlBoard::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 2263 of file RemoteControlBoard.cpp.

◆ getValWithPidType() [1/2]

bool RemoteControlBoard::getValWithPidType ( int  voc,
PidControlTypeEnum  type,
double *  val 
)
protected

Definition at line 713 of file RemoteControlBoard.cpp.

◆ getValWithPidType() [2/2]

bool RemoteControlBoard::getValWithPidType ( int  voc,
PidControlTypeEnum  type,
int  j,
double *  val 
)
protected

Definition at line 694 of file RemoteControlBoard.cpp.

◆ getVelLimits()

bool RemoteControlBoard::getVelLimits ( int  axis,
double *  min,
double *  max 
)
overridevirtual

Get the software speed limits for a particular axis.

Parameters
axisjoint 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 otherwise.

Implements yarp::dev::IControlLimits.

Definition at line 2041 of file RemoteControlBoard.cpp.

◆ homingSingleJoint()

bool RemoteControlBoard::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 2726 of file RemoteControlBoard.cpp.

◆ homingWholePart()

bool RemoteControlBoard::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 2731 of file RemoteControlBoard.cpp.

◆ isCalibratorDevicePresent()

bool RemoteControlBoard::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 2696 of file RemoteControlBoard.cpp.

◆ isLive()

bool RemoteControlBoard::isLive ( )
protected

Definition at line 102 of file RemoteControlBoard.cpp.

◆ isPidEnabled()

bool RemoteControlBoard::isPidEnabled ( const 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 1370 of file RemoteControlBoard.cpp.

◆ open()

bool RemoteControlBoard::open ( Searchable config)
overridevirtual

Open the DeviceDriver.

Parameters
configis a list of parameters for the device. Which parameters are effective for your device can vary. See device invocation examples. If there is no example for your device, you can run the "yarpdev" program with the verbose flag set to probe what parameters the device is checking. If that fails too, you'll need to read the source code (please nag one of the yarp developers to add documentation for your device).
Returns
true/false upon success/failure

Reimplemented from yarp::dev::DeviceDriver.

Definition at line 179 of file RemoteControlBoard.cpp.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

RemoteControlBoard & RemoteControlBoard::operator= ( RemoteControlBoard &&  )
delete

◆ park()

bool RemoteControlBoard::park ( bool  wait = true)
overridevirtual

Reimplemented from yarp::dev::IControlCalibration.

Definition at line 2078 of file RemoteControlBoard.cpp.

◆ parkSingleJoint()

bool RemoteControlBoard::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 2742 of file RemoteControlBoard.cpp.

◆ parkWholePart()

bool RemoteControlBoard::parkWholePart ( )
overridevirtual

parkWholePart: start the parking procedure for the whole part

Returns
true if successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 2747 of file RemoteControlBoard.cpp.

◆ positionMove() [1/3]

bool RemoteControlBoard::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 1747 of file RemoteControlBoard.cpp.

◆ positionMove() [2/3]

bool RemoteControlBoard::positionMove ( const int  n_joint,
const int *  joints,
const double *  refs 
)
overridevirtual

Set new reference point for a subset of joints.

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 1742 of file RemoteControlBoard.cpp.

◆ positionMove() [3/3]

bool RemoteControlBoard::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 1737 of file RemoteControlBoard.cpp.

◆ quitCalibrate()

bool RemoteControlBoard::quitCalibrate ( )
overridevirtual

quitCalibrate: interrupt the calibration procedure

Returns
true if successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 2757 of file RemoteControlBoard.cpp.

◆ quitPark()

bool RemoteControlBoard::quitPark ( )
overridevirtual

quitPark: interrupt the park procedure

Returns
true if successful

Implements yarp::dev::IRemoteCalibrator.

Definition at line 2767 of file RemoteControlBoard.cpp.

◆ relativeMove() [1/3]

bool RemoteControlBoard::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 1777 of file RemoteControlBoard.cpp.

◆ relativeMove() [2/3]

bool RemoteControlBoard::relativeMove ( const int  n_joint,
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 1772 of file RemoteControlBoard.cpp.

◆ relativeMove() [3/3]

bool RemoteControlBoard::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 1767 of file RemoteControlBoard.cpp.

◆ resetEncoder()

bool RemoteControlBoard::resetEncoder ( int  j)
overridevirtual

Reset encoder, single joint.

Set the encoder value to zero

Parameters
jencoder number
Returns
true/false

Implements yarp::dev::IEncoders.

Definition at line 1406 of file RemoteControlBoard.cpp.

◆ resetEncoders()

bool RemoteControlBoard::resetEncoders ( )
overridevirtual

Reset encoders.

Set the encoders value to zero

Returns
true/false

Implements yarp::dev::IEncoders.

Definition at line 1411 of file RemoteControlBoard.cpp.

◆ resetMotorEncoder()

bool RemoteControlBoard::resetMotorEncoder ( int  m)
overridevirtual

Reset motor encoder, single motor.

Set the encoder value to zero.

Parameters
mmotor number
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 1602 of file RemoteControlBoard.cpp.

◆ resetMotorEncoders()

bool RemoteControlBoard::resetMotorEncoders ( )
overridevirtual

Reset motor encoders.

Set the motor encoders value to zero.

Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 1607 of file RemoteControlBoard.cpp.

◆ resetPid()

bool RemoteControlBoard::resetPid ( const 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 1325 of file RemoteControlBoard.cpp.

◆ send1V()

bool RemoteControlBoard::send1V ( int  v)
protected

Definition at line 412 of file RemoteControlBoard.cpp.

◆ send1V1I()

bool RemoteControlBoard::send1V1I ( int  v,
int  axis 
)
protected

Definition at line 448 of file RemoteControlBoard.cpp.

◆ send2V()

bool RemoteControlBoard::send2V ( int  v1,
int  v2 
)
protected

Definition at line 423 of file RemoteControlBoard.cpp.

◆ send2V1I()

bool RemoteControlBoard::send2V1I ( int  v1,
int  v2,
int  axis 
)
protected

Definition at line 435 of file RemoteControlBoard.cpp.

◆ send3V1I()

bool RemoteControlBoard::send3V1I ( int  v1,
int  v2,
int  v3,
int  j 
)
protected

Definition at line 460 of file RemoteControlBoard.cpp.

◆ set1V()

bool RemoteControlBoard::set1V ( int  code)
protected

Send a SET command without parameters and wait for a reply.

Parameters
codeis the command Vocab identifier.
Returns
true/false on success/failure.

Definition at line 474 of file RemoteControlBoard.cpp.

◆ set1V1I()

bool RemoteControlBoard::set1V1I ( int  code,
int  v 
)
protected

Send a SET command with an additional integer valued variable and then wait for a reply.

Parameters
codeis the command to send.
vis an integer valued parameter.
Returns
true/false on success/failure.

Definition at line 496 of file RemoteControlBoard.cpp.

◆ set1V1I1D()

bool RemoteControlBoard::set1V1I1D ( int  code,
int  j,
double  val 
)
protected

Helper method to set a double value to a single axis.

Parameters
codeis the name of the command to be transmitted
jis the axis
valis the double value
Returns
true/false on success/failure

Definition at line 548 of file RemoteControlBoard.cpp.

◆ set1V1I1IA1DA()

bool RemoteControlBoard::set1V1I1IA1DA ( int  v,
const int  len,
const int *  val1,
const double *  val2 
)
protected

Definition at line 626 of file RemoteControlBoard.cpp.

◆ set1V1I2D()

bool RemoteControlBoard::set1V1I2D ( int  code,
int  j,
double  val1,
double  val2 
)
protected

Definition at line 559 of file RemoteControlBoard.cpp.

◆ set1V2D()

bool RemoteControlBoard::set1V2D ( int  code,
double  v 
)
protected

Send a SET command and an additional double valued variable and then wait for a reply.

Parameters
codeis the command to send.
vis a double valued parameter.
Returns
true/false on success/failure.

Definition at line 484 of file RemoteControlBoard.cpp.

◆ set1VDA()

bool RemoteControlBoard::set1VDA ( int  v,
const double *  val 
)
protected

Helper method used to set an array of double to all axes.

Parameters
vis the command to set
valis the double array (of length nj)
Returns
true/false on success/failure

Definition at line 572 of file RemoteControlBoard.cpp.

◆ set2V1DA()

bool RemoteControlBoard::set2V1DA ( int  v1,
int  v2,
const double *  val 
)
protected

Definition at line 588 of file RemoteControlBoard.cpp.

◆ set2V1I()

bool RemoteControlBoard::set2V1I ( int  v1,
int  v2,
int  axis 
)
protected

Definition at line 741 of file RemoteControlBoard.cpp.

◆ set2V1I1D()

bool RemoteControlBoard::set2V1I1D ( int  v1,
int  v2,
int  axis,
double  val 
)
protected

Definition at line 648 of file RemoteControlBoard.cpp.

◆ set2V2DA()

bool RemoteControlBoard::set2V2DA ( int  v1,
int  v2,
const double *  val1,
const double *  val2 
)
protected

Definition at line 605 of file RemoteControlBoard.cpp.

◆ setCalibrationParameters()

bool RemoteControlBoard::setCalibrationParameters ( int  axis,
const 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 2102 of file RemoteControlBoard.cpp.

◆ setControlMode()

bool RemoteControlBoard::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 2422 of file RemoteControlBoard.cpp.

◆ setControlModes() [1/2]

bool RemoteControlBoard::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 2438 of file RemoteControlBoard.cpp.

◆ setControlModes() [2/2]

bool RemoteControlBoard::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 2463 of file RemoteControlBoard.cpp.

◆ setEncoder()

bool RemoteControlBoard::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 1416 of file RemoteControlBoard.cpp.

◆ setEncoders()

bool RemoteControlBoard::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 1421 of file RemoteControlBoard.cpp.

◆ setGearboxRatio()

bool RemoteControlBoard::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 1593 of file RemoteControlBoard.cpp.

◆ setImpedance()

bool RemoteControlBoard::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 2327 of file RemoteControlBoard.cpp.

◆ setImpedanceOffset()

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

Set current force Offset for a specific joint.

Returns
success/failure

Implements yarp::dev::IImpedanceControl.

Definition at line 2343 of file RemoteControlBoard.cpp.

◆ setInteractionMode()

bool RemoteControlBoard::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 2629 of file RemoteControlBoard.cpp.

◆ setInteractionModes() [1/2]

bool RemoteControlBoard::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 2646 of file RemoteControlBoard.cpp.

◆ setInteractionModes() [2/2]

bool RemoteControlBoard::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 2672 of file RemoteControlBoard.cpp.

◆ setLimits()

bool RemoteControlBoard::setLimits ( int  axis,
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
axisjoint 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 2026 of file RemoteControlBoard.cpp.

◆ setMaxCurrent()

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

Implements yarp::dev::IAmplifierControl.

Definition at line 1968 of file RemoteControlBoard.cpp.

◆ setMotorEncoder()

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

Set the value of the motor encoder for a given motor.

Parameters
mmotor number
valnew value
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 1612 of file RemoteControlBoard.cpp.

◆ setMotorEncoderCountsPerRevolution()

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

Sets number of counts per revolution for motor encoder m.

Parameters
mmotor number
cprnew value
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 1617 of file RemoteControlBoard.cpp.

◆ setMotorEncoders()

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

Set the value of all motor encoders.

Parameters
valspointer to the new values
Returns
true/false

Implements yarp::dev::IMotorEncoders.

Definition at line 1627 of file RemoteControlBoard.cpp.

◆ setMotorTorqueParams()

bool RemoteControlBoard::setMotorTorqueParams ( int  j,
const 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 2202 of file RemoteControlBoard.cpp.

◆ setNominalCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1983 of file RemoteControlBoard.cpp.

◆ setPeakCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1993 of file RemoteControlBoard.cpp.

◆ setPid()

bool RemoteControlBoard::setPid ( const PidControlTypeEnum pidtype,
int  j,
const 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 1152 of file RemoteControlBoard.cpp.

◆ setPidErrorLimit()

bool RemoteControlBoard::setPidErrorLimit ( const 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 1214 of file RemoteControlBoard.cpp.

◆ setPidErrorLimits()

bool RemoteControlBoard::setPidErrorLimits ( const 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 1219 of file RemoteControlBoard.cpp.

◆ setPidOffset()

bool RemoteControlBoard::setPidOffset ( const 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 1397 of file RemoteControlBoard.cpp.

◆ setPidReference()

bool RemoteControlBoard::setPidReference ( const 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 1204 of file RemoteControlBoard.cpp.

◆ setPidReferences()

bool RemoteControlBoard::setPidReferences ( const 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 1209 of file RemoteControlBoard.cpp.

◆ setPids()

bool RemoteControlBoard::setPids ( const PidControlTypeEnum pidtype,
const 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 1175 of file RemoteControlBoard.cpp.

◆ setPosition()

bool RemoteControlBoard::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 2486 of file RemoteControlBoard.cpp.

◆ setPositions() [1/2]

bool RemoteControlBoard::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 2520 of file RemoteControlBoard.cpp.

◆ setPositions() [2/2]

bool RemoteControlBoard::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 2501 of file RemoteControlBoard.cpp.

◆ setPWMLimit()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 2012 of file RemoteControlBoard.cpp.

◆ setRefAcceleration()

bool RemoteControlBoard::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 1812 of file RemoteControlBoard.cpp.

◆ setRefAccelerations() [1/2]

bool RemoteControlBoard::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 1822 of file RemoteControlBoard.cpp.

◆ setRefAccelerations() [2/2]

bool RemoteControlBoard::setRefAccelerations ( const int  n_joint,
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 1817 of file RemoteControlBoard.cpp.

◆ setRefCurrent()

bool RemoteControlBoard::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 2806 of file RemoteControlBoard.cpp.

◆ setRefCurrents() [1/2]

bool RemoteControlBoard::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 2791 of file RemoteControlBoard.cpp.

◆ setRefCurrents() [2/2]

bool RemoteControlBoard::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 2822 of file RemoteControlBoard.cpp.

◆ setRefDutyCycle()

bool RemoteControlBoard::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 2873 of file RemoteControlBoard.cpp.

◆ setRefDutyCycles()

bool RemoteControlBoard::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 2893 of file RemoteControlBoard.cpp.

◆ setRefSpeed()

bool RemoteControlBoard::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 1797 of file RemoteControlBoard.cpp.

◆ setRefSpeeds() [1/2]

bool RemoteControlBoard::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 1807 of file RemoteControlBoard.cpp.

◆ setRefSpeeds() [2/2]

bool RemoteControlBoard::setRefSpeeds ( const int  n_joint,
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 1802 of file RemoteControlBoard.cpp.

◆ setRefTorque()

bool RemoteControlBoard::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 2160 of file RemoteControlBoard.cpp.

◆ setRefTorques() [1/2]

bool RemoteControlBoard::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 2141 of file RemoteControlBoard.cpp.

◆ setRefTorques() [2/2]

bool RemoteControlBoard::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 2180 of file RemoteControlBoard.cpp.

◆ setRemoteVariable()

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

Implements yarp::dev::IRemoteVariables.

Definition at line 1527 of file RemoteControlBoard.cpp.

◆ setTemperatureLimit()

bool RemoteControlBoard::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 1583 of file RemoteControlBoard.cpp.

◆ setValWithPidType() [1/2]

bool RemoteControlBoard::setValWithPidType ( int  voc,
PidControlTypeEnum  type,
const double *  val_arr 
)
protected

Definition at line 676 of file RemoteControlBoard.cpp.

◆ setValWithPidType() [2/2]

bool RemoteControlBoard::setValWithPidType ( int  voc,
PidControlTypeEnum  type,
int  axis,
double  val 
)
protected

Definition at line 660 of file RemoteControlBoard.cpp.

◆ setVelLimits()

bool RemoteControlBoard::setVelLimits ( int  axis,
double  min,
double  max 
)
overridevirtual

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

Parameters
axisjoint 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 2036 of file RemoteControlBoard.cpp.

◆ stop() [1/3]

bool RemoteControlBoard::stop ( )
overridevirtual

Stop motion, multiple joints.

Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1881 of file RemoteControlBoard.cpp.

◆ stop() [2/3]

bool RemoteControlBoard::stop ( const int  n_joint,
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 1862 of file RemoteControlBoard.cpp.

◆ stop() [3/3]

bool RemoteControlBoard::stop ( int  j)
overridevirtual

Stop motion, single joint.

Parameters
jjoint number
Returns
true/false on success/failure

Implements yarp::dev::IPositionControl.

Definition at line 1857 of file RemoteControlBoard.cpp.

◆ velocityMove() [1/3]

bool RemoteControlBoard::velocityMove ( const double *  sp)
overridevirtual

Start motion at a given speed, multiple joints.

Parameters
sppointer to the array containing the new speed values
Returns
true/false upon success/failure

Implements yarp::dev::IVelocityControl.

Definition at line 1930 of file RemoteControlBoard.cpp.

◆ velocityMove() [2/3]

bool RemoteControlBoard::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 2553 of file RemoteControlBoard.cpp.

◆ velocityMove() [3/3]

bool RemoteControlBoard::velocityMove ( int  j,
double  sp 
)
overridevirtual

Start motion at a given speed, single joint.

Parameters
jjoint number
spspeed value
Returns
bool/false upone success/failure

Implements yarp::dev::IVelocityControl.

Definition at line 1914 of file RemoteControlBoard.cpp.

Member Data Documentation

◆ command_buffer

yarp::os::PortWriterBuffer<CommandMessage> RemoteControlBoard::command_buffer
protected

Definition at line 96 of file RemoteControlBoard.h.

◆ command_p

yarp::os::Port RemoteControlBoard::command_p
protected

Definition at line 92 of file RemoteControlBoard.h.

◆ diagnosticThread

DiagnosticThread* RemoteControlBoard::diagnosticThread {nullptr}
protected

Definition at line 93 of file RemoteControlBoard.h.

◆ extendedIntputStatePort

StateExtendedInputPort RemoteControlBoard::extendedIntputStatePort
protected

Definition at line 103 of file RemoteControlBoard.h.

◆ extendedPortMutex

std::mutex RemoteControlBoard::extendedPortMutex
protected

Definition at line 104 of file RemoteControlBoard.h.

◆ last_singleJoint

yarp::dev::impl::jointData RemoteControlBoard::last_singleJoint
protected

Definition at line 105 of file RemoteControlBoard.h.

◆ last_wholePart

yarp::dev::impl::jointData RemoteControlBoard::last_wholePart
protected

Definition at line 107 of file RemoteControlBoard.h.

◆ lastStamp

Stamp RemoteControlBoard::lastStamp
mutableprotected

Definition at line 111 of file RemoteControlBoard.h.

◆ local

std::string RemoteControlBoard::local
protected

Definition at line 110 of file RemoteControlBoard.h.

◆ nj

size_t RemoteControlBoard::nj {0}
protected

Definition at line 112 of file RemoteControlBoard.h.

◆ njIsKnown

bool RemoteControlBoard::njIsKnown {false}
protected

Definition at line 113 of file RemoteControlBoard.h.

◆ protocolVersion

ProtocolVersion RemoteControlBoard::protocolVersion
protected

Definition at line 115 of file RemoteControlBoard.h.

◆ remote

std::string RemoteControlBoard::remote
protected

Definition at line 109 of file RemoteControlBoard.h.

◆ rpc_p

yarp::os::Port RemoteControlBoard::rpc_p
protected

Definition at line 91 of file RemoteControlBoard.h.

◆ state_buffer

yarp::os::PortReaderBuffer<yarp::sig::Vector> RemoteControlBoard::state_buffer
protected

Definition at line 95 of file RemoteControlBoard.h.

◆ writeStrict_moreJoints

bool RemoteControlBoard::writeStrict_moreJoints {false}
protected

Definition at line 98 of file RemoteControlBoard.h.

◆ writeStrict_singleJoint

bool RemoteControlBoard::writeStrict_singleJoint {true}
protected

Definition at line 97 of file RemoteControlBoard.h.


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