motor controllers
what is the actuated quantity
Yes, the output of the control electronics and the input of the motor, in the simplest case -- DC permanent-magnet motors -- is the voltage applied to the motor.
In other cases, the output of the control electronics is the duty cycle of a PWM voltage applied directly to the motor or indirectly to the "signal" wire of a radio control servo.
They work a little differently.
In yet other cases, many people control position using stepper motors.
They work very differently than DC permanent-magnet motors.
motors
the actuated quantity gets turned into
Your suggestion of "torque control" is approximately true when motor very slow or stopped.
The so-called "back-EMF" generated by the motor by "generator action" is proportional to its angular velocity.
This back-EMF allows motors to be used as generators, such as the motor/generators used in a few cars and the regenerative breaking used in a few vehicles.
(Part of the back-EMF is caused by the "autoinductance" of the windings, but that part is usually negligible, so I will not mention it further -- the article you mentioned has a good explanation).
At any instant, the electrical current in the motor is proportional to the applied voltage minus the back-EMF.
Meanwhile, the mechanical torque generated by the motor is approximately proportional to that electric current.
Therefore at low speeds the mechanical torque generated by the motor is proportional to the applied voltage.
But at high positive speeds, the torque generated by the max positive voltage is less; the "max speed" is often defined as the speed where the max positive voltage gives zero torque.
PID
assume that the servo is holding a weight at a distance (so it is acting against gravity), which means an approximately constant torque load. In this case, if the position error is zero and the servo is at rest, then each of P, I and D components are zero, which means the exerted torque is zero. This would cause the weight to sink, which is countered by the error in its position causing P,I components to increase. Wouldn't this situation cause the lifted weight to oscillate and balance at a constant position which is significantly different from the goal position?
There are 2 different cases: the short-term state immediately after some heavy load is applied, and the long-term state after the arm is allowed to settle.
Please tell the person who told you that "if the position error is zero and the servo is at rest, then the I component is zero" to experiment with a PID controller, or read a little more about control systems (a, b, c, d, e), or both, to fill in the gaping hole in his knowledge of what the I component does in a PID controller.
PID with near-zero I component
In the short term, the P, I, and D components start out at approximately zero,
and so the exerted torque is approximately zero.
When Fred suddenly applies a heavy load, there is not enough torque to hold it in position, so it sinks.
The error in its position causes the P,I components to increase.
If, hypothetically, one had a controller where the I component was completely ignored,
then the arm would settle at some constant position, as you mentioned.
The arm would stabilize at the position where the voltage supplied by the controller (proportional to P, the error in position) was exactly enough to hold up the weight.
PID with significant I component
However, with the PID controller you mentioned, the I component increases as long as there is any error.
Eventually there would be enough I component accumulated that the controller would increase the voltage more than enough to hold up the weight, pushing the weight back up towards the zero-error point.
Whether the weight overshoots or not depends on how the PID controller is tuned, but as long as the P,I,D components are anywhere close to a reasonable value, the PID controller will eventually settle down to the state where:
- the arm is stable at almost exactly the goal position (with practically zero error)
- therefore the P and D components are practically zero
- The I component is not zero -- it still has some large value that accumulated previously when the arm was below the desired position.
- the control electronics (because the I component is not zero) drive the motor with some voltage
- the motor converts that voltage into some torque that holds the weight up at the goal position.
Many robotic control systems are quick enough that they converge on this final state within a tenth of a second.
When Fred (that prankster!) yanks the weight off the arm,
even though the arm is already at the goal position,
the high accumulated I component causes the arm to pop up.
That small error causes the accumulated I component to bleed off,
and (hopefully soon) the arm returns to almost exactly the goal position (with practically zero error).