1. Field of the Invention
The present invention relates to controllers for servomechanisms, and in particular, to a digital servomechanism controller that includes both a "dumb" servomechanism controller and a neural network based servomechanism controller working in conjunction with one another.
2. Description of the Related Art
Computer disk drive servomechanisms are electromechanical devices which require control systems for controlling their rotational velocity and the positioning of their read, write and position sensing heads. Such control systems, commonly referred to as servo controllers, are well known in the art. As illustrated in FIG. 1, a servo controller and the servomechanism to be controlled are typically interconnected in a classical feedback control system design.
The servo controller provides a servo control signal to the "plant," i.e. the disk drive servomechanism, for controlling the performance thereof, e.g. to rotate the storage media and position the read, write and position sensing heads. The plant generates feedback signals which represent actual performance parameters of the plant, e.g. the actual velocity of the storage media and the actual position of the heads. Each actual performance signal is combined with a reference signal which represents the desired performance of the plant. This produces an "error" signal (representing the difference between the desired and actual performance signals) which is used to drive the servo controller.
The servo controller adjusts its servo control signal output in accordance with its error signal input. As the performance of the plant changes in accordance with its servo control signal input, the actual performance feedback signal more closely resembles the reference signal, thereby causing the error signal to decrease. Once the error signal has decreased below a predetermined threshold value, the servo controller ceases to modify its servo control signal output, and instead simply maintains its servo control signal output until such time as the error signal once again rises above the predetermined threshold.
The simplest servo controller is a "dumb" (e.g. non-programmable, or with a fixed or static program) analog network which accepts an analog error signal and provides an analog servo control signal to the plant in accordance with a substantially fixed design or algorithm. In turn, the actual performance feedback signal and reference signal are analog signals as well. Typical control characteristics provided by analog servo controllers are referred to as "proportional," "integral," "derivative" and "proportional-integral-derivative" ("PID").
A "proportional" type of servo controller produces a servo control signal which is proportional to the error signal and can be described as follows:
U=K.sub.p E PA1 U=servo control signal PA1 E=error signal PA1 K.sub.p =proportional feedback coefficient PA1 dt=time differential
where:
An "integral" type of servo controller produces a servo control signal based upon the integral of the error signal and can be described as follows: ##EQU1## where: T.sub.I =integral feedback coefficient
A "derivative" type of servo controller produces a servo control signal which is based upon the derivative of the error signal and can be described as follows: ##EQU2##
A "PID" type of servo controller produces a servo control signal which can be proportional to the error signal, while simultaneously containing components based upon the integral or derivative of the error signal, or both. Such a servo control signal can be described as follows: ##EQU3##
The relative simplicity of analog servo controllers, however, renders them inadequate for controlling today's high performance disk drive systems having increasingly denser storage capabilities. This has resulted in the widespread use of digital servo controllers.
Digital servo controllers, particularly those using microprocessors, allow for more sophisticated control characteristics. By properly programming its microprocessor, a digital servo controller can also be a "proportional," "integral," "derivative" or "PID" type of servo controller. But, the flexibility afforded by the programmability of the digital servo controller allows more precise control to be exercised.
However, digital servo controllers have limitations of their own. Even with their programmability, their design, whether with respect to hardware or software, is essentially fixed. In other words, the control characteristics are fixed in the sense that they cannot anticipate and compensate for the varying control environment and system nonlinearities which inevitably exist but cannot be precisely predicted or modeled.
As will be appreciated, variances in the control environment can arise and system nonlinearities can be introduced in a number of ways. For example, variances in the control environment can arise due to changes in the operating characteristics or tolerances of the hardware components used to construct the system. Such changes can be induced by factors such as changes in temperature, humidity, shock, vibration, power supply voltages, etc. System nonlinearities can be introduced by system hardware components which vary randomly from their nominal rated values, and yet are still within their rated tolerances.
To overcome the limitations of a simple digital servo controller, "adaptive controllers" have been developed. As illustrated in FIG. 2, an adaptive controller is used in conjunction with a digital servo controller. Two error signals are produced, error signals "A" and "B," for use by the digital servo controller and adaptive controller, respectively.
The actual performance signal produced by the plant, in addition to being compared with the reference signal directly, is also compared to the output signal of the "reference model." The reference model is a preprogrammed digital circuit, or software model, which receives the reference signal and produces an output signal based upon a desired copy of the servomechanism system. In other words, the reference model is a mathematical model based upon historical data regarding the control environment and system nonlinearities of the system, including the plant and servo controller. This model is then used to generate a desired model output signal.
The result of this comparison between the actual performance signal and the modified reference signal, i.e. error signal B, is used to drive the adaptive controller. In accordance therewith, the adaptive controller provides a signal to the servo controller which is used to adjust the parameters of the control characteristics used by the digital servo controller in producing the servo control signal for the plant.
For example, the signal from the adaptive controller can be used to adjust the "proportional," "integral" or "derivative" constants or coefficients used by the servo controller in generating the servo control signal. By using the adaptive controller in this manner, the otherwise fixed design or algorithm of the servo controller can be adapted in accordance with the reference model to more closely compensate for the varying control environment and system nonlinearities. In other words, using the adaptive controller in this way allows the overall system operation to track the operation model stored as the reference model.
However, adaptive controllers tend to be quite complex and typically require large amounts of computation time. Furthermore, mathematical models (e.g. for the reference model) which give good representations of the servomechanism control environment and the disk drive system are very difficult, if not impossible, to achieve.
The overall operating environment sought to be controlled is inherently nonlinear. Therefore, the requisite mathematical models should ideally also be nonlinear so as to more closely approximate that environment. However, such nonlinear models provide ad hoc control solutions and are unique for each application to avoid introducing excessive errors of their own. Further, they are generally quite complex and difficult to redesign for use in other applications.
Linearized models, i.e. models which are based upon linear mathematical models, have been used with some success. However, while linear models are simpler and may be more easily redesigned for use in other applications, their performance outside of the relatively narrow regions for which they are optimized has been disappointing.
To meet this need for servo controllers which can adaptively control inherently nonlinear servomechanisms in a varying control environment, intelligent servo controllers have been proposed. An advantage of intelligent servo controllers is their ability to provide more reliable generalized solutions for controlling servomechanisms over wider ranges of operating conditions and uncertainties. This is in contrast to the ad hoc control solutions provided by adaptive controllers using nonlinear models which tend to be application specific.
One type of proposed intelligent servo controller uses artificial intelligence. Another proposed type, which offers better performance, is referred to as "fuzzy." However, the artificial intelligence or "fuzzy" controllers are still computation intensive and based upon rules or algorithms. Therefore, their generalization capabilities are poor. Thus, they have not been widely accepted.
A third type of proposed intelligent servo controller, which has offered the best performance so far, is that which uses a neural network. Its advantage is that a neural network is not reliant upon algorithms and is capable of adapting to virtually all parameter or system variations. Therefore, it has better generalization capabilities.
Using a neural network servo controller to control a disk drive servomechanism requires that the neural network servo controller be coupled to the plant in two distinct configurations, as shown in FIGS. 3A-3B. As shown in FIG. 3A, the initial configuration establishes the general learning phase for the neural network servo controller. The neural network servo controller receives the actual performance signal from the plant and adjusts its adaptive weights in accordance with the error signal produced by the comparison of the reference signal with the output signal of the neural network servo controller. In this configuration, the neural network servo controller learns the inverse model of the plant broadly.
The second configuration, shown in FIG. 3B, is the specialized learning phase for the neural network servo controller. The reference signal drives the neural network servo controller directly, and is also compared to the actual performance signal output of the plant to produce the error signal. The error signal is then used to further train the neural network. Therefore, in this configuration, the neural network servo controller controls the plant via the servo control signal, while simultaneously learning and adapting to variations in the control environment and system nonlinearities.
However, the use of a neural network based servo controller has limitations with respect to its practicality. The general learning phase, as illustrated in FIG. 3A, is very broad. A large number of hardware neurons, or software based calculations, are needed to take advantage of the higher resolution and accuracy capabilities provided by the neural network. Furthermore, to achieve maximal generalized learning, rigorous learning in the form of using many sets of input patterns, i.e. reference signals, is required.
Therefore, it would be desirable to have a disk drive servo controller which provides the resolution, accuracy and adaptability of a neural network, but which does not require an impractically large number of hardware neurons or software based calculations, nor require extensive input learning patterns.