On our daily lives we interact with devices (some engineered) that can steer toward a desired position. That could be a linear position, in a cart, in a valve or lock, angular position, in a motor or rotary system, or some more complicated 3D task, such as a robot or human arm. For their ubiquity, some may believe that position control is a simple, almost trivial task. They are up for surprises.
One of the main challenges is the nature of the friction forces affecting motion. Friction is a complex phenomenon. And it is everywhere. At least on earth, where gravity bounds objects to contact. When it comes to motion, friction can be both an enabler as well as an inhibitor. Remove friction and simple tasks become more complicated: try walking or driving on ice! Add friction and simple tasks become more complicated: try skating on dry land!
In high school physics, you might have spent time talking about the Coulomb model of friction, also know as dry friction. In a nutshell: friction force is independent of velocity; friction force depends on the force normal to the surface of contact; kinetic friction is a constant force smaller than static friction.
Whenever motion is the desired outcome, engineers spend countless hours fighting friction. Because of the dissipative nature of friction, whenever energy is of concern, which is almost always, friction is the number one enemy. Even if friction cannot be completely overcome, it can sometimes be suppressed by clever design.
Take for example a wheel. What is it if not a device that allows motion in the presence of dry friction? The contact point of the wheel with the rolling surface is never in motion, with static friction converted into motion by rolling. See how a nuisance, static friction, has becomes the essential driving force of motion? Even walking is closer to a wheel than you might think!
Attach a body to a wheel and you have a device that is ready for motion. Unless your want that body to rotate along with the wheel, you need a coupling mechanism that can keep the body orientation constant while allowing the wheel to roll. One such a device is a bearing. That coupling between the body and the wheel will itself experience friction. What do you do? Use more wheels! Bearings have multiple wheels, in the form of rollers, typically spherical or cylindrical, and use lubrication to keep friction forces as low as possible.
So why controls books, including this one, do not spent any time talking about Coulomb friction? I believe that there are two main reasons, depending on whether the friction is kinetic or static.
When the goal is to control speed away from zero, bearings and other clever designs can keep the values of Coulomb friction generally low. Even when the amounts of kinetic friction are significant, they can be though of as constant disturbances (indeed constant if the normal forces do not change significantly), or can be safely upper-bounded by a constant disturbance. Linear feedback systems can deal with constant disturbances very well! Cruise controllers are, for the most part, linear controllers.
However, if controlling a body to slow down or to stop, as in position control, the Coulomb friction can and will become static during the motion. In this context, the reason for not studying Coulomb friction, at least in a linear control textbook, is that Coulomb static friction is definitely not a linear function of the velocity! Indeed, the exact value of static friction force can only be inferred indirectly as a reaction if a body is not in motion.
But static friction it is what a body experiences if you desire it to be positioned at a precise location! The implications for control systems? A linear controller will generally fail to reach a desired position, or at least not as accurately as a linear speed controller could reach a desired speed.
Say that you have a standard linear proportional controller
$$u(t) = K (\bar{y} – y(t))$$
that is tasked with producing a force, $u(t)$, that will drive a certain body’s position, $y(t)$, towards a desired constant position, $\bar{y}$.
When $y(t)$ is far away from $\bar{y}$ things might seem to work just fine (how far can you be so as to avoid your force actuator to saturate?) However, as the position approaches its target, and in the absence of other forces, there will be a point at which the control force $u(t)$ will fall below the dynamic Coulomb friction and the body will simply stop right there, before ever reaching $\bar{y}$. Depending on the particular value of $K$, this might be close enough to call the job done, or not. Because by now you should be aware to be careful not to use high values of gain $K$ “in the wild,” you can anticipate how troublesome this can be! Accurate position control cannot be achieved by linear control alone.
But wait, how about integral action? Can’t we use integral control to close in the target? Unfortunately, the answer is a resounding no. In fact, integral action in position feedback systems causes more trouble than it solves.
Think about the situation described above: your body has just stopped close but before reaching the target $\bar{y}$ and you have an integrator in the loop. At that point, since there is no motion, the error, the signal $e(t) = \bar{y} – y(t)$, is not zero. The integrator keeps on integrating until it generates enough force to cause the body to move. The level of force required to recover motion was greater than the kinetic friction. For that to happen, the integrator had to wind up, as discussed in Section 4.3. In order for the integrator to wind down, a negative error signal will have to drive the controller. That means the body will have to go past the target position, that is it will overshoot, at which point, as soon as the integrator winds down, it will start moving back toward the target, when it will again stop as soon as the forces get below the dynamic friction force, again without reaching the target $\bar{y}$. What’s next? As before, integrator will wind up, body will move, overshoot, and you got yourself an oscillator, not a position control system!
But wait, how about stepper motors? Or my hobby servo? We will talk about those another day.