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 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...
 
- Public Member Functions inherited from yarp::dev::IPositionControl
virtual ~IPositionControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IVelocityControl
virtual ~IVelocityControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IEncodersTimed
virtual ~IEncodersTimed ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IEncoders
virtual ~IEncoders ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IMotorEncoders
virtual ~IMotorEncoders ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IMotor
virtual ~IMotor ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IAmplifierControl
virtual ~IAmplifierControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IControlLimits
virtual ~IControlLimits ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IAxisInfo
virtual ~IAxisInfo ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IPreciselyTimed
virtual ~IPreciselyTimed ()
 
- Public Member Functions inherited from yarp::dev::IControlCalibration
 IControlCalibration ()
 
virtual ~IControlCalibration ()
 Destructor. More...
 
virtual bool setCalibrator (ICalibrator *c)
 Set the calibrator object to be used to calibrate the robot. More...
 
- Public Member Functions inherited from yarp::dev::ITorqueControl
virtual ~ITorqueControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IImpedanceControl
virtual ~IImpedanceControl ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IControlMode
virtual ~IControlMode ()
 
- Public Member Functions inherited from yarp::dev::DeviceDriver
 ~DeviceDriver () override=default
 Destructor. More...
 
template<class T >
bool view (T *&x)
 Get an interface to the device driver. More...
 
virtual DeviceDrivergetImplementation ()
 Some drivers are bureaucrats, pointing at others. More...
 
- Public Member Functions inherited from yarp::os::IConfig
virtual ~IConfig ()
 Destructor. More...
 
virtual bool configure (Searchable &config)
 Change online parameters. More...
 
- Public Member Functions inherited from yarp::dev::IPositionDirect
virtual ~IPositionDirect ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IInteractionMode
virtual ~IInteractionMode ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IRemoteCalibrator
 IRemoteCalibrator ()
 This interface is meant to remotize the access of the calibration device in order to allow users to remotely call the calibration procedure for a single joint or the whole device and let the calibrator do the job. More...
 
virtual ~IRemoteCalibrator ()=default
 
virtual bool setCalibratorDevice (yarp::dev::IRemoteCalibrator *dev)
 setCalibratorDevice: store the pointer to the calibrator device. More...
 
virtual yarp::dev::IRemoteCalibratorgetCalibratorDevice ()
 getCalibratorDevice: return the pointer stored with the setCalibratorDevice More...
 
virtual void releaseCalibratorDevice ()
 releaseCalibratorDevice: reset the internal pointer to NULL when stop using the calibrator More...
 
- Public Member Functions inherited from yarp::dev::IRemoteVariables
virtual ~IRemoteVariables ()
 Destructor. More...
 
- Public Member Functions inherited from yarp::dev::IPWMControl
virtual ~IPWMControl ()
 
- Public Member Functions inherited from yarp::dev::ICurrentControl
virtual ~ICurrentControl ()
 Destructor. More...
 

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 controlboardwrapper2 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

Definition at line 64 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 2044 of file RemoteControlBoard.cpp.

◆ abortPark()

bool RemoteControlBoard::abortPark ( )
overridevirtual

Reimplemented from yarp::dev::IControlCalibration.

Definition at line 2049 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 2059 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 2039 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 2679 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 2684 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 2098 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 1929 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 1924 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 1934 of file RemoteControlBoard.cpp.

◆ getAmpStatus() [2/2]

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

Implements yarp::dev::IAmplifierControl.

Definition at line 1939 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 2026 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 2353 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 2371 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 2362 of file RemoteControlBoard.cpp.

◆ getCurrent()

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

Implements yarp::dev::IAmplifierControl.

Definition at line 2819 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 2326 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 2828 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 2833 of file RemoteControlBoard.cpp.

◆ getCurrents()

bool RemoteControlBoard::getCurrents ( double *  vals)
overridevirtual

Implements yarp::dev::IAmplifierControl.

Definition at line 2810 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 2909 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 2918 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 2254 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 2275 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 2560 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 2569 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 2588 of file RemoteControlBoard.cpp.

◆ getJointType()

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

Reimplemented from yarp::dev::IAxisInfo.

Definition at line 2031 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.

◆ 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 2007 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 1949 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 2194 of file RemoteControlBoard.cpp.

◆ getNominalCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1954 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 1964 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 1993 of file RemoteControlBoard.cpp.

◆ getPWM()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1974 of file RemoteControlBoard.cpp.

◆ getPWMLimit()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1983 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 2754 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 2749 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 2881 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 2904 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 2502 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 2512 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 2507 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 2107 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 2112 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 2551 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 2546 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 2541 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 2222 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 2240 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 2245 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 2231 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 2017 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 2694 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 2699 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 2664 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 2054 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 2710 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 2715 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 2725 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 2735 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 2078 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 2390 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 2406 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 2431 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 2295 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 2311 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 2597 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 2614 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 2640 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 2002 of file RemoteControlBoard.cpp.

◆ setMaxCurrent()

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

Implements yarp::dev::IAmplifierControl.

Definition at line 1944 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 2178 of file RemoteControlBoard.cpp.

◆ setNominalCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1959 of file RemoteControlBoard.cpp.

◆ setPeakCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1969 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 2454 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 2488 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 2469 of file RemoteControlBoard.cpp.

◆ setPWMLimit()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1988 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 2774 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 2759 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 2790 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 2841 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 2861 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 2136 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 2117 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 2156 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 2012 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 1906 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 2521 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 1890 of file RemoteControlBoard.cpp.

Member Data Documentation

◆ command_buffer

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

Definition at line 93 of file RemoteControlBoard.h.

◆ command_p

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

Definition at line 89 of file RemoteControlBoard.h.

◆ diagnosticThread

DiagnosticThread* RemoteControlBoard::diagnosticThread {nullptr}
protected

Definition at line 90 of file RemoteControlBoard.h.

◆ extendedIntputStatePort

StateExtendedInputPort RemoteControlBoard::extendedIntputStatePort
protected

Definition at line 100 of file RemoteControlBoard.h.

◆ extendedPortMutex

std::mutex RemoteControlBoard::extendedPortMutex
protected

Definition at line 101 of file RemoteControlBoard.h.

◆ last_singleJoint

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

Definition at line 102 of file RemoteControlBoard.h.

◆ last_wholePart

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

Definition at line 104 of file RemoteControlBoard.h.

◆ lastStamp

Stamp RemoteControlBoard::lastStamp
mutableprotected

Definition at line 108 of file RemoteControlBoard.h.

◆ local

std::string RemoteControlBoard::local
protected

Definition at line 107 of file RemoteControlBoard.h.

◆ nj

size_t RemoteControlBoard::nj {0}
protected

Definition at line 109 of file RemoteControlBoard.h.

◆ njIsKnown

bool RemoteControlBoard::njIsKnown {false}
protected

Definition at line 110 of file RemoteControlBoard.h.

◆ protocolVersion

ProtocolVersion RemoteControlBoard::protocolVersion
protected

Definition at line 112 of file RemoteControlBoard.h.

◆ remote

std::string RemoteControlBoard::remote
protected

Definition at line 106 of file RemoteControlBoard.h.

◆ rpc_p

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

Definition at line 88 of file RemoteControlBoard.h.

◆ state_buffer

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

Definition at line 92 of file RemoteControlBoard.h.

◆ writeStrict_moreJoints

bool RemoteControlBoard::writeStrict_moreJoints {false}
protected

Definition at line 95 of file RemoteControlBoard.h.

◆ writeStrict_singleJoint

bool RemoteControlBoard::writeStrict_singleJoint {true}
protected

Definition at line 94 of file RemoteControlBoard.h.


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