Reference estimator in a discrete-time sliding mode controller

Information

  • Patent Grant
  • 6236895
  • Patent Number
    6,236,895
  • Date Filed
    Wednesday, September 2, 1998
    26 years ago
  • Date Issued
    Tuesday, May 22, 2001
    23 years ago
Abstract
A discrete-time sliding mode controller (SMC) controls the motion of mechanical apparatus such as a read head in a disk storage system. The overall control effort is generated by combining a linear control effort with a discrete-time sliding mode control effort generated by switching between gains in order to drive the system's phase states toward a sliding line trajectory. An estimate of a reference is generated and added to the control effort, thereby providing an approximation of the derivative of the reference signal. Estimating the reference signal may be performed by various methods, depending on whether the reference is known, unknown but repeatable, or completely unknown and non-repeatable. A least-mean-square (LMS) algorithm is employed to estimate the reference signal by computing coefficients of a function which minimizes a particular system parameter. If the reference is an unknown, repeatable sinusoid, such as the runout signal in a disk storage device, the coefficients of a synthesized sinusoid may be determined by minimizing the position error phase state. Alternatively, the coefficients of the synthesized sinusoid may be determined by minimizing the sliding mode variable σk which defines the position of the system phase states relative to the sliding line. For references that are unknown and non-repeatable, an estimate of the derivative of the reference signal is computed, weighted, and added to weighted derivatives of the estimate, where the weights or coefficients of this function are also determined by minimizing the sliding mode variable σk.
Description




FIELD OF INVENTION




The present invention relates to control systems technology, and more specifically, to a discrete-time sliding mode controller and method and apparatus for estimating a pseudo derivative reference signal for use in generating the control effort.




BACKGROUND OF THE INVENTION




Sliding mode control (SMC) is a relatively new development in control systems which was first developed in Russia in the 1950's. It is a subclass of Variable Structure Control (VSC), control systems that switch between structures in a non-linear manner in order to drive phase states of the system toward a phase plane trajectory. The phase states of the system include the position error and its derivatives (velocity, acceleration, etc.); the location of the phase states within a phase plane define the state of the system at any given time, and the movement of the phase states through the phase plane is referred to as the phase state trajectory.




When the SMC is operating in a first structure, the phase states follow a first phase state trajectory, and when the SMC is operating in a second structure the phase states follow a second phase state trajectory. By switching between the first and second structures, the phase states are driven toward a third phase state trajectory, referred to as the sliding line (or hyperplane for higher order systems), defined within the phase plane where the first and second phase state trajectories intersect in opposite directions. The switching action is controlled by the location of the phase states relative to the sliding line; when the phase states cross the sliding line while following the first phase state trajectory, the system switches to the second structure to drive the phase states toward the sliding line by following the second phase state trajectory. In this manner, the phase states continuously switch across the sliding line as they follow the sliding line toward the origin of the phase plane (i.e., sliding mode). SMC has the advantage in that the closed loop response is defined by parameters in the controller and it is substantially insensitive to parameter variations in the plant and external load disturbances.




Initially, SMC systems were developed and implemented in continuous-time wherein the phase states are continuously monitored such that the system switches structures instantaneously when the phase states cross the sliding line. An inherent problem with this approach is that the continuous switching action may induce undesirable noise in the system (electrical and acoustic) and it may excite modelled (as well as unmodelled) system dynamics. The above referenced co-pending patent application entitled “Improved Chatter Reduction in Sliding Mode Control of a Disk Drive Actuator” discloses a method for reducing the amount of switching noise by defining a boundary layer around the sliding line and switching between structures only when the phase states exceed the boundary layer. Although this technique reduces the switching noise, there are other inherent problems with continuous-time SMC. Namely, to achieve the desired robustness to parameter variations and external disturbances, it can require gains in the individual structures that exceed the control effort limitations (e.g., exceed the available drive current).




Discrete-time SMC is a more recent development which addresses the drawbacks of continuous-time SMC by combining a conventional linear control effort with a discrete-time sliding mode control effort. This approach is discussed by Weibing Gao in “Discrete-Time Variable Structure Control Systems,”


IEEE Transactions on Industrial Electronics


, Vol. 42, No. Apr. 2, 1995. With discrete-time SMC, the phase states are monitored in discrete-time and the system switches between structures at the sampling rate rather than continuously. Thus, there is an inherent boundary layer about the sliding line with a width defined by the sampling period, as well as other parameters of the controller. Rather than switch continuously such that the phase states “slide” along the sliding line, the phase states switch across the sliding line in a zigzag manner while sliding toward the origin of the phase plane. Another characteristic of discrete-time SMC is that nominally the phase states will cross the sliding line at every sampling period, and the absolute magnitude of the distance between the phase states and the sliding line will remain within the inherent boundary layer.




The position error phase state is typically generated by subtracting an estimated position from a reference position. In disk storage systems, for example, the position error is generated as the difference between the centerline of a target track and the estimated position of the read head. Although the reference position (the track centerline) is static with respect to the disk, the eccentricities of the disk will induce a perturbation into the reference position with respect to the read head, particularly in optical disk storage devices where the media is removable. This perturbation signal is referred to as “runout” and it is typically dominated by a fundamental sinusoid at a frequency equal to the angular velocity of the disk, and a linear combination of the fundamental harmonics. The discrete-time sliding mode control effort is a function of a psuedo derivative of the reference (PDR) signal; it is necessary to generate an estimate of the PDR signal in order to implement a discrete-time sliding mode controller.




SUMMARY OF THE INVENTION




A discrete-time sliding mode controller (SMC) is disclosed for controlling the motion of mechanical apparatus such as a read head in a disk storage system. The overall control effort is generated by combining a linear control effort with a discrete-time sliding mode control effort generated by switching between gains in order to drive the system's phase states toward a sliding line trajectory. An estimate of the reference is generated and added to the control effort, thereby providing an approximation of the derivative of the reference signal. Various methods are disclosed for estimating the reference signal depending on whether the reference is known, unknown but repeatable, or completely unknown and non-repeatable. A least-mean-square (LMS) algorithm is employed to estimate the reference signal by computing coefficients of a function which minimizes a particular system parameter. In one embodiment, the reference is an unknown, repeatable sinusoid, such as the runout signal in a disk storage device, and the coefficients of a synthesized sinusoid are determined by minimizing the position error phase state. In a similar embodiment, the coefficients of the synthesized sinusoid are determined by minimizing the sliding mode variable σ


k


which defines the position of the system phase states relative to the sliding line. For references that are unknown and non-repeatable, an estimate of the derivative of the reference signal is computed, weighted, and added to weighted derivatives of the estimate, where the weights or coefficients of this function are also determined by minimizing the sliding mode variable σ


k


.











BRIEF DESCRIPTION OF THE DRAWINGS





FIG. 1

is a block diagram of the disk drive control system of the present invention.





FIGS. 2A and 2B

show an example data format of a magnetic disk comprising a plurality of concentric data tracks with embedded servo fields.





FIG. 3A

shows an example second order system controlled by a sliding mode controller designed using the continuous time existence equation.





FIG. 3B

are the phase plane plots for the position error and error velocity phase states for the positive and negative feedback modes e control system shown in FIG.


3


A.





FIG. 4

illustrates the operation of the sliding mode controller in driving the phase states toward a predetermine linear phase trajectory.





FIG. 5A

is a block diagram of the discrete-time sliding mode controller of the present invention comprising a linear control signal generator and a sliding line signal generator.





FIG. 5B

shows details of the linear control signal generator of

FIG. 5A

, including a means for estimating the pseudo derivative of the reference signal.





FIG. 5C

shows details of the sliding line signal generator of FIG.


5


A.





FIG. 6

illustrates the zigzag switching action of the sliding mode variable σ


k


and the effect on the magnitude of σ


k


when the plant gain charges.





FIG. 7

illustrates various regions of operation which defines when the sliding mode variable σ


k


will cross the sliding line on every sample period, and when the system will become unstable.





FIG. 8A

is a block diagram of the discrete-time sliding mode controller comprising an adaptive processor for adaptively adjusting the gain of the plant by minimizing the deviation in the magnitude of σ


k


from nominal.





FIG. 8B

shows details of the adaptive processor of FIG.


8


A.





FIG. 9

is a flow diagram executed by the adaptive processor of FIG.


8


A.





FIG. 10

is a plot of the analytical versus simulated values of the magnitude of the sliding mode variable σ


k


over a range of plant gain variations.





FIGS. 11A-11D

illustrate the step response of the system for various values of plant gain.





FIG. 12

is a plot illustrating chaotic onset of the discrete-time SMC where the sliding mode variable σ


k


does not cross the sliding line on successive s periods if the plant gain is too low.





FIG. 13

is a plot of the chaotic boundary for various values of the slope of the sliding line c.





FIGS. 4A-14C

show the response of the system to various step values when the system is operating near the chaotic boundary.





FIG. 15A

shows a first embodiment for estimating the reference signal in a disk storage device by minimizing the position error phase state.





FIG. 15B

shows an alternative embodiment for estimating the reference signal in a disk storage device by minimizing the deviation from nominal in the magnitude of the sliding mode variable σ


k


.





FIG. 15C

illustrates a method for estimating an unknown, non-repeatable reference by minimizing the deviation from nominal in the magnitude of the sliding mode variable σ


k


.











DETAILED DESCRIPTION OF THE DRAWINGS




SYSTEM OVERVIEW




In disk storage systems, such as magnetic and optical disk drives, a write transducer or write head writes digital data onto a disk storage medium in response to a write command received from a host system. The digital data serves to modulate a current in a write coil or an intensity of a laser beam so that a sequence of corresponding magnetic flux or optical transitions are written onto the disk medium in a series of concentric or spiral data tracks. To read this recorded data, a read transducer or read head passes over the disk medium and transduces the magnetic or optical transitions into pulses in an analog signal. These pulses are then decoded by read channel circuitry to reproduce the digital data.




The read head is typically actuated over the disk by means of a voice coil motor (VCM). In magnetic disk storage devices, the read head comprises a transducing coil suspended by a load beam and actuated radially over the disk by a rotary type VCM. In optical disk storage devices, the read head comprises optics and photodetectors housed in a sled assembly actuated by a two stage servoing mechanism: a first stage VCM actuator slides the sled assembly along a lead screw for coarse positioning the read head over a data track while seeking, and a second stage VCM actuator rotates an optical lens radially for fine positioning while tracking.




The servo system performs two functions: a “seek” or “access” function in which the servo system moves the head to a selected track; and when the head reaches the selected track, the servo system commences a “track following” or “tracking” function in which it accurately positions the head over a centerline of the track and maintains that position as successive portions of the track pass by the head. Servo control information embedded within the data provides inter-track head position information so that a head position error, indicative of a difference between the estimated head position and the desired head position, can be computed. In response to the head position error, the servo control system generates a VCM control signal to align the head over the centerline of the selected track, thereby driving the head position error to zero.





FIG. 1

is an overview of the disk drive control system of the present invention. A spin motor


2


spins a magnetic or optical disk


4


with computer data recorded thereon under a read head


6


. An actuator


8


positions the read head


6


over a selected track, and a voice coil motor (VCM)


10


controls the motion of the actuator


8


. Read channel circuitry


12


, connected to receive the analog signal from the read head


6


, demodulates the digital data recorded on the disk and transmits servo information to a state estimator


14


. The state estimator


14


models the VCM control system in order to generate an estimated actuator position


16


that is subtracted from a reference actuator position


18


at adder


20


to produce an actuator position error X1


22


. The reference actuator position


18


is the position of a selected track at which data is to be read (plus a runout signal


28


described below). A sliding mode controller


26


, responsive to the actuator position error X1


22


, computes an acceleration motor control signal U


28


, amplified by amplifier


30


, and applied to the VCM


10


to position the read head over the selected track. The state estimator


14


also processes the motor control signal U


28


to generate the estimated actuator position


16


.




The state estimator


14


filters out errors in the servo position information caused by noise in the recording channel. State estimators are well known in the prior art such as described in U.S. Pat. No. 4,679,103, the disclosure of which is hereby expressly incorporated by reference. There are also other well known techniques other than state estimators for generating the actuator phase states for use by the present invention.




Referring now to

FIGS. 2A and 2B

, shown is an exemplary data format of a typical magnetic disk storage medium


4


comprising a plurality of concentric data tracks with an inner data track


32


and an outer data track


34


. Each data track comprises a plurality of sectors


36


and a plurality of servo fields


38


embedded therein. The servo fields


38


comprise track number information


40


processed by the state estimator


14


to generate the estimated actuator position


16


while seeking the selected track. Once the read head slows to within a predetermined velocity as it approaches the selected track, the state estimator


14


processes the track number


40


and fine position information, such as servo bursts


42


in the servo fields


38


, to align the head over the centerline of the selected track while reading the data. Servo bursts are commonly employed in magnetic disk storage devices and comprise a plurality of pulses recorded at precise intervals and offsets from the track centerline. The magnitude of these burst pulses sensed by the read head indicates the off track position of the head. In optical disk storage devices, the off track position information is derived by sensing the read signal's offset from the center of the photodetector.




In both magnetic and optical disk storage devices, the eccentricities of the disk storage medium may result in a sinusoidal reference signal referred to as runout. In

FIG. 1

, runout is modelled in the system by adding


24


a runout signal


25


to the position reference signal


27


representing the static centerline of the selected track. Thus, the runout is modelled as a component of the actual reference signal


18


used to generate the read head position error phase state X1


22


. As described in greater detail below, it is necessary to derive an estimate of the derivative of the runout signal


25


(if not negligible) in order to enable operation of the sliding mode controller


26


of the present invention.




THEORY OF OPERATION




Operation of a conventional continuous-time sliding mode controller is understood with reference to FIG.


3


A. Shown is an example second order system


44


controlled by an example sliding mode controller


45


that switches


46


between a positive gain


47


and negative gain


48


not necessarily equal in magnitude. A position error X1


49


is generated at the output of adder


50


by subtracting an estimated position


51


of the controlled system from a desired position reference command


52


. The position error X1


49


is multiplied by the positive gain


47


or the negative gain


48


depending on the state of switch


46


to generate an acceleration command U


53


as the input to the controlled system


44


. The output of integrator


54


is the velocity of the controlled system


44


which is also the negative of the position error velocity −X2


55


. When switch


46


selects the positive gain


47


, it is a negative feedback system, and when switch


46


selects the negative gain


48


, it is a positive feedback system. In their individual structures the system is unstable; however, the system can be made stable by repeatedly switching between the two structures.




The state space equation in negative feedback is














X
1




t


=

X
2












X
2




t


=

-

KX
1







(
1
)













The general solution to equation (1) is










X
1

=

A






sin


(

kt
+
φ

)







(
2
)







X
2

=


K


A






cos


(

kt
+
φ

)







(
3
)













Combining equations (2) and (3),












X
1
2


A
2


+


X
2
2


KA
2



=
1




(
4
)













The phase plane plot of equation (4) is a set of ellipses with eccentricities A and {square root over (KA)} as illustrated in FIG.


3


B.




The state space equation in positive feedback is














X
1




t


=

X
2












X
2





t

.


=

+

KX
1







(
5
)













The solution to equation (5) is











X
1

=



B
1






K


t



+


B
2






-

K



t












X
2

=



K



B
1






K


t



-

K






B
2






-

K



t









(
6
)













Combining equations (5) and (6),












X
1
2


4


B
1



B
2



-


X
2
2


4


KB
1



B
2




=
1




(
7
)













The phase plane plot of equation (7) is a set of hyperbolas with two asymptotes as shown in FIG.


3


B.




The two individual phase plane trajectories of equations (4) and (7) result in an unstable system since the phase states never reach the origin. It is possible, however, to reach the origin by driving the phase states along a third phase trajectory defined at the intersection of the negative and positive feedback trajectories. This is achieved by switching between the positive and negative gains in response to the current phase state values so that the phase states follow the predetermined third phase trajectory.




The switching operation is understood with reference to

FIG. 4

where the predetermined third phase trajectory is shown as a linear segment


60


. When a new track is selected, the initial actuator position error is at point A, and the control system is initially switched to select the positive gain (i.e., negative feedback). As the actuator begins to accelerate toward the selected track, the phase states follow the arc trajectory


64


of the negative feedback mode. When the phase states reach the beginning of the third phase trajectory


60


at the intersection point B, the sliding mode controller switches to the negative gain and the phase states begin to follow the hyperbola trajectory


66


of the positive feedback mode. When the phase states cross the third phase trajectory


60


at point C, the controller switches back to the positive gain to drive the phase states along arc


68


back toward the third phase trajectory


60


. This switching action is repeated so that the phase states slide along the linear segment


60


toward the origin of the phase plane. When the phase states are within a predetermined minimum distance from the origin of the phase plane, the system switches to a tracking mode where the sliding mode controller


26


repeatedly switches between positive and negative feedback in order to maintain the phase states near the origin of the phase plane, thereby aligning the read head


6


over the centerline of the selected track while reading the data.




The time domain response of the control system when the phase states follow the sliding line of

FIG. 4

is






X1(t)=X1(t1)e


−C(t−t1)


  (8)






where t1 is the time when the phase states reach the sliding line at point B. Equation (8) is the average response of the system along the sliding line and it is substantially unaffected by variations in the parameter K or by external load disturbances. Consequently, it is not necessary to know the exact parameters of the system in order to determine the value for K. Equation (8), together with the existence Equation (11) below, demonstrate that the system's response is first order and globally stable within the sliding mode region.




The sliding mode controller determines when to switch between the positive and negative gains by observing the phase state values. The linear phase trajectory of

FIG. 4

is defined by






X2=−CX1  (9)






where the constant C is the slope of the linear segment


60


. By observing the phase states, the sliding mode controller switches the gains so that






σ=X2+CX1=0.  (10)






The sliding mode controller switches to the positive gain when σX1>0 and to the negative gain when σX1<0 in order to drive the phase states toward the sliding line.




The overall response of the system is made faster by increasing the slope of the sliding line (i.e., increasing C). However, an important limitation in sliding mode control is that the sliding must be constrained to a region in the phase plane where the positive and negative feedback phase trajectories intersect in opposite directions. From

FIG. 4

it follows that the slope of the sliding line must be constrained to 0<C<{square root over (K)}. A further relationship derived from this constraint is











lim

σ
->
0





σ



σ




t



<
0.




(
11
)













Equation (11) is known as the existence equation and is used to determine values for the positive and negative gains.




DISCRETE-TIME SLIDING MODE CONTROL




The present invention overcomes the drawbacks of sliding mode control which operates according the above-described continuous-time existence equation (11) by employing discrete-time sliding mode control. Consider a discrete-time system






X


k+1


=ΦX


k


+ΓU


k


  (17)






where X is a state matrix representing the phase states of the system (position, velocity, acceleration, etc.), Φ is a linear control matrix, and Γ is a scalar. A discrete-time control law is given by






σ


k+1


=λσ


k


−Δsgn(σ


k


)  (18)






where σ


k


is a sliding mode variable computed from discrete-time phase state errors ε


k


, λ and Δ are predetermined constants, and sgn(x) returns the sign of x. The discrete-time phase state errors ε


k


, such as the position error, velocity error, etc., are computed by subtracting the estimated phase states X


k


from a reference signal R


k








ε


k


=R


k


−X


k


  (19)






or by a suitable means for estimating the phase state errors. The sliding mode variable σ


k


of equation (18) is computed by multiplying the discrete-time phase state errors ε


k


by a vector c which defines the sliding line in the phase plane




 σ


k


=cε


k


.  (20)




Substituting equation (20) into equation (18) yields









k+1


=λcε


k


−Δsgn(σ


k


).  (21)






Substituting equations (17) and (19) into equation (21) yields






c(R


k+1


−(ΦX


k


+ΓU


k


))=λc(R


k


−X


k


)−Δsgn(σ


k


).






Solving for U


k


yields the control law for the servo problem






U


k


=c(Φ−λI)(cΓ)


−1


ε


k


+c(R


k+1


−ΦR


k


)(cΓ)


−1


+Δ(cΓ)


−1


sgn(σ


k


).  (22)






Defining






Ψ=c(Φ−λI)(cΓ)


−1


; and








Λ


k+1


=c(R


k+1


−ΦR


k


)(cΓ)


−1


;






yields






U


k


=Ψε


k





k+1


+Δ(cΓ)


−1


sgn(σ


k


).  (23)






The control law (23) for the servo problem is a linear combination of the error states, a feed-forward term that requires knowledge of the reference, and a switching term based on the sliding line. Note that for the general regulator problem, the reference term Λ


k+1


is normally set to zero for all states which is an accurate model for many systems such as magnetic disk storage systems.




ESTIMATION OF Λ


k+1






The term Λ


k+1


in the control law (23) approximates the derivative of the reference signal R


k


and is thus called the pseudo derivative of the reference R


k


. For a large class of problems, Λ


k+1


does not present a significant problem because the phase state trajectories of the system are well defined in an a priori sense, and the system trajectories are controlled in real time by manipulating Λ


k+1


. Robotic manipulators are a good example of such systems. However, for a wide class of servo systems direct access to the reference is not available, and only information at the error node(s) may be used to estimate the apparent reference. Magnetic and optical disk storage devices are examples of such systems.




Equation (22) can be rewritten as






Λ


k+1


=U


k


−cΦ(cΓ)


−1


ε


k


+λ(cΓ)


−1


σ


k


−Δ(cΓ)


−1


sgn(σ


k


).  (24)






Using the discrete-time existence equation (18), equation (24) can be written as






Λ


k+1


=U


k


−cΦ(cΓ)


−1


ε


k


+(cΓ)


−1


σ


k+1


.






For most systems where the reference is changing slowly compared to the sample rate, Λ


k+1


may be estimated as






Λ


k+1


≈Λ


k


=U


k−1


−cΦ(cΓ)


−1


ε


k−1


+(cΓ)


−1


σ


k


.  (25)






The accuracy of equation (25) can be improved using a Taylor series expansion






Λ


k+1


≈Λ


k


+(Λ


k


−A


k−1


)/T.  (26)






Equation (25) is a function of the prior control effort, the prior error, and the current value of σ. Other methods could be employed to estimate Λ


k+1


, including Kalman Estimators.




HARDWARE DESCRIPTION





FIG. 5A

is a block diagram of the sliding mode controller


26


of the present invention for use in a second order system (the aspects of the present invention can easily be extended to higher order systems). In this embodiment, the sliding mode controller


22


is responsive to two phase state errors, ε1(k) and ε2(k), which may represent a position error and a velocity error of the actuator


8


. Various methods are known in the art for generating phase state errors, including the state estimator


14


shown in FIG.


1


. The phase state errors are input into a linear controller


90


and a sliding line controller


92


, and their outputs are combined at adder


94


to implement the control effort U


k


of equation (23). The sliding line controller


92


generates the sliding line variable σ


k


which is input into the linear controller


90


for use in computing the pseudo derivative reference term Λ


k+1


.




Details of the linear controller


90


of

FIG. 5A

are shown in FIG.


5


B. The error phase states are multiplied


96


by




c(Φ−λI)(cΓ)


−1






to generate the term




Ψε


k






of equation (23). To generate an estimate of the pseudo derivative reference term Λ


k+1


, the phase state errors are delayed through delay elements


98


A and


98


B and then multiplied


100


by




cΦ(cΓ)


−1






to generate the term




cΦ(cΓ)


−1


ε


k−1






of equation (25). The sliding line variable σ


k


is multiplied


102


by




(cΓ)


−1






to generate the term




(cΓ)


−1


σ


k






of equation (25). The control effort U


k


is delayed by delay element


104


and the estimated pseudo derivative reference (PDR) term Λ


k


generated at the output of adder


106


thereby implementing equation (25). The first difference


108


of Λ


k


is computed and added


110


to Λ


k


to generate the estimated PDR term Λ


k+1


according to equation (26). The estimated PDR term Λ


k+1


is then added


112


to the output of multiplier


96


to generate the term




Ψε


k





k+1






of equation (23).




. Details of the sliding line controller


92


of

FIG. 5A

are shown in FIG.


5


C. The phase state errors are multiplied


114


by the sliding line c where c defines the phase state trajectory in the phase plane as described above. For example, in equation (16) the sliding line c is defined as




c=[1, C3].




The multiplication of the phase state errors by the sliding line c generates the sliding line variable σ


k


per equation (20). The sign


116


of the sliding line variable σ


k


is multiplied


118


by




μ=Δ(cΓ)


−1






to generate the term




μsgn (σ


k


)




of equation (23).




σ


k


STEADY STATE




In the control law of equation (18), σ


k


is non-increasing and changes sign on successive sample periods. When σ


k


<0, to maintain stability and simultaneous switching it requires




σ


k+1


≦−σ


k


.




From the above equations







k+1


≦−cε


k


;




c(R


k+1


−(ΦX


k


+ΓU


k


))≦−cε


k


.




Solving for U


k yields








U


k


≧c(Φ+I)(cΓ)


−1ε




k


+c(R


k+1


−ΦR


k


)(cΓ)


−1


.  (27)






However, an expression for U


k


has already been derived in equation (22). Substituting equation (22) into (27) yields




c(ΦλI)(cΓ)


−1


ε


k


+c(R


k+1


−ΦR


k


)(cΓ)


−1


+Δ(cΓ)


−1


sgn(σ


k


)≧c(Φ+I)(cΓ)


−1


ε


k


+c(R


k+1


−ΦR


k


)(cΓ)


−1






Combining terms and simplifying leads to




(−λcε


k


+Δsgn(σ


k


)≧cε


k






which leads to




Δ/(1+λ)sgn(σ


k


)≧σ


k






A similar result follows for σ


k


>0 with the inequality reversed, which leads to






α/(1λ)≦σ


k


≦Δ/(1λ)  (28)






Equation (28) specifies that the absolute magnitude of the sliding mode variable σ


k


will be constrained within a boundary layer such that







k


|≦Δ/(1+λ)




The width of the boundary layer is a function of the Δ, λ and the sampling rate. The width of the boundary layer is generally defined through selecting an appropriate value for Δ, whereas the time constant of the loop is generally defined through appropriate selection of λ and the slope of the sliding line c. The system's insensitivity to parameter variations and load disturbances is increased by increasing the width of the boundary layer (i.e., increasing Δ), the trade-off being an increase in the required control effort and an increase in switching noise.




As described in greater detail below, the servo system can be adapted in real time so as to maintain the optimal condition where the magnitude of the sliding mode variable σ


k


in steady state remains constant (i.e., σ


k+1


=−σ


k


) while satisfying the discrete-time switching condition of crossing the sliding line at every sample period. This maintains a constant, and arbitrarily small boundary layer that in turn minimizes the switching noise.




DESIGN OF THE SLIDING LINE




The steady state behavior of σ


k


as described above can be used to determine the optimal value for the sliding line c. Multiplying both sides of equation (28) by ε


k




T


yields




σ


k


ε


k




T


=cε


k


ε


k




T


=Δ/(1+λ)sgn(σ


k





k




T


.




Taking the expectation E of both sides with E(ε


k




T


)=0, yields the matrix equation






cE(ε


k


ε


k




T


)=0.  (29)






Expanding equation (29) and assuming a second order system without loss of generality, yields the simultaneous equations






c


1


E(ε


k




1


ε


k




1


)+E(ε


k




1


ε


k




2


)=0








c


1


E(ε


k




2


ε


k




1


)+E(ε


k




2


ε


k




2


)=0






For a stationary or deterministic process




E(ε


k




1


ε


k




2


)=E(ε


k




2


ε


k




1


).




Solving the simultaneous equations results in an expression for c






c


1




2


=E(ε


k




2


ε


k




2


)/E(ε


k




1


ε


k




1


).  (30)






Equation (30) illustrates that the slope of the sliding line c is a function of the ratio between the rms error of the two states (i.e., the ratio of the rms position error over the rms velocity error) for a second order system. The expected rms position error is generally one of the design criteria of a system, and is therefore known (it is usually specified as a ratio between the reference and the error at specific reference frequencies). The rms velocity error will follow as a result of the system model.




ADAPTING TO PLANT GAIN VARIATIONS




The present invention uses the discrete-time existence equation (18) together with the sliding mode condition that σ


k


cross the sliding line at every sample instance in order to adapt the controller to compensate for gain variations in the plant due, for example, to temperature or parameter drift. Adapting to gain variations in the plant increases the system's insensitivity to parameter variations without having to increase the boundary layer and attendant switching noise. Furthermore, because the boundary layer is minimized, the slope of the sliding line can be increased to a more optimal value while maintaining global stability.




Expressing the plant gain variation as β (with β=1 nominal), the discrete-time system (17) can be rewritten as




X


k+1


=ΦX


k


+βΓU


k


.




From equations (22) and (23), algebraic manipulations leads to the discrete-time error equation






ε


k+1





k


(Φ−βΓΨ)+(I−βΓc(cΓ)


−1


)(R


k+1


−ΦR


k


)−βΓΔ(cΓ)


−1


sgn(σ


k


).  (31)






Multiplying by c and simplifying results in an expression for σ






σ


k+1


=c(1−β)(R


k+1


−ΦR


k


)+(1−β)cΦε


k


+β(λσ


k


−Δsgn(σ


k


)).  (32)






The third term in equation (32) is equivalent to the nominal value of σ


k+1


multiplied by the gain variation β and thus represents a direct measurement of the plant gain departure from nominal. The first and second terms of equation (32) represent movement away from the nominal gain of unity. This is understood with reference to

FIG. 6

which shows the sliding line c and the nominal amplitude Δ/(1+λ) of the sliding mode variable σ


k


according to equation (28). Thus, when the gain is nominal (β=1) the sliding mode variable σ


k


will switch between positive and negative values at every sample period and remain on the dashed lines representing the sliding line boundary layer. If the plant gain decreases then the magnitude of the sliding mode variable σ


k


will decrease, and if the plant gain increases the magnitude of the sliding mode variable σ


k


will increase as shown in FIG.


6


. Thus, one adaptive strategy is to adapt the loop gain in order to adjust the measured value of σ


k


toward the nominal steady state value Δ/(1+λ) (i.e. toward the dashed lines in FIG.


6


).




As discussed in greater detail below, if the gain of the plant drops below a certain threshold, then the sliding mode variable σ


k


will not cross the sliding line and change sign on every sample period. Conversely, if the gain exceeds a certain threshold, then the system will become unstable. Thus, there are three regions of operation as illustrated in

FIG. 7

which is a plot of the gain variance β versus the magnitude of the sliding mode variable σ


k


. In region I, the gain of the plant is below the lower threshold and σ


k


does not switch across the sliding line at every sample period. In region III, the gain of the plant exceeds the upper threshold and the system is unstable. In the region between I and III (region II), the system is stable and the sliding mode variable σ


k


crosses the sliding line and changes sign on every sample period. Thus, the system will operate normally and adapt to changes in the plant gain as long as the gain changes slow enough such that magnitude of σ


k


remains within region II.





FIG. 8A

is a block diagram of the adaptive, discrete-time sliding mode controller of the present invention. The sliding line variable σ


k


output by the sliding line controller


92


is processed by an adaptive processor


120


which in turn adjusts the plant gain Kpa


30


according to the flow diagram of FIG.


9


. First at step


122


a check is made to determine if the sliding line variable σ


k


is crossing the sliding line and changing signs at every sample period. If not, then a loop is executed where the plant gain is incremented at step


124


until σ


k


begins to switch at every sample interval. Then at step


126


a branch is executed based on the absolute magnitude of σ


k


If the magnitude of σ


k


is greater than nominal (i.e,. greater than Δ/1+λ), then at step


128


the plant gain is decreased incrementally. If at step


126


the magnitude of σ


k


is less than nominal, then the plant gain is increased incrementally at step


130


. Steps


128


and


130


are repeated until the magnitude of σ


k


reaches the nominal value of Δ/1+λ.




Details of the adaptive processor


120


of

FIG. 8A

are shown in FIG.


8


B. The adaptive processor


120


comprises: a switching detector


121


for determining whether σ


k


is switching across the sliding line at every sample interval, an amplitude detector


123


for measuring the absolute magnitude of σ


k


, an error detector


125


for detecting an error between the measured amplitude of σ


k


and the nominal amplitude, and a stability detector


127


for detecting when the system has the potential for going unstable (i.e., when σ


k


crosses into region III in FIG.


7


).




Many filtering options exist for implementing the switching detector


121


; in

FIG. 8B

, a simple one-delay correlator is employed which operates according to the following equation







D
k

=


1
m






j
=
0

m




sgn


(

σ

k
-
j


)




sgn


(

σ

k
-
j
-
1


)















where m is a predetermined integer. In the above equation, if all m prior values of σ


k


have changed sign, then D


k


would equal −1. If not, then D


k


>−1. A threshold


129


may be employed in the switching detector


121


to compensate for noise; for example, −1<D


k


>t where t is the threshold based upon anticipated noise. More filtering may be added if necessary by prior filtering σ


k


prior to the correlator.




When




94






k


is in region II or III of

FIG. 7

, it is necessary to determine the magnitude for σ


k


which is then compared to the nominal value to generate the error signal, as well as to determine stability of the system. In these regions, the magnitude of σ


k


is either constant or increasing, therefore the first difference of σ


k


is a convenient detector (other techniques, such as the rms value of sigma are also possible). If the first difference is constant, then operation in region II is assured. If the first difference is increasing, then σ


k


is in region III. The amplitude detector


123


of

FIG. 8B

operates according to




Sam


k


=|σ


k


−σ


k−1


|


F






where the subscript F denotes a filtering operation


131


on the absolute value


133


of the first difference


135


. The filter is chosen based on the expected noise; a simple moving average filter with binary coefficients will generally suffice.




The error detector


125


of

FIG. 8B

generates the error between the measured amplitude of σ


k


and the nominal amplitude; the error is then used in the adaptation algorithm as described above. The nominal value for the amplitude of σ


k


is




Δ/(1+λ)




the error is detected as




err


k


=2Δ/(1+λ)−|σ


k


−σ


k−1


|


F


.




The stability detector


127


of

FIG. 8B

determines when σ


k


has crossed over into region III of

FIG. 7

where the system may become unstable. Detecting when σ


k


crosses into region III allows higher gains to be used in the adaptation algorithm. Furthermore, the adaptive, discrete-time sliding mode controller of the present invention can stabilize an unstable system when σ


k


crosses into region III. The stability detector


127


is implemented by passing the measured amplitude of σ


k


through a simple 1-D low-pass filter, and comparing the output to a threshold


137


. When the average amplitude of σ


k


exceeds the threshold


137


, it has crossed into region III of FIG.


7


.




The output of the switching detector


121


and stability detector


127


are used to determine which of the three regions in

FIG. 7

σ


k


is currently in. Based on this decision, the gain of the adaptation loop is adjusted by selecting one of three predetermined gains through a multiplexer


139


as shown. The decision logic


141


and gain selected is illustrated in the following table














TABLE 1









Stability




σ


k


Sign




Selected






Detector




Correlator




Gain











Unstable









G1






Stable




Switching Every




G2







Sample






Stable




Not Switching Every




G3







Sample














The selected gain is then multiplied


143


by the error in σ


k


and the result added


145


to the previous gain adjustment value β


k−1


to generate the current gain adjustment value σ


k


. The gain adjustment value β


k


is then used to adjust the gain of the system amplifier


30


shown in FIG.


1


.




The above-described adaptation strategy will work for small deviations of σ


k


from nominal, but may not be adequate for cases where the deviation is significant since the first and second terms may dominate the third term in equation (32). To determine the regions where the adaptation strategy will work, it is first necessary to determine the steady state value of the errors ε


k


and by inference σ


k


.




ε


k


STEADY STATE




The steady state errors ε


k


can be determined using equation (31). Defining






Φ


0


=Φ−βΓΨ






 A=I−βΓc(cΓ)


−1








B=βΓΔ(cΓ)


−1








equation (31) can be written as













ε

k
+
1


=







Φ
0



ε
k


+

A


(


R

k
+
1


-

Φ






R
k



)


-

Bsgn


(

σ
k

)










ε

k
+
2


=







Φ
0



ε

k
+
1



+

A


(


R

k
+
2


-

Φ






R

k
+
1




)


-

Bsgn


(

σ

k
+
1


)









=







Φ
0
2



ε
k


+


Φ
0



A


(


R

k
+
1


-

Φ






R
k



)



-


Φ
0



Bsgn


(

σ
k

)



+













A


(


R

k
+
2


-

Φ






R

k
+
1




)


-


Bsgn


(

σ

k
+
1


)


.









ε

k
+
3


=







Φ
0



ε

k
+
2



+


Φ
0
2



A


(


R

k
+
3


-

Φ






R

k
+
2




)



-

Bsgn


(

σ

k
+
2


)









=







Φ
0
3



ε
k


+


Φ
0
2



A


(


R

k
+
1


-

Φ






R
k



)



-


Φ
0
2



Bsgn


(

σ
k

)



+














Φ
0



A


(


R

k
+
2


-

Φ






R

k
+
1




)



-


Φ
0



Bsgn


(

σ

k
+
1


)



+













A


(


R

k
+
3


-

Φ






R

k
+
2




)


-


Bsgn


(

σ

k
+
2


)


.









ε

k
+
n


=







Φ
0
n



ε
k


+




j
=
0


n
-
1





Φ
0
j

(

A
(


(


R

k
+
n
-
j


-

Φ






R

k
+
n
-
j
-
1




)

-

















Bsgn


(

σ

k
+
n
-
j
-
1


)


)

)







(
33
)













Equation (33) may be simplified if we first consider the regulator problem where R=0. The steady state regulator error may be determined by taking the limit of the resulting equation











lim

n






ε

k
+
n



=


lim

n






{



Φ
0
n



ε
k


-




j
=
0


n
-
1





(


Φ
0
j


B

)



sgn


(

σ

k
+
n
-
j
-
1


)





}






(
34
)













With the assumption that the sign of σ changes on successive sample intervals, equation (34) represents a geometric series which can be further reduced











lim

n






{



Φ
0
n



ε
k


-




j
=
0


n
-
1





(


Φ
0
j


B

)



sgn


(

σ

k
+
n
-
j
-
1


)





}


=


lim

n






{



Φ
0
n



ε
k


-




j
=
0


n
-
1





(

I
-



(

-
1

)


n
-
j




Φ
0

j
+
1




)




(

I
-



(

-
1

)

1



Φ
0



)


-
1



B



}






(
35
)













With all elements of Φ


0


less than one, equation (35) reduces to











lim

n






ε

k
+
n



=




lim

n






{


Φ
0
n



ε
k


}


+



(

I
+

Φ
0


)


-
1



B


=

0
+


(



(

I
+

Φ
0


)


-
1



β

)




ΓΔ


(

c





Γ

)



-
1









(
36
)













The steady state value of σ may also be determined from equation (36). Multiplying by c and sgn(σ


k


), σ


k+1


is






σ


k+1


=c(I+Φ


0


)


−1


βΓΔ(cΓ)


−1


sgn(σ


k


).  (37)







FIG. 10

shows the analytical solutions overlaid with the simulated values for σ steady state. Note that for certain threshold values of β less than one, the analytical solutions do not agree with the simulated values. These regions correspond to areas where the assumption of sgn(σ


k+1


)=−sgn(σ


k


) is violated and equation (37) is no longer valid.

FIGS. 11A-11D

show a series of step responses with varying plant gain (beta).




SUFFICIENT CONDITIONS FOR ZERO CROSSING




The assumption that a will cross the sliding line and change sign at every sample period depends on the values selected for the sliding mode variables c, λ and Δ, as well as the plant transfer function and gain variation β. The values which satisfy this condition can be determined from equations (31) and equation (34). From equation (34), the error for the regulator problem (R=0) at state k+n is







ε

k
+
n


=



Φ
0
n



ε
k


-




j
=
0


n
-
1





(


Φ
0
j


B

)



sgn


(

σ

k
+
n
-
j
-
1


)















From equation (31), the error at state k+n+1 is




ε


k+n+1





0


ε


k+n


−Bsgn(σ


k+n


).




Therefore, for σ


k+1


>0 a sign change will occur at every sample period if







k+n+1


<0







0


ε


k+n


−cBsgn(σ


k+n


)<0







0


ε


k+n


<CB.




A similar result can be derived for σ


k+1


<0 resulting in the combined requirements of






−cB<cΦ


0


ε


k+n


<cB.  (38)






Equation (38) is valid for any location of a in the phase plane. Assuming equation (38) is satisfied such that a changes sign at every sample period, equation (38) can be written as






−cB<cΦ


0


(I+Φ


0


)


−1


<cB.  (39)






Expanding equation (38) using equation (34) and multiplying by cB)


1


, equation (39) can be written as










-
1

<


lim

n







{


c






Φ
0

n
+
1




ε
k


-

c





j
=
1


n
-
1





Φ
0
j



Bsgn


(

σ

k
+
n
-
j
-
1


)






}




(
cB
)


-
1




<
1




(
40
)













Assuming that the initial condition term tends to zero, equation (40) can be written as










-
1

<


lim

n






c


{


Φ
0
1



B


(


sgn


(

σ

k
+
n


)


+


Φ
0
2



B


(


sgn


(

σ

k
+
n
+
1


)


+


)




)



}




(
cB
)


-
1




<
1




(
41
)













If successive values are non-increasing, then the series in equation (41) will converge to a bounded value between zero and one. The conditions for assuring that σ will cross the sliding line and change sign on every sample period is thus









0




j+1


B<cΦ


0




j


B  (42)







FIG. 12

demonstrates equation (42) for a given system with c=[0.8 1] over a range of values for the plant gain (beta). When the plant gain β falls below a certain threshold, equation (42) is violated and the system becomes chaotic. The region where equation (42) is violated is primarily a function of the sliding line c and the gain β.

FIG. 12

illustrates that the analytical estimates of steady state behavior are lower bounds to the potential steady state behavior.

FIG. 13

shows the value of β that delineates the chaotic boundary for each value of c.




When equation (42) is violated and the system becomes chaotic, the steady state behavior will depend on the initial conditions of the system. It is possible that the steady state behavior, while stable, may be significantly different depending on initial conditions.

FIGS. 14A-14C

illustrate this by showing step responses of varying amplitudes while the system is in the chaotic region. Notice that in FIG.


14


A and

FIG. 14B

when the amplitude of the step response is −0.1 and −0.2, σ does not change sign on every sample period, whereas in

FIG. 14C

σ does change sign on every sample period when the amplitude of the step response is −0.5.




EXTENSION TO THE SERVO PROBLEM




The above analysis of discrete-time sliding mode control applied to a regulator can be extended to a servo system having a non-zero reference signal. For σ


k+1


>0, the above analysis with a non-zero reference signal leads to







k+n+1


<0







0


ε


k+n


+cA(R


k+n+1


−ΦR


k+n


)−cBsgn(σ


k+n


)<0




c Φ


0


ε


k+n


+cA(R


k+n+1


−ΦR


k+n


)<cB.




A similar result can be derived for σ


k+1


<0 resulting in the combined requirements of






−cB<cΦ


0


ε


k+n


+cA(R


k+n+1


−ΦR


k+n


)<cB.  (43)






Equation (43) is valid for all locations of σ in the phase plane, and it does not require that steady state behavior be attained. For the specific case of steady state behavior where σ crosses the sliding line and changes sign on every sample period, further simplification is possible








lim

n






{


c






Φ
0



ε

k
+
n



+

cA


(


R

k
+
n
+
1


-

Φ






R

k
+
n




)



}


=



lim

n






{


c






Φ
0

n
+
1




ε
k


-

c






Φ
0






j
=
0


n
-
1





Φ
0
j



A


(


R

k
+
n
-
j


-

Φ






R

k
+
n
-
j
-
1




)






}


+


(
cA
)



(


R

k
+
n
+
1


-

Φ






R

k
+
n




)


-


lim

n






{

c






Φ
0






j
=
0


n
-
1





Φ
0
j



Bsgn


(

σ

k
+
n
-
j
-
1


)





}













Combining terms and taking the limit of the initial condition term leads to











lim

n






{


c






Φ
0



ε

k
+
n



+

cA


(


R

k
+
n
+
1


-

Φ






R

k
+
n




)



}


=



lim

n






{

c





j
=
0


n
-
1





Φ
0
j



A


(


R

k
+
n
+
1
-
j


-

Φ






R

k
+
n
-
j




)





}


-


lim

n






{

c






Φ
0






j
=
0


n
-
1





Φ
0
j



Bsgn


(

σ

k
+
n
-
j
-
1


)





}







(
44
)













From equations (35) and (36), the second term in equation (44) reduces to







0


(I+Φ


0


)


−1


Bssn (σ


k


).




For the servo problem, the residual derivative term modulates the switching action of σEquation (43) then simplifies to










-

(

cB
+

c








Φ
0



(

I
+

Φ
0


)



-
1



B


)


<


lim

n






{

c





j
=
0


n
-
1





Φ
0
j



A


(


R

k
+
n
+
1
-
j


-

Φ






R

k
+
n
-
j




)





}


<

(

cB
+

c








Φ
0



(

I
+

Φ
0


)



-
1



B


)





(
45
)













The magnitude of the middle term in equation (45) is more easily evaluated in the z domain










&LeftBracketingBar;


lim

n






{

c





j
=
0


n
-
1





Φ
0
j



A


(


R

k
+
n
+
1
-
j


-

Φ






R

k
+
n
-
j




)





}


&RightBracketingBar;

=


&LeftBracketingBar;

c


(



Φ
0
0



A


(

zI
-
Φ

)




R


(
z
)



+


Φ
0
1



z

-
1




A


(

zI
-
Φ

)




R


(
z
)



+


Φ
0
2



z

-
2




A


(

zI
-
Φ

)




R


(
z
)



+


)


&RightBracketingBar;

=


&LeftBracketingBar;


c


(



(


Φ
0

z

)

0

+


(


Φ
0

z

)

1

+


(


Φ
0

z

)

2

+


)




A


(

zI
-
Φ

)




R


(
z
)



&RightBracketingBar;

=

&LeftBracketingBar;



cz


(

zI
-

Φ
0


)



-
1




A


(

zI
-
Φ

)




R


(
z
)



&RightBracketingBar;







(
46
)













where the geometric series in equation (46)






(



(


Φ
0

z

)

0

+


(


Φ
0

z

)

1

+


(


Φ
0

z

)

2

+


)










converges to




z(zI−Φ


0


)


−1


.




The resulting bounds are therefore given as






|cz(zI−Φ


0


)


−1


A(zI−Φ)R(z)|<2(cB+cΦ


0


(I+Φ


0


)


−1


B)  (47)






PSEUDO DERIVATIVE REFERENCE ESTIMATORS




Equations (24) is the pseudo derivative reference (PDR) Λ


k+1


and equations (25) and (26) set forth above disclose a technique for estimating the PDR Λ


k+1


in the control law of equation (23). This section describes various alternative embodiments for estimating the pseudo derivative reference Λ


k+1


through the use of a least-mean-square algorithm.




In general, servo systems can be divided into three categories: systems where the reference is known, such as in robotic systems; systems where the reference is unknown but repeatable, such as the runout signal in disk storage systems; and systems where the reference is unknown and non-repeatable. For the first type of systems where the reference is known, the pseudo derivative reference Λ


k+1


can be determined exactly from equation (22)




Λ


k+1


=c(R


k+1


−ΦR


k


)(cΓ)


−1


.




For systems where the reference is unknown, the pseudo derivative reference Λ


k+1


must be estimated.




One embodiment for estimating the Λ


k+1


when the reference is unknown and repeatable is shown in FIG.


15


A. In this example, the servo controller controls the motion of a read head in a disk storage system. The eccentricities of the disk storage medium


4


results in an unknown repeatable perturbation of the static reference signal


27


of FIG.


1


. This perturbation is referred to as “runout” and is modelled as a noise signal


25


added


24


to the static reference signal


27


to generate the actual reference signal


18


for generating the position error phase state ε


1




22


. References of this type are harmonic in nature and are related to the angular velocity of the disk. They can be modelled as










R
k

=





n
=
1

m




An
k



sin


(
nwk
)




+


Bn
k



cos


(
nwk
)








(
48
)













where m is an integer greater than zero, the coefficients An and Bn are unknown, and w is the angular velocity of the disk


4


as determined from a speed transducer


132


(FIG.


15


A).




Referring to

FIG. 15A

, the plant


134


represents the elements of the recording device (actuator, read head, spindle motor, read channel, etc.). The input to the plant


134


is a control signal U


k


generated by summing


136


the output of the sliding mode controller


26


(described above) and an estimated reference signal ER. The output of the plant is the measured position of the read head


6


relative to the surface of the disk


4


. The detected angular velocity w is input into a sinusoid synthesizer


134


which synthesize sinusoidal signals (and harmonics) of the form in equation (48). An observer


138


estimates the non-measurable system phase states: the position phase state ˜Xp and the velocity phase state ˜Xv (or, alternatively, it may estimate the phase state errors). These phase states cannot be measured directly due to the effect of the unknown reference signal on these states. The input into the observer


138


is a position error generated by subtracting


139


the position signal X output by the plant


134


from the estimated position phase state ˜Xp output by the observer


138


. The estimated phase states ˜Xp and ˜Xv are subtracted from static reference signals Rp and Rv at adders


140


A and


140


B to generated a position error phase state ε


1




k


and a velocity error phase state ε


2




k


. Alternatively, for many classes of systems the higher order error phase states, such as the velocity error phase state, may be estimated by taking the derivative of the position error phase state.




The coefficients An and Bn of equation (48) are estimated by minimizing the position error phase state ε


1




k


using a least-mean-square (LMS) algorithm. A sinusoid synthesizer


142


synthesizes the sinusoidal signal (and harmonics) of equation (48) which are input into an LMS adaptor


144


. The LMS adaptor processes the sinusoidal signals output by the synthesizer


142


and the position error phase state ε


1




k


to compute the coefficients An and Bn of the estimated reference signal ER according to the following LMS algorithm







ER
k

=





n
=
1

m




An
k



sin


(
nwk
)




+


Bn
k



cos


(
nwk
)









An

k
+
1


=


An
k

+

g






ε1
k



sin


(
nwk
)









Bn

k
+
1


=


Bn
k

+

g






ε1
k



cos


(
nwk
)














where g is a predetermined gain constant. This technique minimizes the position error, but leaves a residual modulation on α/(1λ).




Adding the estimated reference ER to the control effort generated by the sliding mode controller


26


approximates the feed forward term Λ


k+1


of equation (23). Therefore, the hardware shown in

FIG. 5B

for generating Λ


k+1


is obviated.




Estimating the reference by minimizing the position error phase state ε


1




k


will induce a residual modulation on the sliding mode variable σ


k


as it switches across the sliding line c. This is because the LMS algorithm reduces the error in the estimated reference at specific frequencies more than would be expected from the pseudo derivative reference term Λ


k+1


alone. If no further adaptation is required, this residual modulation is acceptable; however, it is possible to attenuate the modulation in σ


k


by minimizing the error in σ


k


rather than minimizing the position error phase state ε


1




k


. This embodiment of the present invention is understood with reference to FIG.


15


B.





FIG. 15B

is essentially the same as

FIG. 15A

except that the LMS adaptor minimizes the error in σ


k


rather than the position error phase state ε


1




k


. Thus, the LMS algorithm becomes







ER
k

=





n
=
1

m




An
k



sin


(
nwk
)




+


Bn
k



cos


(
nwk
)









err
k

=


σ
k

-


sgn


(

σ
k

)




Δ

(

1
+
λ

)









An

k
+
1


=


An
k

+


gerr
k



sin


(
nwk
)









Bn

k
+
1


=


Bn
k

+


gerr
k



cos


(
nwk
)














where the variables Δ an λ determine the nominal switching boundary for σ


k


as described above with reference to the discrete-time sliding mode controller


26


. This method increases the magnitude of the residual position error within specification, but it essentially eliminates the modulation in σ


k


. In addition, it provides a better estimate of the pseudo derivative reference Λ


k+1


than does the LMS method of minimizing the position error phase state ε


1




k


.




If the reference signal is completely unknown (non-repeatable), then the preferred method for estimating the reference is illustrated in FIG.


15


C. This method enhances the estimate of the pseudo derivative reference Λ


k+1


described in equations (25) and (26) by taking the local derivative and adding it to the estimate yielding an increasingly better estimate of Λ


k+1






Λ


k+1


≈Λ


k






Λ


k+1


≈Λ


k


+(Λ


k


−Λ


k−1


)




Λ


k+1


≈A


k


Λ


k


+B


k





k


−Λ


k−1


)




where A and B are unknown coefficients. This technique may be generalized to a predictor of m derivatives similar to the LMS algorithms described above. In general, a one step predictor is sufficient to minimize the modulation in σ


k


. If, however, the reference has higher frequency components, then this technique is extensible to higher order derivatives. The LMS adaptor of

FIG. 15C

computes the coefficients A and B, and therefore the estimated reference signal ER, according to







Λ

k
+
1


=


U

k
-
1


-

c







Φ


(

c





Γ

)



-
1




ε

k
-
1



+



σ
k



(

c





Γ

)



-
1








err
k

=


σ
k

-


sgn


(

σ
k

)




Δ

(

1
+
λ

)









A

k
+
1


=


A
k

+


g
0



err
k



Λ
k








B

k
+
1


=


B
k

+


g
1




err
k



(


Λ
k

-

Λ

k
-
1



)









ER
k

=



A
k



Λ
k


-


B
k



(


Λ
k

-

Λ

k
-
1



)













where g


0


and g


1


are predetermined gain constants. The above


17


algorithm uses the past error states ε


k−1


, the past control effort U


k−1


, and the current value of σ


k


to generate the estimated reference signal ER. It does not require any a priori knowledge of the reference, and its convergence speed can be increased by increasing the convergence factors g


0


and g


1


(g


1


may be larger than g


0


, corresponding to the slope of c).




Many changes in form and detail could be made without departing from the essential function of the present invention; the particular embodiments disclosed are not intended to be limiting. For instance, the discrete-time sliding mode controller may be implemented in hardware or software, and higher order phase states could be used in place of, or in addition to, the particular phase states disclosed. These and other modifications derived from the disclosed embodiment are within the intended scope of the present invention as properly construed from the following claims.



Claims
  • 1. A discrete-time sliding mode controller for controlling the motion of a mechanical apparatus as part of a controlled system, the diserete-time sliding mode controller comprising:(a) a phase state generator for generating a discrete-time phase state signal X1k, the discrete-time phase state signal X1k comprising sample values occurring at a predetermined interval T; (b) a linear signal generator, responsive to the discrete-time phase state signal X1k, for generating a linear control signal; a sliding mode signal generator, responsive to the discrete-time phase state signal X1k, for generating a sliding mode control signal according to: μΔsgn(σk) where μ is a predetermined gain, Δ is a predetermined constant, σk is a sliding mode variable computed from the discrete-time phase state signal X1k, and y sgn(σk) returns the sign of σk; (d) a reference estimator for generating an estimated reference signal ER; and (e) a combiner for combining the linear control signal, the sliding mode control signal, and the estimated reference signal ER to generate a motion control signal Uk for controlling the motion of a mechanical apparatus.
  • 2. The discrete-time sliding mode controller as recited in claim 1, wherein the discrete-time phase state signal X1k is a position error phase state, and the reference estimator comprises:(a) an angular velocity detector for detecting an angular velocity of a rotating device in the controlled system; (b) a sinusoid synthesizer for generating a synthesized sinusoidal signal; (c) a least-mean-square (LMS) adaptor for generating the estimated reference signal ER from the sinusoidal signal and the position error phase state X1k.
  • 3. The discrete-time sliding mode controller as recited in claim 2, wherein the LMS adaptor generates the estimated reference signal ER according to: ERk=∑n=1m⁢Ank⁢sin⁡(nwk)+Bnk⁢cos⁡(nwk)Ank+1=Ank+gX1k⁢sin⁡(nwk)Bnk+1=Bnk+g⁢ ⁢X1k⁢cos⁡(nwk)wherein:(a) w represents the angular velocity of the rotating device in the controlled system; (b) Anksin(nwk)+Bnk cos(nwk) represents the sinusoidal signal; (c) g is a predetermined gain constant; and (d) m is a predetermined integer greater than zero.
  • 4. The discrete-time sliding mode controller as recited in claim 3, wherein:(a) the linear signal generator generates the linear control signal according to: Ψεk where Ψ is a constant and εk is a discrete-time phase state error signal generated from the discrete-time phase state signal X1k and a reference signal Rk; (b) the sliding mode signal generator generates the sliding mode control signal according to: μΔ sgn(σk) where μ is a predetermined gain, Δ is a predetermined constant, σk is a sliding mode variable computed from the discrete-time phase state signal X1k, and sgn(σk) returns the sign of σk; and (c) the combiner generates the motion control signal according to: Ψεk+μΔ sgn(σk)+ER.
  • 5. The adaptive discrete-time sliding mode controller as recited in claim 3, wherein the sliding mode signal generator generates the sliding mode control signal according to:μΔ sgn(σk) where μ is a predetermined gain, Δ is a predetermined constant, σk is a sliding mode variable computed from the discrete-time phase state signal X1k, and sgn(σkreturns the sign of σk.
  • 6. The adaptive discrete-time sliding mode controller as recited in claim 5, wherein the sliding mode variable σk is computed according to:σk=cεk where εk is a plurality of discrete-time phase state errors of the controlled system and c is a predetermined vector that defines a sliding line in a phase plane.
  • 7. The adaptive discrete-time sliding mode controller as recited in claim 5, wherein the sliding mode variable σk changes sign at substantially every sample index k.
  • 8. The adaptive discrete-time sliding mode controller as recited in claim 7, wherein:(a) the sliding mode variable σk is substantially constrained to: −W<σk<+W; (b) W is a predetermined constant.
  • 9. The adaptive discrete-time sliding mode controller as recited in claim 7, wherein the sliding mode variable σk is substantially constrained to:σk+1=λσk−Δsgn(σk) where λ is a predetermined constant and λ<1.
  • 10. The adaptive discrete-time sliding mode controller as recited in claim 9, wherein the magnitude of the sliding mode variable σk is substantially constrained to:|σk|≦Δ/(1+λ).
  • 11. The adaptive discrete-time sliding mode controller as recited in claim 1, wherein the sliding mode variable σk is computed according to:σk=cεk where εk is a plurality of discrete time phase state errors of the controlled system and c is a predetermined vector that defines a sliding line in a phase plane.
  • 12. The adaptive discrete-time sliding node controller as recited in claim 1, wherein the sliding mode variable σk changes sign at substantially every sample index k.
  • 13. The adaptive discrete-time sliding mode controller as recited in claim 12, wherein:(a) the sliding mode variable σk is substantially constrained to: −W<σk<+W; (b) W is a predetermined constant.
  • 14. The adaptive discrete-time sliding mode controller as recited in claim 12, wherein the sliding mode variable σk is substantially constrained to:σk+1=λσk−Δsgn(σk) where X is a predetermined constant and λ<1.
  • 15. The adaptive discrete-time sliding mode controller as recited in claim 14, wherein the magnitude of the sliding mode variable σk is substantially constrained to:|σk|≦Δ/(1+λ).
  • 16. The discrete-time sliding mode controller as recited in claim 15, wherein the discrete-time phase state signal X1k is a position error phase state, and the reference estimator comprises:(a) an angular velocity detector for detecting an angular velocity of a rotating device in the controlled system; (b) a sinusoid synthesizer for generating a synthesized sinusoidal signal; (c) a least-mean-square (LMS) adaptor for generating the estimated reference signal ER from the sinusoidal signal and the sliding mode variable σk.
  • 17. The discrete-time sliding mode controller as recited in claim 16, wherein the LMS adaptor generates the estimated reference signal ER according to: ERk=∑n=1m⁢Ank⁢sin⁡(nwk)+Bnk⁢cos⁡(nwk)errk=σk-sgn⁡(σk)⁢Δ(1+λ)Ank+1=Ank+gerrk⁢sin⁡(nwk)Bnk+1=Bnk+gerrk⁢cos⁡(nwk)wherein:(a) w represents the angular velocity of the rotating device in the controlled system; (b) Anksin(nwk)+Bnk cos(nwk) represents the sinusoidal signal; (c) g is a predetermined gain constant; and (d) m is a predetermined integer greater than zero.
  • 18. The adaptive discrete-time sliding mode controller as recited in claim 1, wherein;(a) the sliding mode signal generator generates the sliding mode control signal according to: μΔ sgn(σk) where μ is a predetermined gain, Δ is a predetermined constant, σk is a sliding mode variable computed from the discrete-time phase state signal X1k, and sgn(σk)returns the sign of σk; (b) σk is computed according to: σk=cεk where εlk is a plurality of discrete-time phase state errors of the controlled system and c is a predetermined vector that defines a sliding line in a phase plane; (c) the sliding mode variable σk is substantially constrained to: σk+1=λσk−Δsgn(σk) where λ is a predetermined constant and λ<1; (d) a plurality of discrete-time phase states Xk of the controlled system are substantially modeled relative to the motor control signal Uk according to: Xk+1=ΦXk+ΓUk where Φ is a matrix and Γ is a scalar; (e) a pseudo derivative reference signal Λk+1 is computed according to: Λk=Uk−1−cΦ(cΓ)−1εk−1+σk(cΓ)−1; and (f) εk is a discrete-time phase state error vector generated from the discrete-time phase states Xk of the controlled system and a reference signal matrix Rk; (g) the reference estimator comprises a least-mean-square (LMS) adaptor for generating the estimated reference signal ER according to: errk=σk-sgn⁡(σk)⁢Δ(1⁢λ)Ak+1=Ak+g0⁢errk⁢ΛkBk+1=Bk+g1⁢errk⁢(Λk-Λk-1)ERk=Λk⁢Λk-Bk⁡(Λk-Λk-1)wherein:(i) w represents the angular velocity of a rotating device in the controlled system; (ii) Ak+Bk are coefficients; and (iii) g0 and g1 are a predetermined gain constants.
RELATED APPLICATIONS

This application is a related to U.S. patent application Ser. No. 08/943,997 entitled “Improved Chatter Reduction in Sliding Mode Control of a Disk Drive Actuator” which is hereby incorporated by reference.

US Referenced Citations (14)
Number Name Date Kind
3701889 Barron et al. Oct 1972
4679103 Workman Jul 1987
4713596 Bose Dec 1987
5249117 Greenough et al. Sep 1993
5276387 Gamble Jan 1994
5285379 Gamble Feb 1994
5341078 Torii et al. Aug 1994
5345348 Suzuki Sep 1994
5442270 Tetsuaki Aug 1995
5510939 Lewis Apr 1996
5699207 Supino et al. Dec 1997
5781365 Romano et al. Jul 1998
5825582 Supino et al. Oct 1998
5901010 Glover et al. May 1999
Foreign Referenced Citations (2)
Number Date Country
44 05 087 Aug 1994 DE
0 013 326 Jul 1980 EP
Non-Patent Literature Citations (21)
Entry
Katsuhisa Furuta, “Sliding Mode Control of a Discrete System”, Systems & Control Letters, vol. 14, No. 2, Feb. 1990.
J. C. Hung, “Chattering Handling for Variable Structure Control Systems”, Proceedings of the IECON '93, vol. 3, 1993.
Raymond A. DeCarlo, Stanislaw H. Zak, and Gregory Mathews, “Variable Structure Control of Nonlinear Multivaribale Systems: A Tutorial”, Proceedings of the IEEE, vol. 76, No. 3, Mar. 1988.
V. I. Utkin, “Discontinous Control System: State of Art In Theory and Applications”, Automatic Control World Congress 1987, vol. 1.
Weibing Gao and James C. Hung, “Variable Structure control of Nonlinear Systems: A New Approach”, IEEE Trans. on Industrial Electronics, vol. 40, No. 1, Feb. 1993.
M. A. El-Sharkawi, “Development and Implementation of High Performance Variable Structure Tracking Control for Brushless Motors”, IEEE/PES 1990 Summer Meeting, Mineapolis, minnesota, Jul. 15-19, 1990.
G. C. Verghese, B. Fernandez R., and J. K. Hedrick, “Stable, Robust Tracking by Sliding Mode Control”, Systems & Control Letters, vol. 10, 1988.
Kar-Keung D. Young and Harry G. Kwatny, “Variable Structure Servomechanism Design and Applications to Overspeed Protection Control”, 1982 International Federation of Automatic Control.
B. K. Bose, “Sliding Mode Control of Induction Motor”, CH2207-9/85/0000-0479 IEEE (1985).
“Sliding Mode Control For Arrivals and Small Movement” IBM Technical Disclosure Bulletin, vol. 23, No. 4, (1990).
Weibing Gao, Yufu Wang, and Abdollah Homaifa, “Discrete-Time Variable Structure Control Systems”, IEEE Trans. on Industrial Electronics, vol. 42, No. 2, Apr. 1995.
John Y. Hung, Weibing Gao, and James C. Hung, “Variable Structure Control: A Survey”, IEEE Trans. on Industrial Electronics, vol. 40, No. 1, Feb. 1993.
Yasuda et al., “Controller Using Sliding Mode Control”, Patent Abstracts of Japan, vol. 12, No. 411.
Jean-Jacques E. Slotine, “Sliding controller design for non-linear systems”, Int. J. Control, vol. 40, No. 2, 1984, pp. 421-434.
G. Ambrosino, G. Celentano, F. Garofalo, “Variable structure model reference adaptive control system”, Int. J. Control, vol. 39, No. 6, 1984, pp. 1339-1349.
Chandrasekhar Namuduri and Paresh C. Sen, “A Servo-Control System Using a Self-Conrolled Synchronous Motor (SCSM) With Sliding Mode Controller”, IEEE Trans. on Industry Applications, vol. IA-23, No. 2, Mar./Apr., 1987.
F. Harashima, H. Hashimoto, and S. Kondo, “MOSFET Converter-Fed Position Servo System with Sliding Mode Control”, IEEE Transactions on Industrial Electronics, vol. IE-32, No. 3, Aug. 1985, pp. 238-244.
C. Denise Mee, Eric D. Daniel, “Magentic Recording vol. II: Computer Data Storage”, McGraw-Hill, 1988, pp. 53-70.
Andrzej Bartoszewicz, “Remarks on 'Discrete-Time Variable Structure Control Systems”, IEEE Transactions on Industrrial Electronics, vol. 43, No. 1, Feb. 1996.
U.S. application No. 08/943,997, filed Oct. 3, 1997.
S. Weerasooriya and T.S. Low, “Adaptive Sliding Mode Control of a Disk Drive Actuator”, Asia-Pacific Workshop on Advances in Motion Control Proceedings, Singapore, Jul. 15-16, 1993, IEEE, NY, USA, pp. 177-182.