YARP
Yet Another Robot Platform
RemoteControlBoard Class Reference

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

◆ abortPark()

bool RemoteControlBoard::abortPark ( )
overridevirtual

Reimplemented from yarp::dev::IControlCalibration.

Definition at line 1965 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 1975 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 1955 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 2556 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 2561 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 2014 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 1715 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 1710 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 1705 of file RemoteControlBoard.cpp.

◆ checkProtocolVersion()

bool RemoteControlBoard::checkProtocolVersion ( bool  ignore)
protected

Definition at line 119 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 382 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 1845 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 1267 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 1840 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 1280 of file RemoteControlBoard.cpp.

◆ get1V1B()

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

Definition at line 887 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 498 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 947 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 518 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 809 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 719 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 737 of file RemoteControlBoard.cpp.

◆ get1V1I1IA1B()

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

Definition at line 824 of file RemoteControlBoard.cpp.

◆ get1V1I1IA1DA()

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

Definition at line 1044 of file RemoteControlBoard.cpp.

◆ get1V1I1S()

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

Definition at line 1028 of file RemoteControlBoard.cpp.

◆ get1V1I2D()

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

Definition at line 792 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 924 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 901 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 970 of file RemoteControlBoard.cpp.

◆ get2V1I1D()

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

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

◆ get2V1I2D()

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

Definition at line 773 of file RemoteControlBoard.cpp.

◆ get2V2DA()

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

Definition at line 994 of file RemoteControlBoard.cpp.

◆ getAmpStatus() [1/2]

bool RemoteControlBoard::getAmpStatus ( int *  st)
overridevirtual

Implements yarp::dev::IAmplifierControl.

Definition at line 1850 of file RemoteControlBoard.cpp.

◆ getAmpStatus() [2/2]

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

Implements yarp::dev::IAmplifierControl.

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

◆ getAxisName()

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

Implements yarp::dev::IAxisInfo.

Definition at line 1942 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 2258 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 2276 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 2267 of file RemoteControlBoard.cpp.

◆ getCurrent()

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

Implements yarp::dev::IAmplifierControl.

Definition at line 2689 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 2232 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 2698 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 2703 of file RemoteControlBoard.cpp.

◆ getCurrents()

bool RemoteControlBoard::getCurrents ( double *  vals)
overridevirtual

Implements yarp::dev::IAmplifierControl.

Definition at line 2680 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 2775 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 2784 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 1349 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 1412 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 1421 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 1370 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 1392 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 1402 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 1381 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 1359 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 1511 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 2162 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 2182 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 2446 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 2455 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 2473 of file RemoteControlBoard.cpp.

◆ getJointType()

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

Reimplemented from yarp::dev::IAxisInfo.

Definition at line 1947 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 1647 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 1923 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 1865 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 1555 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 1616 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 1625 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 1545 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 1576 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 1598 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 1607 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 1587 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 1565 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 2103 of file RemoteControlBoard.cpp.

◆ getNominalCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1870 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 1634 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 1486 of file RemoteControlBoard.cpp.

◆ getPeakCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1880 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 1168 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 1158 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 1244 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 1249 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 1163 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 1310 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 1315 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 1234 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 1239 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 1197 of file RemoteControlBoard.cpp.

◆ getPowerSupplyVoltage()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1909 of file RemoteControlBoard.cpp.

◆ getPWM()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1890 of file RemoteControlBoard.cpp.

◆ getPWMLimit()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1899 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 1765 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 1770 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 1775 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 2631 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 2626 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 2747 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 2770 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 2390 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 2400 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 2395 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 1750 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 1755 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 1760 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 2023 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 2028 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 2437 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 2432 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 2427 of file RemoteControlBoard.cpp.

◆ getRemoteVariable()

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

Implements yarp::dev::IRemoteVariables.

Definition at line 1434 of file RemoteControlBoard.cpp.

◆ getRemoteVariablesList()

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

Implements yarp::dev::IRemoteVariables.

Definition at line 1465 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 1675 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 1685 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 1680 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 1491 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 1501 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 1496 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 2130 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 2148 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 2153 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 2139 of file RemoteControlBoard.cpp.

◆ getValWithPidType() [1/2]

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

Definition at line 684 of file RemoteControlBoard.cpp.

◆ getValWithPidType() [2/2]

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

Definition at line 665 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 1933 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 2571 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 2576 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 2541 of file RemoteControlBoard.cpp.

◆ isLive()

bool RemoteControlBoard::isLive ( )
protected

Definition at line 105 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 1293 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 177 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 1970 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 2587 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 2592 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 1670 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 1665 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 1660 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 2602 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 2612 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 1700 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 1695 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 1690 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 1329 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 1334 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 1525 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 1530 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 1254 of file RemoteControlBoard.cpp.

◆ send1V()

bool RemoteControlBoard::send1V ( int  v)
protected

Definition at line 402 of file RemoteControlBoard.cpp.

◆ send1V1I()

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

Definition at line 438 of file RemoteControlBoard.cpp.

◆ send2V()

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

Definition at line 413 of file RemoteControlBoard.cpp.

◆ send2V1I()

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

Definition at line 425 of file RemoteControlBoard.cpp.

◆ send3V1I()

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

Definition at line 450 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 464 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 486 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 538 of file RemoteControlBoard.cpp.

◆ set1V1I1IA1DA()

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

Definition at line 606 of file RemoteControlBoard.cpp.

◆ set1V1I2D()

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

Definition at line 549 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 474 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 562 of file RemoteControlBoard.cpp.

◆ set2V1DA()

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

Definition at line 575 of file RemoteControlBoard.cpp.

◆ set2V1I()

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

Definition at line 708 of file RemoteControlBoard.cpp.

◆ set2V1I1D()

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

Definition at line 624 of file RemoteControlBoard.cpp.

◆ set2V2DA()

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

Definition at line 589 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 1994 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 2294 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 2308 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 2329 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 1339 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 1344 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 1516 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 2201 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 2217 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 2482 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 2497 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 2520 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 1918 of file RemoteControlBoard.cpp.

◆ setMaxCurrent()

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

Implements yarp::dev::IAmplifierControl.

Definition at line 1860 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 1535 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 1540 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 1550 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 2087 of file RemoteControlBoard.cpp.

◆ setNominalCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1875 of file RemoteControlBoard.cpp.

◆ setPeakCurrent()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1885 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 1088 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 1148 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 1153 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 1320 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 1138 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 1143 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 1111 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 2349 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 2378 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 2362 of file RemoteControlBoard.cpp.

◆ setPWMLimit()

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

Reimplemented from yarp::dev::IAmplifierControl.

Definition at line 1904 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 1735 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 1745 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 1740 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 2649 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 2636 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 2663 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 2711 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 2729 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 1720 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 1730 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 1725 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 2050 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 2033 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 2068 of file RemoteControlBoard.cpp.

◆ setRemoteVariable()

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

Implements yarp::dev::IRemoteVariables.

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

◆ setValWithPidType() [1/2]

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

Definition at line 650 of file RemoteControlBoard.cpp.

◆ setValWithPidType() [2/2]

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

Definition at line 636 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 1928 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 1801 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 1785 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 1780 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 1824 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 2409 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 1810 of file RemoteControlBoard.cpp.

Member Data Documentation

◆ command_buffer

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

Definition at line 96 of file RemoteControlBoard.h.

◆ command_p

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

Definition at line 92 of file RemoteControlBoard.h.

◆ diagnosticThread

DiagnosticThread* RemoteControlBoard::diagnosticThread {nullptr}
protected

Definition at line 93 of file RemoteControlBoard.h.

◆ extendedIntputStatePort

StateExtendedInputPort RemoteControlBoard::extendedIntputStatePort
protected

Definition at line 103 of file RemoteControlBoard.h.

◆ extendedPortMutex

std::mutex RemoteControlBoard::extendedPortMutex
protected

Definition at line 104 of file RemoteControlBoard.h.

◆ last_singleJoint

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

Definition at line 105 of file RemoteControlBoard.h.

◆ last_wholePart

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

Definition at line 107 of file RemoteControlBoard.h.

◆ lastStamp

Stamp RemoteControlBoard::lastStamp
mutableprotected

Definition at line 111 of file RemoteControlBoard.h.

◆ local

std::string RemoteControlBoard::local
protected

Definition at line 110 of file RemoteControlBoard.h.

◆ nj

size_t RemoteControlBoard::nj {0}
protected

Definition at line 112 of file RemoteControlBoard.h.

◆ njIsKnown

bool RemoteControlBoard::njIsKnown {false}
protected

Definition at line 113 of file RemoteControlBoard.h.

◆ protocolVersion

ProtocolVersion RemoteControlBoard::protocolVersion
protected

Definition at line 115 of file RemoteControlBoard.h.

◆ remote

std::string RemoteControlBoard::remote
protected

Definition at line 109 of file RemoteControlBoard.h.

◆ rpc_p

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

Definition at line 91 of file RemoteControlBoard.h.

◆ state_buffer

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

Definition at line 95 of file RemoteControlBoard.h.

◆ writeStrict_moreJoints

bool RemoteControlBoard::writeStrict_moreJoints {false}
protected

Definition at line 98 of file RemoteControlBoard.h.

◆ writeStrict_singleJoint

bool RemoteControlBoard::writeStrict_singleJoint {true}
protected

Definition at line 97 of file RemoteControlBoard.h.


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