Friday, April 29, 2011
The Ins and Outs of Control
Control is a major branch of engineering, but one that rarely gets much credit, bowing to more popular fields like robotics and computers, both of which play important roles within many control systems. Contrary to what the title for this article might suggest, my intention is not to communicate an in-depth understanding of the details of control theory. My aim is to provide an introduction of what control systems are, and how they work. But I just couldn’t resist the title, because as we will soon see, control is all about inputs and outputs.
These days, people want devices they can control. However, we tend to ignore the fact that the actual control of such systems takes place behind the scenes, in a control box. The systems that people interact with are autonomous – the user inputs the desired output, and the control system takes care of the rest.
Whether the system in question is the cruise control of a car or the heating of a home, the only parameter that users can manipulate is the input. For the car, the input is the desired velocity to cruise at, and for the home, it is the desired air temperature.
The control of a given system can be broken down into three parts: input, transfer function, and output. The input is what the user wants the controlled parameter to be while the output is its current value. The transfer function is the guts of the control system, which aims to make the output equal to the input. The output is recorded by some kind of sensor.
The simplest example of a control system is the heating system of a house. The user stipulates a certain desired air temperature in the house (the input). The system regularly measures the air temperature (output) and aims to bridge the gap between output and input. If the output is lower than the input, the heating system will turn on. If the output is greater than or equal to the input, the furnace shuts off automatically. Here, the sensor in the control loop is a thermometer.
What makes the heating system so primitive is that the furnace often has just two settings: on or off. A more advanced transfer function would take into account the rate at which the temperature appears to be changing, and adjust the power of the furnace accordingly. The simplicity of the typical heating control in a home leads to overshoots in the output. The output temperature usually oscillates around the desired input temperature. A more advanced transfer function would keep the temperature fluctuations smaller.
One thing we observe is that the furnace does not care what factors are contributing to the temperature change. This is common to control systems. In a car, for example, there are many factors that contribute to the output velocity. The control loop for a cruise control system just monitors the current velocity, and adjusts the engine rpm appropriately to remain as close to the driver’s input velocity as possible. The road inclination, air resistance, and surface conditions all impact the car’s speed, but the control loop does not take these into consideration.
I recall one particular instance where the danger of using an autonomous driving system was highlighted to me. During a long road trip in the state of New York, I decided to engage the cruise control of my car, and I input the desired speed of 70 mph. On the smooth American roads, it is often easy to drive significantly higher than the posted limit without noticing. I employed cruise control to avoid an accidental speeding ticket.
After cruising for a while, I eventually approached some construction. I disengaged the cruise control and drove manually through it, at about 40 mph. Once I had made my way through the construction zone, I wished to resume my 70 mph, and so I re-engaged the cruise control. This turned out to be a mistake. The cruise control system read its current output at 40 mph and assumed the same previous input of 70 mph. The transfer function wished to bridge the 30 mph speed gap, and to do it...swiftly. The car’s ‘auto-pilot’ slammed on the gas, raising the engine’s rpm to about 7000, which, unless you are in an F1 race, is not recommended.
Some control systems include ‘if statements’ within their loops. My car’s cruise control did not have a maximum allowable rpm. The cruise control system of a car reacts proportionally to the difference between output and input, and lacks the common sense to realize that slamming on the gas pedal in the middle of the highway is outside the driving habits of any normal driver. The mentality of my car’s cruise control would fit in nicely in the Vin Diesel movie that hits theatres today.
Fortunately, I was a safe distance from the next car in front of me when the engine went nuts, and I did not rear-end anyone. But, the incident illustrates an important point. The fact that the actual control of today’s devices takes place behind closed doors can present a hazard to its users. It is one of many instances where the distance between man and his tools can get him into trouble.
We take for granted the ease with which the air temperature in our homes remains regulated. The decision of whether or not to fire up the furnace is made by a computer, and not a real person. In the case of heating our homes, the risk of some poor computer code is very low, and the consequences of having a furnace on for an extended period of time due to some poor code are mild. A furnace system can be safely operated by a control system, and it’s a good thing, because manual control of a furnace would become tiresome in a hurry.
On the other hand, a more complex device, like a car, should not be operated by an auto-pilot, as there are too many unpredictable factors that can impact an automobile. I don’t think that a computer should be parallel-parking our cars, regardless of how robust the control system in charge is. As bad as human drivers have proven themselves over the years, with their incessant tailgating and other offensive driving habits, the little bit of common sense they do have is preferable to the auto-pilot, which has none. (Not to be a control freak, or anything like that.)
Whether the gaps between your desired inputs and sensed outputs are bridged by a human being or a transfer function, I hope this brief article has shed some light on a subject that hides in the darkness of a control box.