robotology-playground / insitu-ft-analysis

Data and code for analysis of FT measurements on the iCub robot.
2 stars 2 forks source link

Adding an extra calibration sample for the torque in the z axis #24

Closed fjandrad closed 6 years ago

fjandrad commented 6 years ago

Current used datasets do not excite the torque in the z axis. So the tz calibration is assumed to be wrong to tackle this the software needs to be modify to include a specially designed sample to excite the sensor in tz.

fjandrad commented 6 years ago

Code modified We still need to generate the sequence of the selected movements and test to see if how it changes the results.

fjandrad commented 6 years ago

Movements selected and kept in sensro-calilb-inertial fork. This should become part of the normal repo, once @nunoguedelha revise and merge the fork

fjandrad commented 6 years ago

Results comparing new dataset called "withTZ" and the data collected on december called "DecemberData":

Matrix with least standard deviation is from withTz for left_leg when considering l_upper_leg frame, with a total of 1.47426 std

This shows that the calibration from the new dataset generates less external force than both the workbench calibration matrix and the one collected on December.
withtz

Matrix with least variation on left_leg sensor evaluated on l_upper_leg frame in fy is from withTz , with a total of 1.11244 std Matrix with least variation on left_leg sensor evaluated on l_upper_leg frame in fz is from Workbench , with a total of 1.58272 std Matrix with least variation on left_leg sensor evaluated on l_upper_leg frame in fx is from DecemberData_l1000 , with a total of 1.84893 std Matrix with least variation on left_leg sensor evaluated on l_upper_leg frame in ty is from withTz_l10000 , with a total of 0.25543 std Matrix with least variation on left_leg sensor evaluated on l_upper_leg frame in tz is from withTz_l5000000 , with a total of 0.06453 std Matrix with least variation on left_leg sensor evaluated on l_upper_leg frame in tx is from Workbench , with a total of 0.17757 std

When taking a look at the response by axis we see that is not a clear advantage for the new type of dataset. Since still 2 out of 6 axis consider that the workbench have an smaller variation of their values. This is most likely due to the collection of the dataset not have been done carefully enough.

byaxis Upon observing the graph it is interesting to remark that the forces on fy of the frame which are fz on the sensor frame have a particular behavior for the new dataset in which it starts with a big variation and then it actually creates less external force than the workbench but due to the initial high variance is not consider the most optimal over the whole experiment. If instead we take the mean as our performance index (always looking or always closer to 0 ) we get the following:

Matrix with least external force on left_leg sensor evaluted on l_upper_leg frame in fy is from withTz_l50 , with a total of 1.00467 N or Nm on average Matrix with least external force on left_leg sensor evaluted on l_upper_leg frame in fz is from DecemberData , with a total of 1.36277 N or Nm on average Matrix with least external force on left_leg sensor evaluted on l_upper_leg frame in fx is from DecemberData_l10 , with a total of 2.08815 N or Nm on average Matrix with least external force on left_leg sensor evaluted on l_upper_leg frame in ty is from DecemberData_l50 , with a total of 0.21016 N or Nm on average Matrix with least external force on left_leg sensor evaluted on l_upper_leg frame in tz is from withTz_l500000 , with a total of 0.03584 N or Nm on average Matrix with least external force on left_leg sensor evaluted on l_upper_leg frame in tx is from DecemberData_l100000 , with a total of 0.14834 N or Nm on average

byaxismean

At the moment this seems to give better results looking at how the forces change during the experiment. The problem with using the mean is that is quite sensitive at selecting the right moment to calculate the offset.

Conclusion : The new calibration matrix seems to benefit from the added dataset targeting the Tz. It is interesting to notice that the yoga demos collected were not the best since they were faster than they should and that no tunning was performed on the position control to collect data of the poles. This 2 things generally boost the performance of a calibration set.