Abstract:
A system and method for controlling the movement of a member, particularly the heads of a disk file, to a specified position in a predetermined path, makes use of an electromagnetic responsive to control signals and to position reference information and a transducing means for reading such information to produce a position signal. The position signal is sampled regularly and, together with the actuator control signal, used to update a velocity estimator. During the deceleration phase of the movement, a new actuator control signal is generated at each sample time from the square of the estimated velocity divided by the computed distance-to-go to the specified position.

Description:
TECHNICAL FIELD OF THE INVENTION 
     This invention relates to a system and method for controlling the movement of a member to a specified position by means of an estimator and in particular to the positioning of the heads of a disk file. 
     BACKGROUND OF THE INVENTION 
     One aspect of the positioning of the heads of a disk file to read or write data on information bearing tracks thereof is the so-called `seek` movement between tracks. It is generally desirable to move the heads in the minimum time consistent with minimum final position error and settle time prior to entering the track following mode in which data may be read or written. Track following relies on the provision of position reference information, frequently referred to as &#34;servo patterns&#34;, on at least one disk surface. The position reference information may either be on a dedicated servo surface and read by a dedicated servo head or it may be dispersed as servo sectors on the data surfaces and read by the data heads. Generally, the position reference information does not give an absolute position of the head but only an offset position relative to a single track or within a small group of tracks. The seek operation conventionally uses this information to update a register containing either the absolute position or the number of tracks to go to the target track. 
     The seek movement normally consists of an accelerate phase in which the heads are accelerated as fast as possible in an open loop fashion followed by a decelerate phase in which they are decelerated under some sort of closed loop control to come to rest approximately on the target track. There may also be an intermediate `coast` or constant velocity phase between the accelerate and decelerate phases. Conventionally, the control of deceleration has been achieved by measuring or estimating head velocity and causing it to track a velocity profile. The velocity profile may be calculated on the basis of the square root of the distance-to-go as described in an article by R. E. Oswald entitled &#34;Design of a Disk File Head-Positioning Servo&#34; (IBM Journal of R and D Nov. 1974, pp. 506-512). Alternatively, the profile may be stored in a table which is addressed by the number of tracks to go. One such system is described in EP 0111654 Al. 
     A recent development in the control of disk file head movement has been the use of sampling of the digitized position error, derived from the position reference information in combination with state estimation control theory as described in &#34;Digital Control of Dynamic Systems&#34; by Franklin and Powell (Addison-Wesley, 1980). U.S. Pat. Nos. 4679103 and 4697127 describe such systems employed in disk files, in which state variables, defined by a mathematical model of the positioning system, are updated at each sampling time by a state estimator. The inputs to the estimator are position error and the currently applied actuator control signal. One output is a velocity estimate which, in the seek mode, is compared with a velocity profile such as in the earlier servo systems. 
     An ideal actuator is a double integrator system where current in the coil is integrated over time to give velocity, and velocity is integrated to give position. For the case of an ideal actuator with a driver limited to ±I amps, the minimum decelerate time is achieve by applying the full decelerate current at a critical distance to go. This distance will then reduce parabolically finally reaching the required position with zero velocity. The ideal velocity profile is thus given by 
     
         v.sub.t =(2XlK.sub.f /M).sup.1/2 
    
     where v t  is the optimum velocity for a given distance-to-go, X; M is the mass of the system and K f  is the force constant of the actuator. 
     In the prior art implementations the servo has this ideal trajectory or velocity profile, either in a table lookup form or else calculates it on the fly. At each sample time or track crossing, it compares the actuator&#39;s velocity and remaining distance to go with the ideal trajectory and increases the drive current to the actuator if the actuator&#39;s velocity is above the velocity given by the ideal trajectory for that distance to go, and reduces it if the actuator&#39;s velocity is low. 
     In choosing between table lookup or calculation &#34;on the fly&#34;, a trade off must be made between the large code space required for a table with adequate resolution and the length of time required to calculate a square root, an iterative process. Some table lookup algorithms, such as that of EP 0111454 Al, use a compacted table but take more time in accessing the table. 
     Additionally, four more factors also complicate the situation: 
     1) If the actuator velocity is found to be greater than the trajectory velocity, the drive needs to be increased Consequently the trajectory must be based on a drive level somewhat less than the full drive available to allow serving actions on a worst case file, typically this is 75%. 
     2) Due to the time constant of the actuator coil and driver electronics, there will be a delay in applying and removing the force on the actuator. Some form of anticipation is required in deciding when to reverse the drive as the trajectory is approached and also in deciding when to remove the drive and hand over to the settle algorithm. 
     3) At the final position, there is an extremely high rate of change of current (limited only by the rise time of the coil) and the consequent jerk or rate of change of force can cause problems with resonances in the mechanical system. 
     4) If the error signal that is generated to apply to the driver is based on the simple approach outlined above, i.e. the servo loop gain factor, K d , times the difference between the actuator velocity, v a , and the trajectory velocity, v t , then, since the error required to produce the drive level implicit in the trajectory is constant, nominally 1/K d , the error in percentaqe terms increases as the velocity reduces, becoming unacceptable as zero velocity is approached. To compensate for this, either the trajectory can be distorted to allow for the error required or a feedforward current can be added into the error term. However, these solutions introduce further complexity to the system. 
     DISCLOSURE OF THE INVENTION 
     Many of the above referenced problems, occurring with velocity profile control as practised in the prior art are overcome in accordance with the present invention which provides a method of controlling the movement of a member in a positioning system to a specified position in a predetermined path along which the member is movable by an actuator in response to actuator control signals, said movement comprising at least acceleration and deceleration phases, the system further including position reference information and transducing means capable of reading such position reference information to produce a signal indicative of the relative position of the member, the method comprising the steps of sampling the signals from the position transducing means at regular sampling times, computing the distance-to-go to the specified position; estimating the velocity of the member at each sampling time in accordance with a mathematical model of the system and in response to at least the current position signal sample and actuator control signal; generating, during said deceleration phase of movement, an actuator control signal based on said velocity estimate and distance to go; applying the generated actuator control signal to the actuator and repeating the above steps at successive sample times until the member is within a predetermined distance of the specified position; characterized in that the actuator control signal is calculated at each sample time during said deceleration phase of movement as a function of the square of the estimated velocity divided by the distance-to-go. 
     The invention also provides a positioning system including an actuator for moving a member to a specified position along a predetermined path in response to actuator control signals, the movement comprising at least acceleration and deceleration phases; position reference information associated with the path of movement; transducing means capable of reading such position reference information and producing signals indicative of the relative position of the member; sampling means for sampling the relative position indicating signals at regular sampling times; means for computing the distance-to-go to the specified position; a velocity estimator for estimating the velocity of the member at each sample time on the basis of a mathematical model of the positioning system and in response to at least the current position sample and actuator control signal; and means for generating, at each sample time during said deceleration phase of movement, an actuator control signal, based on said velocity estimate and distance to go, and for applying the generated actuator control signal to the actuator; characterized in that:- the actuator control signal generated by said generating means during said deceleration phase of movement is calculated, at each sample time, as a function of the square of the estimated velocity divided by the distance-to-go. 
     The system and method according to the invention have the advantage that no trajectory table is required, giving a saving in code space. Further, the alternative calculation of a square root is avoided giving a saving in time. Taking a square root involves an iterative process and the number of iterations required would have to be that required for the worst case input data. Also, there is no velocity error term (1/ K d ). This is particularly important as the specified position is approached and control is handed over to a position loop settle algorithm, as a velocity error will give rise to overshoot in the settle phase. 
     Given the ideal electromagnetic actuator with limited drive current, the minimum time to decelerate is given by applying the full current (or some percentage thereof) throughout the deceleration phase. However, in a real actuator there are benefits to be gained by profiling the decelerate current. One such benefit arises from the fact that the maximum decelerate current is often determined by the supply voltage available and the resistance of the coil. In this case for systems with a large force factor, a greater current is available in the early part of the decelerate period due to the additive effect of back e.m.f. so that the decelerate time is reduced if the current is appropriately profiled. A second benefit arises because, when there are significant resonances in the system, the time from the end of the decelerate phase to the time the settle criteria are met must be considered in conjunction with the decelerate time. If in the final part of the deceleration the current is reduced to zero in a smoother fashion, the jerk can be reduced. Also since the rate of change of velocity has been reduced, the error in the velocity estimate is also smaller. As a result the hand over to the settle algorithm is much better controlled with lower resonance amplitudes and a more accurate velocity estimate. Clearly, this profiling of the current will increase the decelerate time but can result in an overall reduction of the decelerate and settle time. 
     Such profiling is easily achieved in a preferred method according to the invention by computing the actuator control signal to exceed by a predetermined factor the minimum actuator control signal needed to bring the head to rest at the specified track. 
     This modification involves adjusting the constant K f  /M, which is used in the preferred calculation of actuator control signal (current), where K f  is the force constant of the actuator and M is the mass of the moving system. If K f  /M is multiplied by a constant, K o , typically in the range 0.8 to 0.95, the control signal delivered to the actuator will be an overestimate. As a result, at the next sample time the ratio, 2/X, where v is the velocity estimate and X is the distance-to-go, is reduced. However, since the new value of control signal is also an overestimate, at the following sample the control signal will reduce again, and so on. This is implemented by the following calculation at each sample time: 
     
         U=Mv.sup.2 / 2K.sub.f K.sub.o X 
    
     where U is the actuator control signal, representative of drive current and K o  is the overestimation factor. 
     It will be noted that 2K f  K o  /M is a constant and therefore does not need to be calculated at each sample time. Careful choice of the overestimation factor and the critical distance to go give rise to a decelerate current profile that can both take advantage of the back emf available and reduce the jerk at the end of the decelerate phase. 
     In the above calculation, the distance-to-go, X, is preferably calculated using the actual measured position signal from the transducing means although it would be possible for a position estimate to be used. In practice, only the change in position is calculated and is used to modify the distance-to-go at each sample time. 
     In the same way that the velocity and required actuator control signal are computed at each sample time during the decelerate phase, the critical distance-to-go, X cr , at which the decelerate phase is to start is computed at each sample time during the acceleration and coast phases. The computation is broadly based on the square of the estimated velocity signal, v, divided by the maximum available actuator current at that velocity. As soon as the computed distance to go is less than X cr  the system is switched into its decelerate phase. With an electromagnetic actuator, the maximum current available increases with velocity because of back e.m.f. The slew rate of current in the actuator is also, preferably, included in the computation of X cr . X cr  can be shown to be dependent on K f , which is the plant gain, and on velocity. As a result, when the plant gain Is low, X cr  is increased, allowing the extra time to stop within the constraints of the given current profile. Thus, the worst case plant affects only its own performance and the best improves on the nominal. 
     Although, the invention is particularly applicable to a magnetic disk file head positioning system for positioning heads relative to information storage tracks on the disk, it is also applicable to any other precision positioning system employing an actuator. Optical disk files, printer print head movements and robotic manipulators are all alternative examples where minimum time of movement to a new position is important. 
     In the disk file application, the file would include at least one disk provided with, preferably dedicated, position reference information on a surface thereof and the transducing means would comprise at least one of the heads, preferably a dedicated servo head, and demodulating means for demodulating signals read back by the servo head to provide position indicating signals relating to position in a radially repeated subset of the information storage tracks. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention will now be described, by way of example only, with reference to the following drawings, in which: 
     FIG. 1 is a schematic block diagram of a head positioning system according to the invention for positioning the heads of a disk file; 
     FIG. 2 illustrates the nominal variation of a head position indicating signal produced in the system of FIG. 1 relative to groups of tracks in a disk file; and 
     FIG. 3 illustrates the variation of actuator current, head position and velocity during a typical seek movement of the head in the system of FIG. 1. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The disk file head positioning system illustrated schematically in FIG. 1 includes both real mechanical and electrical components and also various functional blocks which are implemented in microcode under the control of a microprocessor. It should be realized that such functional code blocks only exist as modules of code and are not physically separate components. 
     Considering first the hardware, the disk file comprises mechanical and electrical components 10, which may be regarded as the &#34;Plant&#34; from the point of view of control theory, and various electrical circuits A number of information bearing disks, such as 11, are rotatable on spindle by a motor (not shown). Information may be written on or read from the disks by means of heads such as 13 which are positioned by means of an actuator 14 of the well-known voice coil motor type. The actuator moves in response to current from a voltage driver 15 which receives an actuator control voltage signal, U, generated by the microcode. 
     The file is of the dedicated servo type and one of the disks 16 has a surface bearing servo patterns constituting position reference information for a dedicated servo head 17. Signals from the servo head are amplified by amplifier 18 and demodulated by demodulator 19 to produce a position error signal, x 1 . The signal, x 1  is a digital signal which gives the position of a servo head within a group of four tracks which are repeated radially over the dedicated surface of disk 16. The nominal variation of such a position error signal with track position is illustrated in FIG. 2. 
     Although not strictly necessary to an understanding of the invention, it may be helpful to explain that the servo pattern is a multi-burst phase modulated pattern, such as is shown in FIG. 7 of U.S. Pat. No. 4,549,232 entitled &#34;Phase Modulated Servo System&#34;. Thus, the dedicated servo surface of disk 16 is divided circumferentially into adjacent sectors, each of which contains a servo identifier (SID) at the start of the sector and a servo pattern, constituting the position reference information within the sector. Within the servo pattern of each sector, servo information is recorded in three circumferentially spaced fields, in each of which bursts of recorded transitions are staggered progressively according to which one of the group of four tracks they are in. The staggering of the first and third fields is in the same circumferential direction whereas the staggering of the second field is in the opposite circumferential direction. The servo head 17 in FIG. 1 is two tracks wide and its output is two multiplexed approximate sinusoids whose phase difference is indicative of the radial position within the group of tracks. This signal, as amplified by amplifier 18, is applied to the demodulator 19 of FIG. 1. 
     The demodulation of the signal by detection of its two phases relative to a reference phase is generally described in U.S. Pat. No. 4,549,232 but a more detailed description of how the phase modulation is converted to a precision digital output may be found in U.S. Pat. No. 4,642,562 entitled &#34;Phase Difference Demodulator&#34;. Briefly, this involves detecting the phase difference initially as a combination of a digital signal and an analog remainder. The digital signal gives the most significant bits of the PES. The analog remainder is separately digitized to provide in total an eleven bit PES of which the two most significant bits indicate track type within the four possible types and the remaining nine bits indicate fractional position within a track. 
     Having, thus described the hardware portion of FIG. 1, the remaining blocks will now be identified in terms of their function in relation to the operation of the positioning system. As mentioned above, these blocks are embodied as microcode in a commercially available microprocessor (Texas Instrument TMS 320C25) and associated internal and external memory. 
     At the heart of the system is a state estimator 30, which receives as inputs at regular predetermined sampling times, k, determined by a clock input on line 27 from demodulator 19, the current digital values of position error signal, x 1  (k) on line 28, and of the actuator control signal u(k) on line 29. The sample clock is generated in response to the occurrence of the SID patterns under the servo head 17 at the start of each sector as detected by demodulator 19. In response to these inputs, the state estimator produces a velocity estimate, x 2  and a bias estimate, x 3 , neither quantity being directly measurable by the hardware of the system. The bias estimate x 3  relates to such quantities as windage and actuator cable tension and is discussed in further detail in U.S. Pat. No. 4,697,127. The derivation of the velocity estimate will be described further below. 
     The velocity estimate, which is initially zero, is applied together with a position change signal, δx, to a position calculator and mode selector 31. The mode selector also receives a seek command from a control processor (not shown) to initiate a seek movement to another track. The seek command includes the track number of the target track. Initially, on power-up, the heads are positioned on track zero which is held in a register in the position calculation section of block 31. In response to a seek command the value of this register is changed to the target track number defined by the seek command. 
     The mode select portion of block 31 operates a switch 33 to step the system through its various modes and phases. Preceding the Seek mode, the system is in Track Follow mode and the switch 33 is connected to summing junction 34. This sums a proportion, K 1 , of the position error, x 1 , with a proportion, K , of integrated position error and also with a proportion, K 2 , of estimated velocity, x 2 , and a proportion, K 5  of actuator current, u. This equates to a conventional proportional--integral--derivative arrangement for controlling a position loop with delay compensation. 
     On receipt of the seek command, if the seek is for more than seven tracks, the mode selector 31 sets switch 33 to the output of an Accelerate controller, 35 which applies maximum current, in open loop fashion, to cause the actuator to accelerate the heads as fast as possible towards the target track. As shown in FIG. 3, the current is initially a maximum but then reduces somewhat because of the effects of back e.m.f. in the actuator coil as the actuator picks up speed. 
     If a predetermined velocity is reached, the mode selector switches switch 33 to Coast controller 36. This controls the estimated velocity, x 2 , in closed loop fashion to a constant predetermined value. The coast mode is represented in FIG. 3 by the flat topped portion of the velocity curve. 
     During Accelerate and Coast phases the mode selector constantly computes the critical distance to go, at which deceleration must start if the head is to be brought to rest on the specified track, from the velocity estimate and from various stored constants. When this distance is reached, the mode selector switches switch 33 to Decelerate Controller 37 which causes deceleration of the actuator in accordance with the invention. 
     Finally, when the mode selector determines that certain criteria are met it reverts to the Track Follow mode, the initial part of which is a settle phase, a description of which is not relevant to an understanding of the present invention. 
     Seeks of less than seven tracks are handled under stepped position loop control in Track Follow Mode. This type of short seek is not the subject of the present invention. 
     The function of the various code blocks in the system of FIG. 1 will now be described in more detail. At the heart of the system is the state estimator 30 which is of the type known as a reduced order current estimator. 
     Estimators are used in servo design to estimate the various states of a system (e.g velocity and bias forces) which it is either impossible or not economic to measure. They are sometimes used to estimate states that are measured where the measurement is too noisy to use directly. There are two main categories of estimators: predictive estimators, in which the estimate for the states at the present time is based on the measured and estimated states from the previous sample time, and current estimator in which the estimate is based on the measurements and predictions made for the current sample time. 
     In a servo system using a current estimator, such as estimator 30, after some initial time critical calculations a number of further calculations are performed in preparation for the next sample time. These calculations predict the values of the states of the system at the next sample time. When the next sample occurs the predictions of the measured states are compared with the actual measured values and a correction factor is generated. This correction factor, called a residual, is applied in varying degrees to the predictions of the unmeasured states to give the final estimates that are used. 
     In the present system, a force is applied to a mass, the actuator, giving, in simplest case, two states that of velocity and position. The system can be described by first order differential equations as follows: 
     
         x.sub.1 (t)=x2(t) 
    
     
         x.sub.2 (t)=nu(t) 
    
     where 
     x 1  =position; 
     x 2  =velocity, meters/ sec; 
     u=control, amps; 
     n=K f  /M 
     where K 1  =force constant, N / amp, and M is in Kilogrammes. 
     Given a fixed sampling rate these equations can be converted to discrete time difference equations: 
     
         x(k+1)=Φx(k)+Γu(k) 
    
     where ##EQU1## The matrices Φ and Γ when normalised to sample time and track pitch are ##EQU2## where 
     
         Γ.sub.1 =K.sub.f T.sub.pm T.sup.2 / 2M 
    
     and 
     
         Γ.sub.2 =2Γ.sub.1 
    
     and where T pm  =trackpitch, tracks per meter, and T=sample period 
     These equations can be used to build an estimator to predict the states at the next sample given the present estimate x(k) of the states and the input current u(k) according to the following equation: 
     
         x(k+1)=Φx(k)+Γu(k)                               (2) 
    
     To be effective, an estimator needs to compare its prediction of the states with the values of those states measured and generate a correction to this prediction of the states. By this means any errors in the initial estimates of the states can be made to reduce to zero, and inadequacies of the model of the plant can be tolerated. To do this we generate the residual, which for the actuator example is 
     Residual(k+1)=x 1  (k+1)-x 1  (k+1)                  (3) 
     where x 1  (k+1) is the predicted position at sample k+1, ignoring delay compensation, given by: 
     
         x.sub.1 (k+1)=x.sub.1 (k)+Γ.sub.1 u(k)               (4) 
    
     The number of calculations can be minimized by using a reduced order estimator in which no estimate, x(k+1) is made of the measured states, the measured value being used instead. State estimator 30 is such a reduced order estimator in respect of position and equation (4) for the prediction of the next position x 1  simplifies to 
     
         x.sub.1 (k+1)=x.sub.1 (k)+x.sub.2 (k)+Γ.sub.1 (u(k)) (5) 
    
     as the position is the measured value and not estimated. 
     In similar fashion, the predicted velocity at sample k+1, is given by: 
     
         x.sub.2 (k+1)=x.sub.2 (k)+Γ.sub.2 (u(k)+x.sub.3 (k)) (6) 
    
     The Residual is used to correct the prediction of the states to give estimates, as follows: 
     
         x.sub.2 (k+1)=x.sub.2 (k+1)+L.sub.2 Residual(k+1)          (7) 
    
     
         x.sub.3 (k+1)=x.sub.3 (k+1)+L.sub.3 Residual(k+1)          (8) 
    
     where L 1 , L 2  and L 3  are constants determining the speed of response of the estimator to errors and determine the proportion of the Residual which is added to correct the previous prediction of position or velocity as the case may be. Because the actual measured position is available, no estimate of x 1 , is made. 
     The estimator 30 carries out the precalculations (3), (5) and (6) between samples and at every sample time makes the time critical estimation calculations (7) and (8). 
     Considering equation (5), the second and third terms sum to give the prediction of change in position, i.e delta position. So if, in this precalculation, this sum is saved as: 
     
         δx.sub.1 (k+1)=x.sub.2 (k)+Γ.sub.1 (u(k)+x.sub.3 (k))(9) 
    
     then the residual correction can be applied to give: 
     
         δx.sub.1 (k+1)=δx.sub.1 (k+1)+Residual(k+1)    (10) 
    
     which is the change in position of the actuator. 
     This can be shown by expanding the last equation. 
     
         δx.sub.1 (k+1)=x.sub.2 (k)+δ.sub.1 (u(k)+x.sub.3 (k))+x.sub.1 (k+1)-x.sub.1 (k+1) 
    
     expanding x 1  (k+1) gives 
     
         δx.sub.1 (k+1)=δ.sub.1 (u(k)+x.sub.3 (k))+x.sub.1 (k+1)-(x.sub.1 (k)+x.sub.2 (k)+δ.sub.1 (k)+x.sub.2 (k)+δ.sub.1 (u(k)+x.sub.3 (k))) 
    
     giving the required result 
     
         δx.sub.1 (k+1)=x.sub.1 (k+1)-x.sub.1 (k) 
    
     Calculation of delta position enables the distance-to-go to the target track to be updated at each sample time for the purpose of calculating the required decelerate current. It will be noted that the delta position calculation does not impose any restriction of the seek velocity provided that there is no ambiguity in the generation of Residual. This is a function of the accuracy of the model of the system and the noise in the measurement. This restriction clearly must be met for the estimator itself to function correctly. 
     The calculations described above are carried out by the state estimator 30 between and at every sampling time, during all phases of the Seek mode of the head positioning system (and also in the Track Follow mode). 
     During a seek, various specific calculations are carried out by Position Calculate and Mode Select Block 31 and the phase controllers 35, 36 and 37. These calculations are best described in the context of the overall Seek Algorithm which is set out below. The steps of the algorithm are labelled (a)-(1) and explanatory comments have been included. 
     SEEK ALGORITHM 
     Initialization--(Block 31) 
     a) ttg←|target track no. - current track no.| 
     where ttg is the number of tracks to go and the target track number is specified by the seek command. 
     Dirn→sign (target track no - current track no.) 
     where Dirn is the direction of the seek 
     c) If ttg&gt;7, enter Accelerate mode 
     Sampling--(State estimator 30) 
     d) get PES x 1  (k) (from demodulator 19) 
     e) ResIdual ←(x 1  (k)-x(k)), modulo 4 
     Position Calculation (Block 31) 
     f) Δposition←Δposition+Residual 
     g) ttg←ttg+Δposition . Dirn 
     where Dirn=-1 inward seek and +1 for outward seek 
     Estimation (state estimator 30) 
     
         h) x.sub.2 (k)←x.sub.2 (k)+L.sub.2 Residual 
    
     
         i) x.sub.3 (k)←x.sub.3 (k)+L.sub.3 Residual 
    
     Seek mode control (Block 31) 
     j) if mode=accelerate 
     and if ttg&lt;2x 2  (k)S+x 2   2  (k) / [2Γ 2  (I O  +I v  x 2  (k))] 
     then mode←decelerate 
     where I O  =max current available at zero velocity, 
     I v  =extra current available per unit velocity, 
     and S is a constant determined by the actuator driver slew rate 
     else if |x 2  (k)|&gt;0.941 X coast velocity then mode←coast 
     1) if mode=coast 
     and if ttg&lt;x 2  (k)S+x 2   2  (k) / [2Γ 2  (I O  +I v  x 2  (k))] 
     then mode←decelerate 
     Accelerate mode control (accelerate controller 35) 
     if mode=accelerate then u(k)=U o   
     where u(k) is actuator current control and U o  is a fixed accelerate current, corresponding to the maximum current I o . 
     Coast mode control (coast controller 3S) 
     if mode=coast 
     then u(k)=K c  (x 2  (k)-V c ) 
     where V c  Is the predetermined coast velocity 
     Decelerate mode control (Decelerate controller 37) 
     if mode=decelerate 
     then u(k)=x 2   2  / ttg K O  Γ 2   
     Seek termination (Block 31) 
     if ttg&lt;0.25 track 
     or ttg&lt;1.0 and&lt;0.125 tracks/sample then mode =Track follow (settle)