yarp icon indicating copy to clipboard operation
yarp copied to clipboard

Unable to set the joint torque feedforward parameter from the motorgui in the compliant mode

Open GiulioRomualdi opened this issue 1 year ago • 5 comments
trafficstars

Describe the bug I'm trying to set the torque feedforward parameter in the compliant mode tab. However the the parameter seems to be not propagated to the low level

To Reproduce Steps to reproduce the behavior: This video should explain better what is happening

https://github.com/robotology/yarp/assets/16744101/d2de37b7-43f7-427d-a6a7-e8bd69350c52

Expected behavior The value should be sent to the low level

Configuration (please complete the following information):

  • OS: Ubuntu 22.04
  • yarp version: YARP version 3.9.0+8-20240206.2+git27242fd41
  • compiler:

Additional context Add any other context about the problem here.

GiulioRomualdi avatar Jun 26 '24 10:06 GiulioRomualdi

I don't know if the problem is due to yarp, icub-main or the firmware. I opened the issue here as entry point since I spot the problem from the motorgui

cc @isorrentino @pattacini @traversaro

GiulioRomualdi avatar Jun 26 '24 10:06 GiulioRomualdi

cc @randaz81 @Nicogene @valegagge @marcoaccame

pattacini avatar Jun 26 '24 11:06 pattacini

I can check in these days.

valegagge avatar Jun 26 '24 12:06 valegagge

Any update? Can I close this? @valegagge @GiulioRomualdi

randaz81 avatar Mar 23 '25 09:03 randaz81

Sorry, but I don't remember anything... :(

@GiulioRomualdi: Do you have any new news on this issue? Would you be able to check if it is still there? If you need my help, please let me know.

valegagge avatar Mar 25 '25 16:03 valegagge

I completely forgot the issue: I can double-check if it is still there!

GiulioRomualdi avatar Jul 02 '25 13:07 GiulioRomualdi

We have the same problem for the current control and maybe also for the velocity control.

isorrentino avatar Jul 02 '25 13:07 isorrentino

I checked again this issue.

Regarding Joint Torque Feedforward: The impedance offset was explicitly disabled by a previous PR in function:

void PartItem::onSendStiffness(int jointIdex,double stiff,double damp,double force)
...
//imp->setImpedanceOffset(jointIdex, force);
...

because the feedforward is supposed to be a value that is set instant by instant, so it is meaningless to set it via yarpmotorgui (and it can potentially override the value set by the controller application). Are you sure you want to enable it again? For example: This value was used to set a torque offset which compensates for the gravity acting on each joint. Hence, if the gravity compensator module is active in the background, it would be an issue if you override this value from the yarpmototgui.


Regarding:

We have the same problem for the current control and maybe also for the velocity control.

I think you are referring to the fields called Pid Output Offset because I cannot find any reference to a "feedforward" value for these control modes. In this case I can confirm that yarpmotorgui correctly sends the value to the low level. So it is probably not handled by embObjMotionControl or by the firmware.

randaz81 avatar Aug 20 '25 15:08 randaz81

Task complete. Fixed by #3274

randaz81 avatar Aug 21 '25 09:08 randaz81