Not Applicable.
Not Applicable.
The concepts described herein relate to feedback control, and more particularly to a method and apparatus for pulse-modulated feedback control to overcome hard non-linearities.
As is known in the art, feedback control is one important element of modern machine design. While it is effective in most cases, physical phenomena such as static friction complicate conventional feedback control strategies such as proportional-integral-derivative (PID) control. Friction exhibits a highly-variable “hard” (discontinuous) non-linearity which challenges even advanced feedback control strategies. Other non-linearities include, but are not limited to hysteresis curves, backlash, sudden changes in an environment, non-repeatability or uncertainty in the parameter values.
Friction is everywhere. Friction and stiction exist between any two objects sliding on each other. Friction is found between valves in hydraulic pipes, between bearings and shafts, in any mechanical transmission system or in any actuator. To control motion with physical actuators, the effect of friction must be considered. In heavy industrial manipulators, friction can cause large errors in position, in some cases errors up to 50% or more in position. In precise robotic motion control, poor friction compensation leads to tracking errors. Friction compensation is thus a crucial step in designing a controller for any active system with physical actuators.
Various techniques have been proposed to compensate for friction. Generally, the approach is to establish a mathematical model of the system friction through identification procedures and then, based on this model, add a friction compensation term in the main control loop. Often, better estimation of friction can be achieved using a dynamic friction model, which is updated by a state observer in the control loop. If a model of friction is not available or cannot be identified, classical PID control with properly pre-tuned parameters may be used.
U.S. Pat. No. 6,285,913B1 describes a control system which generates a pulse train which is not dependent upon position error (open loop). The amplitude and frequency of the pulses is fixed and the amplitude of the pulse is 1-10% of the controlling range of the control signal (intentionally kept low). The pulse train is superimposed on top of a control signal going into an actuator.
One prior art reference entitled “A Simple Neuron Servo,” IEEE Transactions on Neural Networks, Vol. 2 No. 2 Mar. 1991 by Stephen P. Deweerth, et al. (hereinafter “Deweerth 1991”) describes modulation of velocity. This is achieved by a complex neural network controller whose output is a sequence of pulses. Thus, the implementation of the Deweerth system is relatively complex.
Another prior art reference entitled “Application of Electromagnetic Impulsive Force to Precise Positioning,” The Bulletin of the Japan Society of Precision Engineering, Volume 25, pp. 39-55, 1991 by Higuchi Hojjat, et al (hereinafter “Hojjat 1991”) focuses on the development of apparatus for supplying an accurate magnitude of impulse for precise positioning. The system described in this reference utilizes a main controller having an undesirable level of complexity and furthermore, the system can only modulate position.
Another prior art reference entitled “Pulse Modulation Control for Flexible Systems Under the Influence of Nonlinear Friction,” a dissertation submitted in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the University of Washington, 2001 (hereinafter “Rathbun 2001”) describes a control scheme having an undesirable level of complexity.
It should be appreciated that the prior art techniques perform reasonably well only if some knowledge of the friction is provided. For this reason, some techniques work only for some specific problems. Hence, none of the prior art techniques are simple, robust or versatile enough to serve as a general method for friction compensation. Worse yet, if the friction is highly non-linear and/or non-repeatable none of these techniques will work consistently.
It would, therefore, be desirable to provide a method and apparatus for a simpler and more robust feedback control which copes with the non-linearities.
The present invention is inspired by the simplicity and robustness of conventional “on-off control” which modulates an outcome by turning a plant on or off. A typical home heating system is of this type. Conventional on-off controllers, however, are successfully applied to systems with long time-constants and, more important, without discontinuous (“hard”) nonlinearities such as static friction. The present invention takes advantage of the ultra high speed and precision of modern digital processing to overcome this limitation and provide a method and apparatus for a simple, robust feedback control which copes with non-linearities.
In accordance with the present concepts, systems and techniques described herein, a control system includes an actuator, a pulse modulated (PM) controller coupled to the actuator for turning the actuator on or off in response to an input provided thereto.
With this particular arrangement, a PM control system which uses high-frequency on-off switching of a system (or plant) to achieve fine control of position and velocity under uncertainties such as the static friction is provided. It should, of course, be appreciated that any other external disturbances that are not considered in the model could be viewed as uncertainties. Examples include, but are not limited to, a noisy environment, modeling error (friction, misalignment in the shafts, fabrication error . . . ), gear train, or external intervention.
By using high-frequency on-off switching of the system, the control system is able to overcome hard non-linearities. The PM control system and techniques described herein work on rotary motors, valves as well as with actuators, including, but not limited to linear motors, engines and pumps.
In accordance with the concepts, systems and techniques described herein, the decision of whether to supply a pulse (and to which direction) depends upon the current position error (closed loop) while a frequency of the pulse is neither defined nor needed. Furthermore, the pulse amplitude can be as high as the maximum controller output (intentionally kept high) and the sequence of pulse itself goes into the actuator.
A control system provided in accordance with the concepts described herein has the following advantages: (a) it does not require a rigorous model; (b) it is simple (e.g. is not a supplementary controller attached to a larger, more complex control scheme); (c) the system can modulate velocity (i.e. the system does not have to come to rest for the next impulse to hit); and (d) the system is energy efficient (since the motors are said to be the most energy efficient when they are at full speed or fully off, it is believed that the system is energy efficient since the PM controller essentially jumps between these efficient states and avoids the mid-speed region where the actuator could be less efficient).
It should be appreciated that this control scheme does not require a rigorous model, because having an accurate model or not does not affect the performance of the PM controller. In other controllers such as PID, one needs to know the system characteristics to the extent that a math model can be formulated of sufficient accuracy to enable proper selection of gains, otherwise the PID controller may not function properly. In some cases the PID controller will not work regardless of the model, especially if there is a discontinuity in the model near the operating condition such that very high gains are required. Also, almost all other cases of friction compensation controllers require some knowledge of the friction itself in order for the scheme to work properly. In the PM controller described herein, a model of the friction is unnecessary. It is believed that the PM control scheme described herein does not require a model because the controller essentially does only two things: i.e. turns on or turns off. Thus, the system response to anything in between is unimportant. Or more simply put, it is because the controller is very simple. As long as the system shows non-zero response to the ‘on’ command and no response to the ‘off’ command, the PM control will work.
It is important to note that the PM control scheme described herein successfully modulates a given time history of position (velocity), whereas prior art techniques primarily only deal with a single target position to be acquired. In the PM control scheme described herein, velocity can be modulated by providing a target position which changes with time. The controller does not require information on the current velocity. The controller merely requires information which describes whether the current position is where it should be or not. This simple decision making is enough to let the system follow the position trajectory.
The PM control scheme described herein can be used to overcome static friction and is used with high frequency switching between on and off states. High speed switching is responsible for the position tracking (velocity modulation). Overcoming friction can be credited to the fully on-fully off nature of the controller and related techniques described herein. As long as the actuator is strong enough, its full-on state is able to overcome the static friction.
Furthermore, PM control techniques described herein are the first attempt known to use high-frequency on-off switching of the plant to achieve fine control of position and velocity under uncertainties such as static friction.
The PM control scheme utilizes a simple feedback control strategy (i.e. a pulse-modulated control) which effectively makes the non-linearities ‘disappear’ from the physical plant. Thus, the method and apparatus for feedback control described herein copes with non-linearities.
The PM control technique described herein is relatively simple to implement compared with prior art approaches, yet the PM control technique described herein can overcome the highly non-linear, non-repeatable form of friction that no tractable math model can successfully describe. One does not need any knowledge of friction, even if its behavior is highly non-repeatable. One does not need to design a complex main control loop in order to successfully compensate for the friction. PM control is by far the simplest, cheapest, and most versatile friction compensation technique developed to date. Its simple form and reliability enables PM control to be used in a variety of situations, such as controlling fine movement of micron-scale objects (at that scale stiction is the dominant force), achieving better ‘feel’ by eliminating the effect of friction in medical robots interacting with humans or animals, controlling the position of robotic manipulators or vehicles, or modulating the opening and closing of pressure valves in large-scale pipelines in the energy industry.
Since PM control modulates an actuator to be either fully-on or fully-off, its performance is indifferent to how the actuator behaves in moderate operating conditions. In addition, when the actuator with PM control is turned on, it spends as little time as possible in the high-force, no-velocity region where the input-output power efficiency is poor, and moves quickly to the low-force, high-velocity region where efficiency is highest. This means that PM control naturally drives the actuator in the most efficient way. This binary nature of PM control is analogous to how modern digital circuits work; for example, complementary metal-oxide semiconductor (CMOS) circuits operate at full-on or full-off states for maximum efficiency and robust noise rejection. The basic idea of the most successful electronic circuit design—digital switching between 0 or 1—can be used in physical systems with PM control, and achieve maximum efficiency, simplicity and robustness in compensating for friction.
The PM control strategy described herein effectively overcomes hard non-linearities in a system which cannot be remedied by other conventional feedback control strategies. It is shown that the techniques described herein work well on a system with highly variable non-linearity, in contrast to unacceptable performance of proportional (P) control, for example. The strategy is simple enough to be described in a few lines of computer code, and promises to find successful application in many other systems with similarly challenging non-linearities.
The foregoing features of this invention, as well as the invention itself, may be more fully understood from the following description of the drawings in which:
Before describing a pulse modulated (PM) controller and techniques for implementing a PM control strategy, it should be appreciated that, in an effort to promote clarity, reference is sometimes made herein to the PM control strategy as applied to a rotary electric motor having a gear train which exhibits non-linear static friction. Thus, in this specific example, a PM controller and PM control strategy is described in the context of a system having non-linear static friction. Such reference should not, however, be taken as limiting the PM controller and PM control strategy to use with systems having non-linear static friction. Rather, as mentioned above, the PM controller and PM control strategy described herein find application in a wide variety of different systems including but not limited to rotary motors, valves and actuators, including, but not limited to linear motors, engines and pumps.
Accordingly, those of ordinary skill in the art will appreciate that the description provided herein of processing taking place to address issues caused by non-linear static friction could equally be taking place to overcome other non-linearities in a wide variety of different types of systems.
Referring now to
The PM controller strategy will be described in detail below in conjunction with
Referring now to
V
e
=V
command
−V
actual
In response to the comparison, the PM controller determines whether the error value Ve is greater that an upper bound value, Vupper. This upper bound value is pre-determined and provided by the user.
If a decision is made in block 26 that the error between the command input and the actual state is greater that an upper bound value, then processing proceeds to block 28 where controller provides a control signal having a first value. That is,
If in decision block 26, a decision is made that the value of the error is less than an upper bound value, then processing proceeds to decision block 30 where PM controller determines whether the value of the error Ve is less than a lower bound value, Vlower. The lower bound value is pre-determined and provided by the user.
If a decision is made that the value of the error is less than the lower bound value, then processing proceeds to block 32 where PM controller provides a control signal having a second value which is different that the first value. That is,
If a decision is made in decision block 30 that the value of the error is not less than the lower bound value (Vlower), then processing proceeds to block 34 where the PM controller provides a control signal having a third value which is different than the first and second values.
As shown in decision block 36, if there are more cycles, then processing loops back to processing block 20. Otherwise, processing ends.
Thus, in practical systems in which the process of
In order for the PM control to be successful, the magnitude of the first and second values should be large enough to drive the system past the region affected heavily by the non-linearities. The third value is usually, but not limited to, zero. It should be appreciated that in most systems, the third value is zero (or more precisely substantially zero) however, the third value need not be zero (or substantially zero). That is, in some applications, it may be desirable to make the third value some non-zero value (e.g. a value smaller than the first and second values, but not zero).
Referring now to
As is known, rotary electric motors are a widely used type of actuator. Because they operate well at high speed (e.g. tens of thousand of revolutions per minute or RPMs) it is common to place a gear train on the motor output shaft to reduce speed and increase torque output. The gear train typically includes several stages of gears, and each stage exhibits non-linear static friction that depends in general on the configuration and loading of the other stages. A typical configuration is the Maxon EC6 motor with gearhead #304180. The static friction exhibited by this configuration is highly variable, as will be discussed below in conjunction with
As described above in conjunction with
The effort with which the system is being pushed or pulled by the actuator is given by Vp, chosen in this example to be the maximum driving voltage that can be delivered to the actuator. In words, the PM controller uses the actuator to push the system forward as hard as possible if it is behind the commanded input by more than ΔV, and to pull the system backward as hard as possible if it is ahead of the commanded input by more than ΔV. When the system is close enough to the command (i.e. the error is less than ΔV), then the actuator does nothing. Hence the actuator is either fully “on” (in either direction) or completely “off”. In this regard, PM control resembles modern digital electronics but applied to mechanical hardware. It should be noted however that in other applications, Vp may not have to be the maximum driving voltage.
It should, of course, be appreciated that one possible variation of PM control is to use less-than-maximum driving voltage to the actuator. As long as the driving voltage is big enough to overcome the friction (or other non-linearities), the PM control system and technique described herein will work. One possible advantage of having less-than-maximum voltage is that it may allow even finer modulation of position or velocity, by compromising the maximum velocity output (
It should also be appreciated that in the above example of controlling a system having non-linear static friction (i.e. static friction which is highly variable), the value of the first control signal corresponds to voltage Vp, the value of the second control signal corresponds to voltage −Vp, and the value of the third control signal corresponds to zero. It should also be appreciated that in the non-linear static friction case, the value of the third control signal must have a value of zero or close to zero in order to ensure proper operation of the control scheme. Thus, the value of the third control signal must be small compared to and distinctly different from the values of the first and second control signals such that the value of the third control signal is smaller than a value which would evoke a nonlinearity in the system being controlled.
Referring now to
The motor response is highly non-repeatable as well. It should be noted in
The response of the motor as seen in
where Vin is the input voltage represented by curve 50, Vc is the critical voltage at which the motor starts turning, which is the value of Vin at 56a-56d, and Vs is the saturation voltage beyond which the motor is at its full speed. Note that Vc<Vs but Vs−Vc is very small. Also note that the values of Vc and Vs are highly variable. Thus, the system shows a highly non-linear behavior and, more important, it is highly unpredictable.
It is almost as if the system is at zero speed below Vs (or Vc) and at its full speed above Vs (or Vc), where Vs is variable. It is thus difficult to control the motion of the motor shaft, since it is almost impossible to get the motor to turn at an intermediate speed. For this reason, conventional continuous feedback control cannot work.
Because of the high variability it is essentially impossible to describe the system behavior by a set of analytical equations. This means that it is not practical to construct an inverse model of the non-linearity with which to cancel out the effect mathematically, as is often done in other studies.
With respect to
Now if the PM control strategy described herein (e.g. in conjunction with
Referring now to
Thus, PM control (as described above in conjunction with
There are at least six parameters involved in PM control. 1) sampling rate, 2) Vupper, 3) Vlower) 4) first value, 5) second value and 6) third value. In the example described in conjunction with
In most cases the sampling rate is constant, so we are left with the two parameters—i.e. amplitude of the pulse Vp and margin of error ΔV. The apparent system behavior may change depending on these values.
It should be appreciated that the PM control scheme described herein can be used with a wide variety of systems including, but not limited to: rotary electric motors or any system which includes at least one actuator.
With respect to selection of the control values provided by a PM controller, reference is now made to
The system input value may correspond to an output value provided from a controller. As will be described below in conjunction with
In
To provide clarity in
As shown in
When the input voltage to the system is sufficiently high (designated as “+B” volts in
When the input voltage to the system is at a sufficiently low input (designated as “−B” volts input in
In the regions designated 86, 88 (i.e. the regions between ±A volts and ±B volts, respectively and denoted by cross-hatching in
Accordingly, in systems having regions of non-repeatable behavior, in accordance with the techniques of the present invention described herein, a first output from the PM controller can correspond to any value above a voltage value of +B volts (e.g. the first output from the PM controller can have any value in the region 76 which includes +B volts). As long as there some degree of certainty that the system response corresponding to that input value is known, and that the input value is high enough to surpass the region of uncertainty (i.e. region 86), that input value to the system would suffice for use as the first output of the PM controller.
Similar logic is true for the second and third output values of the PM controller, other than that they may take values from different regions (i.e. regions 72 and 78, respectively). Hence, it is possible to have the luxury of choosing specific values for each of the first, second or third outputs of the PM controller from a wide range of values.
Thus, as illustrated in
Referring now to
Thus, in one embodiment, the maximum PM controller output value 90 is selected to be the first controller output value, the minimum PM controller output value 92 is selected to be the second controller value, and zero volts 71 is selected to be the third controller output value. With these selections of PM controller values, the PM controller will always work well with the system.
It should, however, be appreciated that even though the above statement is always true, one can still decide to choose less than the maximum or minimum controller values. For example, in some applications it may be desirable or even required to select a value corresponding to about 85% of the maximum controller output to be the first controller value; and/or select a value corresponding to about −80% of the minimum controller output to be the second controller value; and/or select a value corresponding to about 5% of the maximum (or minimum) controller output to be the third controller value.
Choosing the controller outputs in this manner, the PM controller will always work, provided that the first and second controller output values are selected to pass over regions 86, 88 (i.e. regions there the system response is ill-behaved due to non-linearities or highly variable system responses) and the third controller value does not place the system in regions 86, 88.
It should, however, be appreciated that from the system response point of view, and as illustrated in
Hence, in summary, it is possible to: choose a value which is 100% of the maximum possible controller value to be the first controller output value; choose a value which is 100% of the minimum possible controller value to be the second controller output value; and choose a value which is 0% of the maximum (or minimum) controller value to be the third controller output value and under these conditions, the PM controller will always work well.
However, even though the above statement is true, one can still decide to choose controller output values which are less than 100% of the maximum or minimum controller output values to be the first and second controller values. One possible reason to not use the full 100% would be when it is desirable to reduce possible vibrations and stresses which the input pulses may cause to a system. One possible reason to not use 0% would be when it is desirable to compensate for a constant external force, such as a gravitational force. These are, of course, only examples and there could also be other reasons to not use full 100% and 0% of the maximum or minimum controller output values to be the first and second controller values.
From the system response point of view, and as illustrated in
Having described preferred embodiments of the invention it will now become apparent to those of ordinary skill in the art that other embodiments incorporating these concepts may be used. Accordingly, it is submitted that that the invention should not be limited to the described embodiments but rather should be limited only by the spirit and scope of the appended claims.