3
$\begingroup$

I'm working on a robot arm project for hobbyist / learning purposes. One of my DIY motivations is to be able to easily add additional sensors. I've been thinking about using ACS712 linear current sensors to measure the drain on each servo. (The hobbyist servos will be Gobilda 2000 series).

Googling has found reports of mixed experiences using current to make inferences about servos - some positive, some negative. Those claiming success seem to be using integration methods (either hardware or software) to get an indicative current over time value. This seems to filter out unpredictable instantaneous measurements.

My question is. Is measuring servo current drain a reasonable approach to make inferences about servo torque / force? If so, are there practical tips regarding implementation or limitations?

$\endgroup$
2
  • 2
    $\begingroup$ Absolutely look up the definition of electric torque constant Nm/A..the major issue is that it takes a lot of work to get a half decent approximate, the question is how much real accuracy do you need, and should you use a sensor to get real values instead of inferred $\endgroup$ Sep 26, 2021 at 14:36
  • $\begingroup$ Thanks @morbo, I’ll read up on the Motor Torque Constant (en.wikipedia.org/wiki/Motor_constants?wprov=sfti1) $\endgroup$
    – RowanP
    Sep 26, 2021 at 22:32

1 Answer 1

2
$\begingroup$

Yes, measuring motor current will give you a rough indication of torque. However, there are some caveats.

Any gear train that you have between the load and motor will decrease the usefulness of current measurement. Some gear trains are better about this than others. I'm not 100% sure, but I think this is directly related to its backdrivability. At the extreme case, if you have a worm gear in there (which is not backdrivable at all), then measuring motor current will tell you very little about the load. By far the best scenario for this is a direct-drive motor.

Be wary of hysteresis. And getting different values when the load is or is not in the direction of motor motion. Or when the motor is stopped. Even very small motor motions can change the value you read. For example, in [1], the authors dithered the motor to improve motor torque estimation.

Of course direct force/torque measurement is always going to be more accurate. In almost all cases I would recommend direct measurement.

[1]: Stolt, Andreas & Robertsson, Anders & Johansson, Rolf. (2015). Robotic force estimation using dithering to decrease the low velocity friction uncertainties. Proceedings - IEEE International Conference on Robotics and Automation. 2015. 3896-3902. 10.1109/ICRA.2015.7139742.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.