tork-a / dynpick_driver

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

Adding more build-in features by sensor #39

Closed ipa-lth closed 7 years ago

ipa-lth commented 7 years ago
ipa-lth commented 7 years ago

I tested it on a A6500 and will probably use it on a A6200

k-okada commented 7 years ago

Thank you for contribution!!! Just out of curiosity, this code will calibrate when the node startup, so for example, assuming extreme case, to start this node, we need to make sure that there is nothing on the sensor, and during the experiment, someone put the object on this sensor and the node measures the force. If the node stops for some reason, and we restart them. Then the node publishes zero. So avoid this solution, one possible solution is to store calibrate data into rospaarm and load them when startup, also enable to calibrate by service call (std_srv/Empty) may help. But this might be future work. I think this PR itself seems ok for me.

ipa-lth commented 7 years ago

Don't worry. The calibration is not "tare". It does not depend on the current load, but is (statically) stored on the sensor itself. As far as I know, wakoh will calibrate their sensor, store it and it will never be changed again (besides possible wakoh recalibration). I included a rosparam "acquire_calibration". If you set this to false it will just behave like before this fix. We could indeed store the values somehow (e.g. in the parameter-server or a yaml) but o be honest I don't really see the point: If you have to restart your sensor (driver) and it is not returning (valid) sensitivity measures, it is broken and should not be used anymore without concerns. We might could add safety by storing the values and double-check if the values are ok though. This could warn, if the sensor behaves odd or it was changed to another model/version.

k-okada commented 7 years ago

great , thanks.