Description
Describe the bug
yarpmotorgui sets a reference acceleration value of 100000 upon switching into velocity control mode, see:
yarp/src/yarpmotorgui/partitem.cpp
Lines 948 to 969 in d656d9b
This value is never reset, especially when switching back to position control mode. In consequence, I noticed that positionMove
commands made the robot joints start and stop way too aggresively.
To Reproduce
- Launch the robot controller and the yarpmotorgui, making sure joints are not in velocity control mode.
- Query
get accs
via RPC. - Switch to velocity control mode via GUI widgets in the yarpmotorgui app.
- Query acceleration again, you get 100000.
Expected behavior
-
Can we avoid this
setRefAcceleration
call? -
If not, perhaps set accelerations only when specified via .ini file on start and, then, always switch back to old values upon leaving velocity control mode?
-
Even though we have a reference speed slider (in position control mode), there is no acceleration slider neither in position nor in velocity control modes despite being supported by the corresponding motor control interfaces (
IPositionControl
andIVelocityControl
). I realize there are no acceleration limit accessors in theIControlLimits
interface so that slider ranges are not known beforehand (cf. velocity limits).
Configuration:
- OS: Ubuntu Bionic (18.04)
- yarp version: 3.3.0 (3.3.0+27-20200110.2+git5fbea1e6e)
- compiler: g++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0