tork-a / dynpick_driver

ROS driver for Wacohtech force sensor
5 stars 17 forks source link

Unit of the driver output #36

Closed ipa-lth closed 6 years ago

ipa-lth commented 7 years ago

I am experiencing an factor of about 30x between the output value and the actual value. Is there a systematic error I am missing? I expect the values to be Newtons. Thanks for your help

534o commented 7 years ago

I see, do you have manuals? if we change something like below, do you get better results?

+            msg.wrench.force.x = (data[0]-8192)/31.0;
+            msg.wrench.force.y = (data[1]-8192)/31.0;
+            msg.wrench.force.z = (data[2]-8192)/31.0;
+            msg.wrench.torque.x = (data[3]-8192)/655.0;
+            msg.wrench.torque.y = (data[4]-8192)/655.0;
+            msg.wrench.torque.z = (data[5]-8192)/655.0;

https://github.com/tork-a/dynpick_driver/blob/master/src/main.cpp#L154-L159

ipa-lth commented 7 years ago

All manuals I have are in Japanese and I am struggling with the translations ;-) I will test the suggestion later, but how did you come up with the numbers 31.0 and 655.0?

Is this a general issue or just with my sensor? If it's a general one, the changes should go into the driver. But I don't know if this breaks your stuff...

534o commented 7 years ago

There is an table MIN/TYP/MAX/Unit in column and FX,FY,FZ, Mx,My and Mz in raw with LSB/10N or LSB/Nm. I do not have any confident but guess that is related with this issue

Since it is 10N, so it should be

msg.wrench.force.x = (data[0]-8192)/(31.0/10.0)

?

k-okada commented 6 years ago

solved by #39, thanks @ipa-lth