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

#include <TechnosoftIpos_ParamsParser.h>

Inheritance diagram for TechnosoftIpos_ParamsParser:
TechnosoftIpos

Classes

struct  parser_version_type
 

Public Member Functions

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
 

Public Attributes

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}
 

Detailed Description

This class is the parameters parser for class TechnosoftIpos.

These are the used parameters:

Group name Parameter name Type Units Default Value Required Description Notes
- canId int - - 1 CAN bus ID 1-127
- useEmbeddedPid bool - true 0 use embedded PID -
- name string - - 1 axis name -
- type string - - 1 joint type vocab atrv, atpr, unkn
- max double deg or m - 1 upper joint limit -
- min double deg or m - 1 lower joint limit -
- maxVel double deg/s or m/s - 1 maximum velocity -
- refSpeed double deg/s or m/s - 1 reference speed -
- refAcceleration double deg/s^2 or m/s^2 - 1 reference acceleration -
- extraTr double - 1.0 0 additional reduction see gearbox group
- samplingPeriod double s - 1 controller sampling period -
- reverse bool - - 1 reverse motor encoder counts -
- heartbeatPeriod double s - 1 CAN heartbeat period -
- syncPeriod double s - 1 CAN SYNC message period -
- initialControlMode string - idl 0 initial control mode vocab -
- sdoTimeout double s 0.02 0 CAN SDO timeout -
- driveStateTimeout double s 2.0 0 CAN drive state timeout -
- tpdo1InhibitTime double s 0.0 0 CAN TPDO1 inhibit time -
- tpdo1EventTimer double s 0.0 0 CAN TPDO1 event timer -
- tpdo2InhibitTime double s 0.0 0 CAN TPDO2 inhibit time -
- tpdo2EventTimer double s 0.0 0 CAN TPDO2 event timer -
- monitorPeriod double s 0.0 0 monitor thread period -
driver peakCurrent double A - 1 drive peak current -
motor k double N*m/A - 1 motor constant -
gearbox tr double - - 1 reduction -
encoder encoderPulses double - - 1 encoder pulses per revolution -
- ipMode string - pt 0 IP mode (pt, pvt) only embedded PID
- ipPeriodMs int ms 50 0 IP period only embedded PID
- enableIp bool - false 0 enable IP mode only embedded PID
- enableCsv bool - false 0 enable CSV mode embedded/external PID
- initialInteractionMode string - unkn 0 initial interaction mode vocab stif, comp; only external PID
- stiffness double N*m 0.0 0 impedance stiffness only external PID
- damping double N*m*s 0.0 0 impedance damping only external PID
- impedanceOffset double N*m*s 0.0 0 impedance offset only external PID
- minStiffness double N*m 0.0 0 minimum impedance stiffness only external PID
- maxStiffness double N*m 0.0 0 maximum impedance stiffness only external PID
- minDamping double N*m*s 0.0 0 minimum impedance damping only external PID
- maxDamping double N*m*s 0.0 0 maximum impedance damping only external PID
- kp double - 0.0 0 position PID Kp only external PID
- ki double - 0.0 0 position PID Ki only external PID
- kd double - 0.0 0 position PID Kd only external PID
- maxInt double - 0.0 0 position PID saturation threshold only external PID
- maxOutput double - 0.0 0 position PID maximum output only external PID
- offset double - 0.0 0 position PID offset only external PID
- scale double - 1.0 0 position PID scale only external PID
- stictionUp double - 0.0 0 position PID stiction up only external PID
- stictionDown double - 0.0 0 position PID stiction down only external PID
- kff double - 0.0 0 position PID feed-forward only external PID
- errorLimit double deg 0.0 0 position PID error limit only external PID

The device can be launched by yarpdev using one of the following examples (with and without all optional parameters):

yarpdev --device TechnosoftIpos --canId <mandatory_value> --useEmbeddedPid true --name <mandatory_value> --type <mandatory_value> --max <mandatory_value> --min <mandatory_value> --maxVel <mandatory_value> --refSpeed <mandatory_value> --refAcceleration <mandatory_value> --extraTr 1.0 --samplingPeriod <mandatory_value> --reverse <mandatory_value> --heartbeatPeriod <mandatory_value> --syncPeriod <mandatory_value> --initialControlMode idl --sdoTimeout 0.02 --driveStateTimeout 2.0 --tpdo1InhibitTime 0.0 --tpdo1EventTimer 0.0 --tpdo2InhibitTime 0.0 --tpdo2EventTimer 0.0 --monitorPeriod 0.0 --driver::peakCurrent <mandatory_value> --motor::k <mandatory_value> --gearbox::tr <mandatory_value> --encoder::encoderPulses <mandatory_value> --ipMode pt --ipPeriodMs 50 --enableIp false --enableCsv false --initialInteractionMode unkn --stiffness 0.0 --damping 0.0 --impedanceOffset 0.0 --minStiffness 0.0 --maxStiffness 0.0 --minDamping 0.0 --maxDamping 0.0 --kp 0.0 --ki 0.0 --kd 0.0 --maxInt 0.0 --maxOutput 0.0 --offset 0.0 --scale 1.0 --stictionUp 0.0 --stictionDown 0.0 --kff 0.0 --errorLimit 0.0
yarpdev --device TechnosoftIpos --canId <mandatory_value> --name <mandatory_value> --type <mandatory_value> --max <mandatory_value> --min <mandatory_value> --maxVel <mandatory_value> --refSpeed <mandatory_value> --refAcceleration <mandatory_value> --samplingPeriod <mandatory_value> --reverse <mandatory_value> --heartbeatPeriod <mandatory_value> --syncPeriod <mandatory_value> --driver::peakCurrent <mandatory_value> --motor::k <mandatory_value> --gearbox::tr <mandatory_value> --encoder::encoderPulses <mandatory_value>

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