yarp
yarp copied to clipboard
Unable to set the joint torque feedforward parameter from the motorgui in the compliant mode
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.
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
cc @randaz81 @Nicogene @valegagge @marcoaccame
I can check in these days.
Any update? Can I close this? @valegagge @GiulioRomualdi
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.
I completely forgot the issue: I can double-check if it is still there!
We have the same problem for the current control and maybe also for the velocity control.
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.
Task complete. Fixed by #3274