robotology / human-dynamics-estimation

Software repository for estimating human dynamics
BSD 3-Clause "New" or "Revised" License
81 stars 28 forks source link

Add force arrows to the HumanStateVisualizer #241

Closed lrapetti closed 3 years ago

lrapetti commented 3 years ago

This PR close https://github.com/robotology/human-dynamics-estimation/issues/240 by adding the possibility to visualize the force associated to a given link by reading its value from the HumanWrenchProvider trough an analogServer.

The PR is ready, as shown in https://github.com/robotology/human-dynamics-estimation/issues/240#issuecomment-789165160, but waiting for a fix in iDynTree to be merged (https://github.com/robotology/idyntree/pull/838)

lrapetti commented 3 years ago

The PR is ready, as shown in #240 (comment), but waiting for a fix in iDynTree to be merged (robotology/idyntree#838)

The PR on iDynTree was merged, so we can proceed with merging also this PR.

Note that currently, the new feature will work properly only on master, but still it compiles and runs with previous tags (e.g. the CI tag 3.0.0) but the force vectors will be positioned in the origin because of the bug described in https://github.com/robotology/idyntree/issues/835

lrapetti commented 3 years ago

Looks good to me. I would just argue that reading two wrenches simply as 12 numbers without any other indication is a bit risky in terms of portability.

I completely agree. Unfortunately that is how the force values are currently streamed by the HumanWrenchProvider, in order to have a better solution we should first improve the way those data are exposed by that device.

lrapetti commented 3 years ago

Looks good to me. I would just argue that reading two wrenches simply as 12 numbers without any other indication is a bit risky in terms of portability.

I completely agree. Unfortunately that is how the force values are currently streamed by the HumanWrenchProvider, in order to have a better solution we should first improve the way those data are exposed by that device.

I also considered reading direcly the wrench values for the shoes (e.g. using IWear interface), but in that case we would need to pass the visualizer some parameters (shoes frame position and orientation), which would have anyway created confusion in configuration files.