# How is the feedback estimated in the torque mode control of a servo motor?

The torque mode control of a servo motor requires the feedback of the current torque generated by the motor in order to compare it against the torque reference signal.

Is the product $$\K_t I\$$ of the torque constant $$\K_t\$$ with the measured (perhaps filtered to denoise) motor current $$\I\$$ the only method to estimate the current generated torque in real-time? Additionally, is the position-velocity-current cascade control loop schematic shown on the linked webpage in error, since it does not explicitly illustrate the torque feedback? Finally, if the schematic is indeed accurate, then is it correct to say that a motor can be run in position mode or torque mode at a time and not both at the same time?

• You've got your quotation markdown backwards. The first paragraph should be the quotation started with the > markdown as you are quoting a book. The second paragraph should be plain text as it is your writing. Commented Mar 24, 2021 at 8:28
• @Transistor I think you're right. That does look better although I was not quoting the text but making statements which reference a website. However, sometimes I put the question statement in a markdown block to emphasize it. Commented Mar 24, 2021 at 14:58
• You can mount the motor on strain gauges for example. But measuring I is usually easier.
– user16324
Commented Mar 24, 2021 at 17:20
• @BrianDrummond thanks for the suggestion. I am aware that using a torque (or strain) gauge (load cell) we can measure the torque. However, if we are not obtaining the expected torque (reference set-point torque) then the troubleshoot seems non-trivial. One guess is that on the sensing side the torque estimate $K_t I$ is higher than the actual obtained torque, while the other is that on the actuation side the hardware is malfunctioning (perhaps damaged). In this case, it is unclear to me whether mechanical strain gauge measurement is the only way to establish ground truth measurement. Commented Mar 24, 2021 at 17:27

Is the product KtI of the torque constant Kt with the measured (perhaps filtered to denoise) motor current I the only method to estimate the current generated torque in real-time?

You are asking whether the current measurement is the only way to estimate current. The answer is that it is the most straightforward method.

Additionally, is the position-velocity-current cascade control loop schematic shown on the linked webpage in error, since it does not explicitly illustrate the torque feedback?

This one?

It's ok, since the box Drive gets a current command and it outputs current, so this is a torque/current controller. It's usually a PI controller with current feedback.

Finally, if the schematic is indeed accurate, then is it correct to say that a motor can be run in position mode or torque mode at a time and not both at the same time?

Basically you are correct. But it can also do positioning with reduced torque, if the current command is limited to max/min value.

But usually an industrial servo drive is a cascade of at least velocity and current controller, so the input is a velocity command and the encoder feedback is connected to it. It can switch the topology of the cascade, so that if the torque mode is enabled, the velocity controller is disabled but the torque is limited (in both situations: velocity/current or extended: position) for maximum speed $$\\omega_{max}\$$, maximum inverter power $$\P=V\cdot I, \;T_{max}=k_t\dfrac{P_{max}}{V}\$$, maximum motor current $$\T_{max}=k_t\cdot I_{max}\$$, maximum motor power $$\T_{max}=\dfrac{P_{max}}{\omega}\$$.

EDIT:

The pre-process of torque/current setpoint, the input is the speed controller output (M=Torque), output goes to current controller input.

Speed controller (PI) with feed-forward path for friction, inertia, dead weight.

• Thanks for the intuitive answer which includes the math as well. Please allow me to probe a bit further. I understand that the cascade topology may be switched (say digitally) to perform the velocity-current/position modes. Further, $P_{max}=VI_{max}$ (probably a typo in the answer) and $T_{max}$ can be imposed by controlling the current. But it is unclear to me how $\omega_max$ can be imposed since $V = K_e \omega$ where $K_e$ is the back EMF constant and the voltage $V$ is the input voltage to the motor and would be constant (being equal to battery voltage, for, say DC motor). Commented Mar 24, 2021 at 15:11
• The $\omega_{max}$ can be imposed by kind of P controller that subtracts the setpoint torque. All other limits are calculated from measurements V,I, omega, but you'll find this kind of limiter only in high end industrial servos. Commented Mar 24, 2021 at 16:17
• Thanks for the quick response. One last question is whether the microcontroller uses anti-windup techniques to avoid breaking the closed-loop due to the integral compensation causing, say, control $I$ saturation? Commented Mar 24, 2021 at 16:23
• In response to your previous comment, I would like to request you to please let me know (1) if it is right to assume that the torque estimate 'to subtract the torque from the setpoint' is $K_t I$ using measured (perhaps filtered) current I (2) whether it is true that the applied external (load) torque is not equivalent to the torque applied by the motor. Commented Mar 24, 2021 at 17:31
• @kb314 For sure each controller with integrator has to have the anti-windup. Usually you do monitor speed and position window tolerance, if not within it triggers an error and emergency deceleration to stop. Once the saturation is reached, then the system doesn't work in linear region anymore, if it doesn't recover ASAP then it won't follow the trajectory and it would overtravel or do some jerky movement. I don't understand questions 1 and 2. How can the motor and load torque be unequal? Where the difference should go? The torque/current controller measures current and mul/div Kt. Commented Mar 24, 2021 at 19:44