TelemetryDeviceDumper class
The telemetryDeviceDumper is a yarp device that has to be launched through the yarprobotinterface for dumping quantities from your robot(for example encoders, velocities etc) in base of what specified in the configuration.
Parameters
| Parameter name | Type | Units | Default | Required | Description |
|---|---|---|---|---|---|
axesNames | List of strings | - | - | Yes | The axes contained in the axesNames parameter are then mapped to the wrapped controlboard in the attachAll method, using controlBoardRemapper class. |
logIEncoders | bool | - | true | No | Enable the log of joints_state::positions, joints_state::velocities and joints_state::accelerations (http://yarp.it/git-master/classyarp_ |
logITorqueControl | bool | - | false | No | Enable the log of joints_state::torques(http://yarp.it/git-master/classyarp_ |
logIMotorEncoders | bool | - | false | No | Enable the log of motors_state::positions, motors_state::velocities and motors_state::accelerations (http://yarp.it/git-master/classyarp_ |
logIControlMode | bool | - | false | No | Enable the log of joints_state::control_mode (http://yarp.it/git-master/classyarp_ |
logIInteractionMode | bool | - | false | No | Enable the log of joints_state::interaction_mode (http://yarp.it/git-master/classyarp_ |
logIPidControl | bool | - | false | No | Enable the log of PIDs::position_error, PIDs::position_reference, PIDs::torque_error, PIDs::torque_reference(http://yarp.it/git-master/classyarp_ |
logIAmplifierControl | bool | - | false | No | Enable the log of motors_state::pwm and motors_state::currents (http://yarp.it/git-master/classyarp_ |
logIMotorTemperatures | bool | - | false | No | Enable the log of motors_state::temperatures available only with yarp branch (http://yarp.it/git-master/classyarp_ |
logControlBoardQuantities | bool | - | false | No | Enable the log of all the quantities that requires the attach to a control board (logIEncoders, logITorqueControl, logIMotorEncoders, logIControlMode, logIInteractionMode, logIPidControl, logIAmplifierControl). |
logILocalization2D | bool | - | false | No | Enable the log of odometry_data (http://yarp.it/git-master/classyarp_ |
logIRawValuesPublisher | bool | - | false | No | Enable the log of raw values (https:/ |
saveBufferManagerConfiguration | bool | - | false | No | Enable the save of the configuration of the BufferManager into path+ "bufferConfig" + experimentName + ".json" |
json_file | string | - | - | No | Configure the robometry::s reading from a json file like in Example configuration file. Note that this configuration will overwrite the parameter-by-parameter configuration |
experimentName | string | - | - | Yes | Prefix of the files that will be saved. The files will be named: experimentName+timestamp+ ".mat". |
path | string | - | - | No | Path of the folder where the data will be saved. |
n_samples | size_t | - | - | Yes | The max number of samples contained in the circular buffer/s |
save_periodically | bool | - | false | No(but it has to be set to true if auto_save is set to false) | The flag for enabling the periodic save thread. |
save_period | double | seconds | - | Yes(if save_periodically is set to true) | The period in seconds of the save thread |
log_period | double | seconds | 0.010 | No | The period in seconds of the logging thread. |
data_threshold | size_t | - | 0 | No | The save thread saves to a file if there are at least data_threshold samples |
auto_save | bool | - | false | No(but it has to be set to true if save_periodically is set to false) | the flag for enabling the save in the destructor of the robometry:: |
yarp_robot_name | string | - | "" | No | Name of the robot used during the experiment. |
Mapping .mat variables -> YARP interfaces
Example of xml
Example of xml file for using it on the iCub robot:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE devices PUBLIC "-//YARP//DTD yarprobotinterface 3.0//EN" "http://www.yarp.it/DTD/yarprobotinterfaceV3.0.dtd"> <device xmlns:xi="http://www.w3.org/2001/XInclude" name="telemetryDeviceDumper" type="telemetryDeviceDumper"> <param name="axesNames">(torso_pitch,torso_roll,torso_yaw,neck_pitch, neck_roll,neck_yaw,l_shoulder_pitch,l_shoulder_roll,l_shoulder_yaw,l_elbow,l_wrist_prosup,l_wrist_pitch,l_wrist_yaw,r_shoulder_pitch,r_shoulder_roll,r_shoulder_yaw,r_elbow,r_wrist_prosup,r_wrist_pitch,r_wrist_yaw,l_hip_pitch,l_hip_roll,l_hip_yaw,l_knee,l_ankle_pitch,l_ankle_roll,r_hip_pitch,r_hip_roll,r_hip_yaw,r_knee,r_ankle_pitch,r_ankle_roll)</param> <param name="logIEncoders">true</param> <param name="logITorqueControl">true</param> <param name="logIMotorEncoders">true</param> <param name="logIControlMode">true</param> <param name="logIInteractionMode">true</param> <param name="logIPidControl">false</param> <param name="logIAmplifierControl">true</param> <param name="logIMotorTemperatures">false</param> <param name="logIRawValuesPublisher">false</param> <param name="saveBufferManagerConfiguration">true</param> <param name="experimentName">test_telemetry</param> <param name="path">/home/icub/test_telemetry/</param> <param name="n_samples">100000</param> <param name="save_periodically">true</param> <param name="save_period">120.0</param> <param name="log_period">0.010</param> <param name="data_threshold">300</param> <param name="auto_save">true</param> <action phase="startup" level="15" type="attach"> <paramlist name="networks"> <!-- motorcontrol and virtual torque sensors --> <elem name="left_lower_leg">left_leg-eb7-j4_5-mc</elem> <elem name="right_lower_leg">right_leg-eb9-j4_5-mc</elem> <elem name="left_upper_leg">left_leg-eb6-j0_3-mc</elem> <elem name="right_upper_leg">right_leg-eb8-j0_3-mc</elem> <elem name="torso">torso-eb5-j0_2-mc</elem> <elem name="right_lower_arm">right_arm-eb27-j4_7-mc</elem> <elem name="left_lower_arm">left_arm-eb24-j4_7-mc</elem> <elem name="right_upper_arm">right_arm-eb3-j0_3-mc</elem> <elem name="left_upper_arm">left_arm-eb1-j0_3-mc</elem> <elem name="head-j0">head-eb20-j0_1-mc</elem> <elem name="head-j2">head-eb21-j2_5-mc</elem> <!-- ft --> </paramlist> </action> <action phase="shutdown" level="2" type="detach" /> </device>
Constructors, destructors, conversion operators
- TelemetryDeviceDumper()
- ~TelemetryDeviceDumper() override
Public functions
Public variables
Function documentation
bool robometry:: TelemetryDeviceDumper:: open(yarp::os::Searchable& config) override
Configure with a set of options.
| Parameters | |
|---|---|
| config | The options to use |
| Returns | true iff the object could be configured. |