In my teenage years, I was always fascinated to see that exactly when the church bell of my village started to ring, the herd of grey cattle always arrived in front of the little church where the farmers were waiting for them. It made no difference what the weather was like or how far from the village the cattle were grazing that day; they always made it exactly on time. The farmers were waiting there, discussing the news of the day, and took it for granted that the cattle would always arrive in time for the farmers to get back to their homes for milking, and after that, for dinner, where the goulash with lots of paprika had been slowly boiling all day and would just hit the spot, and finally get them ready for the pálinka and the storytelling after it.
How did this happen? What cascade control algorithm was used to adjust the speed and direction of several hundred animals, and what were the manipulated variables of this cascade loop? By the way, some say that these often one-ton animals were brought to Europe by Attila the Hun (Hun-garian), providing his fighters with blood and milk—fuel for destroying the Roman Empire.
In any case, the slave controller of this selective PID loop was the herding dog called Bodri, member of the the famous herding breed, the Hungarian puli, whose eyes are permanently hidden, and are believed by some to not even exist. (Other Hungarian breeds include the hunting vizsla and the herding komondor.)
The cascade master of the loop was uncle János, the herdsman, who spoke to his horse and dog in single-word sentences. Based on these one-word setpoint adjustments, Bodri, the slave controller, applied his "herding PID algorithm," and went after only one animal at a time, always the one that was furthest away from the desired direction or was the slowest.
I used this same algorithm on several jobs. I called it the "Puli Envelope" and later, because nobody knew what a puli was, changed it to "Envelope Optimization." I used this control strategy when maximizing the heat efficiency of the IBM headquarters building at 590 Madison Avenue in New York.
During the winter, I herded the heat from the interior offices to the perimeter by throttling one damper at a time (out of hundreds), always the one that was furthest away from the optimum.
I also used this "herding control" to optimize many combustion and boiler control systems. This was done by configuring a control envelope, such as the one shown in Figure 1, to control several variables simultaneously by switching the control from one measurement to another, depending on which got closest to the border of the envelope.
For example, assuming that the boiler is on CO control, the microprocessor will drive the CO setpoint toward the maximum efficiency, but if in so doing, the opacity limit is reached, that will override the CO controller and prevent the opacity limit from being violated. Similarly, if the microprocessor-based envelope is configured for excess oxygen control, it will keep increasing the boiler efficiency by lowering excess O2 until one of the envelope limits is reached. Then control is transferred to that constraint parameter (CO, HC, opacity, etc.), and through this transfer, the boiler is "herded" to stay within the envelope defined by these constraints. These limits are usually set to keep CO under 400 ppm, opacity below #2 Ringlemann, and HC and NOx below regulations.
Microprocessor-based envelope control systems can also include subroutines for correcting the CO readings for dilution effects or for responding to ambient humidity and temperature variations. As a result, these control systems tend to be both more accurate and faster in response than if control was based on a single variable. The performance levels of a gas-burning boiler under both excess O2 and envelope control are shown in the lower part of Figure 1.
Envelope control also can be implemented by analog controllers configured in a selective manner (Figure 2). Here, each controller measures a variable and is set to keep that variable under (or over) some limit. The lowest the output signals is selected for controlling the air-fuel ratio by adjusting the combustion air flow, which ensures the controller most in need of help is selected for control. Through this herding technique, the boiler process is kept within its control envelope. Reset windup in the idle controllers is prevented by using external reset, which provides bumpless transfer from one controller to the next (Figure 2). Operator access is shown by a single auto/manual (A/M) station. A better solution is providing each controller with an A/M station. Then, if a measurement is lost, only the defective loop needs to be switched to manual, not the whole system.
I was reminded of this herding business by reading about the "tunnel controls" used in sending our robot to Mars, where this fast, missile-guiding process was stabilized (the vehicle was kept on course) not by forcing it to follow a single line (single setpoint), but allowing it to drift inside a control envelope, and making adjustments only if it reached the side of the control tunnel.
So, in a way, Bodri helped us to get to Mars, and on the other hand, we have reached the age when machines are starting to substitute not only for our muscles, but also for some of the routine functions of our brains.