Page 1 of 1

Strange UI behaviour of Joint Dynamic Properties Dialog

Posted: 15 Nov 2023, 11:10
by RalfR
Not sure if this is a bug, an undocumented feature, a debug remain or a legacy problem:
I have a joint in Kinematic mode. I switch to dynamic mode and open the joint dynamic properties dialog. Next to the "Motion profile control" entry, there is a (checked) checkbox "CB". If I uncheck it, or activate the motion profile control, this checkbox disappears and is gone forever.
What is this value ? Should it be uncheckable/re-checkable ? Is the behaviour intended ?

Cheers

Re: Strange UI behaviour of Joint Dynamic Properties Dialog

Posted: 15 Nov 2023, 11:29
by coppelia
Hello,

yes, this is the intended behaviour: in older versions, the callback function (CB) needed to be explicitly enabled. So that remains for backward-compatibility, until disabled. Then it is gone forever ;)

Cheers

Re: Strange UI behaviour of Joint Dynamic Properties Dialog

Posted: 15 Nov 2023, 13:51
by RalfR
Well, then everything is alright :)
Actually, I have another minor complaint: If I use the joints in kinematic mode, the max speed of the joint is used for the motion, but the corresponding dialog field is in the Joint Dynamic Properties dialog and is inactive (and does not show the entries). So to adjust the speed used for the kinematic mode, I need to change the joints to dynamic, so that the hidden values are available, change the value, then change the joint back to kinematic mode. This is pretty cumbersome. It would be better if the max velocity value would be editable also in kinematic mode.
Oh, and I am not a big fan of using deg/s in the GUI, but rad/s in the corresponding API functions.

Re: Strange UI behaviour of Joint Dynamic Properties Dialog

Posted: 15 Nov 2023, 14:18
by coppelia
Yes, correct. But you can also directly modify those values via sim.setObjectFloatParam and sim.jointfloatparam_maxvel, sim.jointfloatparam_maxaccel and sim.jointfloatparam_maxjerk.

Or you can specify values as third arg. directly in sim.setJointTargetPosition and sim.setJointTargetVelocity

cheers