yarp-devices
Loading...
Searching...
No Matches
Public Member Functions | Private Attributes | List of all members
TechnosoftIpos Class Reference

Implementation for the Technosoft iPOS as a single CAN bus joint (control board raw interfaces).

#include <TechnosoftIpos.hpp>

Inheritance diagram for TechnosoftIpos:
TechnosoftIpos_ParamsParser roboticslab::ICanBusSharer

Public Member Functions

bool open (yarp::os::Searchable &config) override
 
bool close () override
 
std::string id () const override
 
unsigned int getId () override
 Retrieve CAN node ID.
 
std::vector< unsigned int > getAdditionalIds () override
 Retrieve more associated CAN node IDs, if any.
 
bool notifyMessage (const roboticslab::can_message &message) override
 Notify observers that a new CAN message has arrived.
 
bool initialize () override
 Perform CAN node initialization.
 
bool finalize () override
 Finalize CAN node communications.
 
bool registerSender (roboticslab::ICanSenderDelegate *sender) override
 Pass a handle to a CAN sender delegate instance.
 
bool synchronize (double timestamp) override
 Perform synchronized action on CAN master's request.
 
bool getAxisNameRaw (int axis, std::string &name) override
 
bool getJointTypeRaw (int axis, yarp::dev::JointTypeEnum &type) override
 
bool setLimitsRaw (int axis, double min, double max) override
 
bool getLimitsRaw (int axis, double *min, double *max) override
 
bool setVelLimitsRaw (int axis, double min, double max) override
 
bool getVelLimitsRaw (int axis, double *min, double *max) override
 
bool getControlModeRaw (int j, int *mode) override
 
bool getControlModesRaw (int *modes) override
 
bool getControlModesRaw (int n_joint, const int *joints, int *modes) override
 
bool setControlModeRaw (int j, int mode) override
 
bool setControlModesRaw (int *modes) override
 
bool setControlModesRaw (int n_joint, const int *joints, int *modes) override
 
bool getCurrentRaw (int m, double *curr) override
 
bool getCurrentsRaw (double *currs) override
 
bool getCurrentRangeRaw (int m, double *min, double *max) override
 
bool getCurrentRangesRaw (double *min, double *max) override
 
bool setRefCurrentRaw (int m, double curr) override
 
bool setRefCurrentsRaw (const double *currs) override
 
bool setRefCurrentsRaw (int n_motor, const int *motors, const double *currs) override
 
bool getRefCurrentRaw (int m, double *curr) override
 
bool getRefCurrentsRaw (double *currs) override
 
bool getAxes (int *ax) override
 
bool resetEncoderRaw (int j) override
 
bool resetEncodersRaw () override
 
bool setEncoderRaw (int j, double val) override
 
bool setEncodersRaw (const double *vals) override
 
bool getEncoderRaw (int j, double *v) override
 
bool getEncodersRaw (double *encs) override
 
bool getEncoderSpeedRaw (int j, double *sp) override
 
bool getEncoderSpeedsRaw (double *spds) override
 
bool getEncoderAccelerationRaw (int j, double *spds) override
 
bool getEncoderAccelerationsRaw (double *accs) override
 
bool getEncoderTimedRaw (int j, double *encs, double *time) override
 
bool getEncodersTimedRaw (double *encs, double *time) override
 
bool getImpedanceRaw (int j, double *stiffness, double *damping) override
 
bool setImpedanceRaw (int j, double stiffness, double damping) override
 
bool setImpedanceOffsetRaw (int j, double offset) override
 
bool getImpedanceOffsetRaw (int j, double *offset) override
 
bool getCurrentImpedanceLimitRaw (int j, double *min_stiff, double *max_stiff, double *min_damp, double *max_damp) override
 
bool getInteractionModeRaw (int axis, yarp::dev::InteractionModeEnum *mode) override
 
bool getInteractionModesRaw (int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes) override
 
bool getInteractionModesRaw (yarp::dev::InteractionModeEnum *modes) override
 
bool setInteractionModeRaw (int axis, yarp::dev::InteractionModeEnum mode) override
 
bool setInteractionModesRaw (int n_joints, int *joints, yarp::dev::InteractionModeEnum *modes) override
 
bool setInteractionModesRaw (yarp::dev::InteractionModeEnum *modes) override
 
bool getLastJointFaultRaw (int j, int &fault, std::string &message) override
 
bool getNumberOfMotorsRaw (int *num) override
 
bool getTemperatureRaw (int m, double *val) override
 
bool getTemperaturesRaw (double *vals) override
 
bool getTemperatureLimitRaw (int m, double *temp) override
 
bool setTemperatureLimitRaw (int m, double temp) override
 
bool getGearboxRatioRaw (int m, double *val) override
 
bool setGearboxRatioRaw (int m, double val) override
 
bool getNumberOfMotorEncodersRaw (int *num) override
 
bool resetMotorEncoderRaw (int m) override
 
bool resetMotorEncodersRaw () override
 
bool setMotorEncoderCountsPerRevolutionRaw (int m, double cpr) override
 
bool getMotorEncoderCountsPerRevolutionRaw (int m, double *cpr) override
 
bool setMotorEncoderRaw (int m, double val) override
 
bool setMotorEncodersRaw (const double *vals) override
 
bool getMotorEncoderRaw (int m, double *v) override
 
bool getMotorEncodersRaw (double *encs) override
 
bool getMotorEncoderTimedRaw (int m, double *encs, double *stamp) override
 
bool getMotorEncodersTimedRaw (double *encs, double *stamps) override
 
bool getMotorEncoderSpeedRaw (int m, double *sp) override
 
bool getMotorEncoderSpeedsRaw (double *spds) override
 
bool getMotorEncoderAccelerationRaw (int m, double *spds) override
 
bool getMotorEncoderAccelerationsRaw (double *vaccs) override
 
bool setPidRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, const yarp::dev::Pid &pid) override
 
bool setPidsRaw (const yarp::dev::PidControlTypeEnum &pidtype, const yarp::dev::Pid *pids) override
 
bool setPidReferenceRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, double ref) override
 
bool setPidReferencesRaw (const yarp::dev::PidControlTypeEnum &pidtype, const double *refs) override
 
bool setPidErrorLimitRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, double limit) override
 
bool setPidErrorLimitsRaw (const yarp::dev::PidControlTypeEnum &pidtype, const double *limits) override
 
bool getPidErrorRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *err) override
 
bool getPidErrorsRaw (const yarp::dev::PidControlTypeEnum &pidtype, double *errs) override
 
bool getPidOutputRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *out) override
 
bool getPidOutputsRaw (const yarp::dev::PidControlTypeEnum &pidtype, double *outs) override
 
bool getPidRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, yarp::dev::Pid *pid) override
 
bool getPidsRaw (const yarp::dev::PidControlTypeEnum &pidtype, yarp::dev::Pid *pids) override
 
bool getPidReferenceRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *ref) override
 
bool getPidReferencesRaw (const yarp::dev::PidControlTypeEnum &pidtype, double *refs) override
 
bool getPidErrorLimitRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, double *limit) override
 
bool getPidErrorLimitsRaw (const yarp::dev::PidControlTypeEnum &pidtype, double *limits) override
 
bool resetPidRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j) override
 
bool disablePidRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j) override
 
bool enablePidRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j) override
 
bool setPidOffsetRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, double v) override
 
bool isPidEnabledRaw (const yarp::dev::PidControlTypeEnum &pidtype, int j, bool *enabled) override
 
bool positionMoveRaw (int j, double ref) override
 
bool positionMoveRaw (const double *refs) override
 
bool positionMoveRaw (int n_joint, const int *joints, const double *refs) override
 
bool relativeMoveRaw (int j, double delta) override
 
bool relativeMoveRaw (const double *deltas) override
 
bool relativeMoveRaw (int n_joint, const int *joints, const double *deltas) override
 
bool checkMotionDoneRaw (int j, bool *flag) override
 
bool checkMotionDoneRaw (bool *flag) override
 
bool checkMotionDoneRaw (int n_joint, const int *joints, bool *flag) override
 
bool setRefSpeedRaw (int j, double sp) override
 
bool setRefSpeedsRaw (const double *spds) override
 
bool setRefSpeedsRaw (int n_joint, const int *joints, const double *spds) override
 
bool setRefAccelerationRaw (int j, double acc) override
 
bool setRefAccelerationsRaw (const double *accs) override
 
bool setRefAccelerationsRaw (int n_joint, const int *joints, const double *accs) override
 
bool getRefSpeedRaw (int j, double *ref) override
 
bool getRefSpeedsRaw (double *spds) override
 
bool getRefSpeedsRaw (int n_joint, const int *joints, double *spds) override
 
bool getRefAccelerationRaw (int j, double *acc) override
 
bool getRefAccelerationsRaw (double *accs) override
 
bool getRefAccelerationsRaw (int n_joint, const int *joints, double *accs) override
 
bool stopRaw (int j) override
 
bool stopRaw () override
 
bool stopRaw (int n_joint, const int *joints) override
 
bool getTargetPositionRaw (int joint, double *ref) override
 
bool getTargetPositionsRaw (double *refs) override
 
bool getTargetPositionsRaw (int n_joint, const int *joints, double *refs) override
 
bool setPositionRaw (int j, double ref) override
 
bool setPositionsRaw (const double *refs) override
 
bool setPositionsRaw (int n_joint, const int *joints, const double *refs) override
 
bool getRefPositionRaw (int joint, double *ref) override
 
bool getRefPositionsRaw (double *refs) override
 
bool getRefPositionsRaw (int n_joint, const int *joints, double *refs) override
 
bool getRemoteVariableRaw (std::string key, yarp::os::Bottle &val) override
 
bool setRemoteVariableRaw (std::string key, const yarp::os::Bottle &val) override
 
bool getRemoteVariablesListRaw (yarp::os::Bottle *listOfKeys) override
 
bool getRefTorqueRaw (int j, double *t) override
 
bool getRefTorquesRaw (double *t) override
 
bool setRefTorqueRaw (int j, double t) override
 
bool setRefTorquesRaw (int n_joint, const int *joints, const double *t) override
 
bool setRefTorquesRaw (const double *t) override
 
bool getTorqueRaw (int j, double *t) override
 
bool getTorquesRaw (double *t) override
 
bool getTorqueRangeRaw (int j, double *min, double *max) override
 
bool getTorqueRangesRaw (double *min, double *max) override
 
bool getMotorTorqueParamsRaw (int j, yarp::dev::MotorTorqueParameters *params) override
 
bool setMotorTorqueParamsRaw (int j, const yarp::dev::MotorTorqueParameters params) override
 
bool velocityMoveRaw (int j, double sp) override
 
bool velocityMoveRaw (const double *sp) override
 
bool velocityMoveRaw (int n_joint, const int *joints, const double *spds) override
 
bool getRefVelocityRaw (int joint, double *vel) override
 
bool getRefVelocitiesRaw (double *vels) override
 
bool getRefVelocitiesRaw (int n_joint, const int *joints, double *vels) override
 
- Public Member Functions inherited from roboticslab::ICanBusSharer
virtual ~ICanBusSharer ()=default
 Destructor.
 
- Public Member Functions inherited from roboticslab::ICanMessageNotifier
virtual ~ICanMessageNotifier ()=default
 Virtual destructor.
 
- Public Member Functions inherited from TechnosoftIpos_ParamsParser
bool parseParams (const yarp::os::Searchable &config) override
 
std::string getDeviceClassName () const override
 
std::string getDeviceName () const override
 
std::string getDocumentationOfDeviceParams () const override
 
std::vector< std::string > getListOfParams () const override
 

Private Attributes

roboticslab::TechnosoftIposBaseimpl {nullptr}
 

Additional Inherited Members

- Public Attributes inherited from TechnosoftIpos_ParamsParser
const std::string m_device_classname = {"TechnosoftIpos"}
 
const std::string m_device_name = {"TechnosoftIpos"}
 
bool m_parser_is_strict = false
 
const parser_version_type m_parser_version = {}
 
const std::string m_canId_defaultValue = {""}
 
const std::string m_useEmbeddedPid_defaultValue = {"true"}
 
const std::string m_name_defaultValue = {""}
 
const std::string m_type_defaultValue = {""}
 
const std::string m_max_defaultValue = {""}
 
const std::string m_min_defaultValue = {""}
 
const std::string m_maxVel_defaultValue = {""}
 
const std::string m_refSpeed_defaultValue = {""}
 
const std::string m_refAcceleration_defaultValue = {""}
 
const std::string m_extraTr_defaultValue = {"1.0"}
 
const std::string m_samplingPeriod_defaultValue = {""}
 
const std::string m_reverse_defaultValue = {""}
 
const std::string m_heartbeatPeriod_defaultValue = {""}
 
const std::string m_syncPeriod_defaultValue = {""}
 
const std::string m_initialControlMode_defaultValue = {"idl"}
 
const std::string m_sdoTimeout_defaultValue = {"0.02"}
 
const std::string m_driveStateTimeout_defaultValue = {"2.0"}
 
const std::string m_tpdo1InhibitTime_defaultValue = {"0.0"}
 
const std::string m_tpdo1EventTimer_defaultValue = {"0.0"}
 
const std::string m_tpdo2InhibitTime_defaultValue = {"0.0"}
 
const std::string m_tpdo2EventTimer_defaultValue = {"0.0"}
 
const std::string m_monitorPeriod_defaultValue = {"0.0"}
 
const std::string m_driver_peakCurrent_defaultValue = {""}
 
const std::string m_motor_k_defaultValue = {""}
 
const std::string m_gearbox_tr_defaultValue = {""}
 
const std::string m_encoder_encoderPulses_defaultValue = {""}
 
const std::string m_ipMode_defaultValue = {"pt"}
 
const std::string m_ipPeriodMs_defaultValue = {"50"}
 
const std::string m_enableIp_defaultValue = {"false"}
 
const std::string m_enableCsv_defaultValue = {"false"}
 
const std::string m_initialInteractionMode_defaultValue = {"unkn"}
 
const std::string m_stiffness_defaultValue = {"0.0"}
 
const std::string m_damping_defaultValue = {"0.0"}
 
const std::string m_impedanceOffset_defaultValue = {"0.0"}
 
const std::string m_minStiffness_defaultValue = {"0.0"}
 
const std::string m_maxStiffness_defaultValue = {"0.0"}
 
const std::string m_minDamping_defaultValue = {"0.0"}
 
const std::string m_maxDamping_defaultValue = {"0.0"}
 
const std::string m_kp_defaultValue = {"0.0"}
 
const std::string m_ki_defaultValue = {"0.0"}
 
const std::string m_kd_defaultValue = {"0.0"}
 
const std::string m_maxInt_defaultValue = {"0.0"}
 
const std::string m_maxOutput_defaultValue = {"0.0"}
 
const std::string m_offset_defaultValue = {"0.0"}
 
const std::string m_scale_defaultValue = {"1.0"}
 
const std::string m_stictionUp_defaultValue = {"0.0"}
 
const std::string m_stictionDown_defaultValue = {"0.0"}
 
const std::string m_kff_defaultValue = {"0.0"}
 
const std::string m_errorLimit_defaultValue = {"0.0"}
 
int m_canId = {0}
 
bool m_useEmbeddedPid = {true}
 
std::string m_name = {}
 
std::string m_type = {}
 
double m_max = {std::nan("1")}
 
double m_min = {std::nan("1")}
 
double m_maxVel = {std::nan("1")}
 
double m_refSpeed = {std::nan("1")}
 
double m_refAcceleration = {std::nan("1")}
 
double m_extraTr = {1.0}
 
double m_samplingPeriod = {std::nan("1")}
 
bool m_reverse = {false}
 
double m_heartbeatPeriod = {std::nan("1")}
 
double m_syncPeriod = {std::nan("1")}
 
std::string m_initialControlMode = {"idl"}
 
double m_sdoTimeout = {0.02}
 
double m_driveStateTimeout = {2.0}
 
double m_tpdo1InhibitTime = {0.0}
 
double m_tpdo1EventTimer = {0.0}
 
double m_tpdo2InhibitTime = {0.0}
 
double m_tpdo2EventTimer = {0.0}
 
double m_monitorPeriod = {0.0}
 
double m_driver_peakCurrent = {std::nan("1")}
 
double m_motor_k = {std::nan("1")}
 
double m_gearbox_tr = {std::nan("1")}
 
double m_encoder_encoderPulses = {std::nan("1")}
 
std::string m_ipMode = {"pt"}
 
int m_ipPeriodMs = {50}
 
bool m_enableIp = {false}
 
bool m_enableCsv = {false}
 
std::string m_initialInteractionMode = {"unkn"}
 
double m_stiffness = {0.0}
 
double m_damping = {0.0}
 
double m_impedanceOffset = {0.0}
 
double m_minStiffness = {0.0}
 
double m_maxStiffness = {0.0}
 
double m_minDamping = {0.0}
 
double m_maxDamping = {0.0}
 
double m_kp = {0.0}
 
double m_ki = {0.0}
 
double m_kd = {0.0}
 
double m_maxInt = {0.0}
 
double m_maxOutput = {0.0}
 
double m_offset = {0.0}
 
double m_scale = {1.0}
 
double m_stictionUp = {0.0}
 
double m_stictionDown = {0.0}
 
double m_kff = {0.0}
 
double m_errorLimit = {0.0}
 

Member Function Documentation

◆ finalize()

bool TechnosoftIpos::finalize ( )
inlineoverridevirtual

◆ getAdditionalIds()

std::vector< unsigned int > TechnosoftIpos::getAdditionalIds ( )
inlineoverridevirtual

Reimplemented from roboticslab::ICanBusSharer.

◆ getId()

unsigned int TechnosoftIpos::getId ( )
inlineoverridevirtual

◆ initialize()

bool TechnosoftIpos::initialize ( )
inlineoverridevirtual

◆ notifyMessage()

bool TechnosoftIpos::notifyMessage ( const roboticslab::can_message msg)
inlineoverridevirtual

◆ registerSender()

bool TechnosoftIpos::registerSender ( roboticslab::ICanSenderDelegate sender)
inlineoverridevirtual

◆ synchronize()

bool TechnosoftIpos::synchronize ( double  timestamp)
inlineoverridevirtual

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