SetEndEffectorParams doesn't work correctly


#1

Hello,

after calling SetEndEffectorParams from C++, the data returned by GetPose change to incorrect values.
For example, if the params were xBias=0, yBias=0, zBias=0 and the position before the call was returned with the values x=170 and y=170, the position changed after the call to x=120 and y=120. This could also be reproduced using DobotStudio.
Calling GetEndEffectorParams directly after SetEndEffectorParams shows strange values at least for yBias.
In the debugger the value of yBias is marked with the suffix “#DEN”.
Could you please investigate, what may be go wrong?

Thank you in advance
Michael


#2

What are the default end-effector params? Guess the biases weren’t 0/0/0 initially, so maybe default position has been changed, because of the initial biases settings?


#3

Hello,
thank you for the reply.
The biases are set initially with SendEndEffectorSuctionCup.
Now I replaced the call with a call of SetEndEffectorParams with all biases being 0 to set values initially to zero, but the same effect occurs.
Have you ever successfully made the call?
Best regards


#4

I did it, but I’ve never read those values after changing, so I don’t know if any strange values were stored. What I did was:

EndEffectorParams endEffectorParams;
memset(&endEffectorParams, 0, sizeof(endEffectorParams));
endEffectorParams.xBias = 40.f;
SetEndEffectorParams(&endEffectorParams, false, NULL);

That’s all and it worked for me. Bias value was determined experimentally- I didn’t really measure anything in here.