robotology / human-dynamics-estimation

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

Replace usage of `analogServer` #358

Open lrapetti opened 1 year ago

lrapetti commented 1 year ago

Currently we are using the analogServer in order to stream the wrench data from IHumanWrench interface (see https://github.com/search?q=repo%3Arobotology%2Fhuman-dynamics-estimation%20analogServer&type=code). However, the analogServer corresponds to the analogWrapper mentioned in https://github.com/robotology/yarp/pull/2999, which will be soon be deprecated.

Indeed we should understand what are the alternatives. One option could be to implement our own message, and wrapper/remapper devices as we are doing for the IHumanState and IHumanDynamics, and removing the IAnalogSensor interface from the wrench provider (see here). Clearly this will also break the ROS pipeline, which anyway should be soon addressed (see also https://github.com/robotology/human-dynamics-estimation/issues/335).

Another option, would be to understand what is the alternative device.

lrapetti commented 1 year ago

cc @traversaro

traversaro commented 1 year ago

For the ROS part, you can use WrenchStampedRosPublisher as long as you expose the data also with a yarp::dev::ISixAxisForceTorqueSensors. For the YARP part, who is using /HDE/HumanWrenchPublisher/wrench:o ? There is any assumption that the data is in vector form?

lrapetti commented 1 year ago

For the YARP part, who is using /HDE/HumanWrenchPublisher/wrench:o ? There is any assumption that the data is in vector form?

I think that specific port is not used, but there is a second analogServer here publishing on /HDE/HumanWrenchWrapper/wrench:o. That port is generally used by the visualizer assuming it's a vector (see here). In case we develop dedicated wrapper/remapper (nws/nwc), we can easily change that part and it would probably also improve the readability. I don't know if you already had in mind another alternative solution.

lrapetti commented 1 year ago

I have opened https://github.com/robotology/human-dynamics-estimation/issues/361 to address the replacement of analogServer for what concern the YARP messages. It will remain the analogServer to stream data in ROS which should be replaced.

claudia-lat commented 4 months ago

I think we can close this issue, am I right?

traversaro commented 4 months ago

Apparently three files are still using that:

I would remove the files before closing the issue. If instead the files are still used, then we have a problem. fyi @S-Dafarra @mebbaid

S-Dafarra commented 4 months ago

Apparently three files are still using that:

I would remove the files before closing the issue. If instead the files are still used, then we have a problem. fyi @S-Dafarra @mebbaid

I think this is similar to what @dariosortino did for the iFeel part. Those wrappers were useful to stream over ROS the values of the shoes I suppose. I doubt they work anyhow, since the ROS group has disappeared from recent versions of the device.

mebbaid commented 4 months ago

As far as I know

dariosortino commented 4 months ago
  • on the human.xml side, the main users are the iFeel human wrenches visualization guys. I think they already moved from streaming the data in that way @dariosortino may confirm.

Sorry but about this I don't really know much what's going on currently

traversaro commented 4 months ago
  • on the human.xml side, the main users are the iFeel human wrenches visualization guys. I think they already moved from streaming the data in that way @dariosortino may confirm.

Sorry but about this I don't really know much what's going on currently

I guess it all boils down to which files you are using in the iFeel-Human demos. If you are not using https://github.com/robotology/human-dynamics-estimation/blob/48d0147a69572cb2d3c3cf06c421d2703e0bc2ed/conf/xml/Human.xml#L197 anymore, then I guess we can remove them. fyi @claudia-lat @GiulioRomualdi

dariosortino commented 4 months ago

Checking in our configuration files, it seems that we don't use that anymore

traversaro commented 4 months ago

Perfect, I guess we can delete the human.xml in this repo then.

lrapetti commented 4 months ago
  • The PHRI XML files were used by @lrapetti for his experiments. Those same experiments will be reproduced by @CarlottaSartore and in this case it maybe a good chance to remove them and adapt to new versions of the device

Those file are actually older, I think they were used for An.Dy demo before I even joined! Concerning Human.xml that's the file that was used for Xsens, I don't know if it might still be needed.

dariosortino commented 4 months ago

It would be nice also to correct this https://github.com/robotology/human-dynamics-estimation/blob/master/misc/hde_scheme.png

traversaro commented 4 months ago

It would be nice also to correct this https://github.com/robotology/human-dynamics-estimation/blob/master/misc/hde_scheme.png

@lrapetti do you happen to know where the source of that drawing is?

claudia-lat commented 4 months ago

@traversaro I've got the .svg of the scheme, I will fix it together with @davidegorbani.

mebbaid commented 4 months ago

you can use the updated figure discussed in the handover in https://github.com/ami-iit/element_ergonomy-control/issues/183#issuecomment-1872496045