Nonminimum Phase Dynamic Inversion for Settle Time Applications

9 downloads 4306 Views 996KB Size Report
Models of HDD dynamics are typically nonminimum phase ... mum phase systems, settle time, hard disk drive (HDD) seeks, ...... to recover the FFCLI settle performance. 0. 0.5. 1 .... and apparatus for detecting handling damage in a disk drive.”.
1

Nonminimum Phase Dynamic Inversion for Settle Time Applications Brian P. Rigney, Lucy Y. Pao, and Dale A. Lawrence

Abstract—Single-track hard disk drive (HDD) seek performance is measured by settle time, ts . In this paper, we show the effective use of feedforward dynamic inversion, coupled with reference trajectory yd generation, to achieve high performance ts . Models of HDD dynamics are typically nonminimum phase (NMP), and it is well known that the exact tracking solution for NMP systems requires noncausal preactuation to maintain bounded internal signals. In the specific HDD operating modes of interest, anticipation of a seek command is unrealistic, and thus preactuation adds to the overall computation of settle time. Unlike many dynamic inversion tracking applications, this negative effect of preactuation leads to interesting trade-offs between preactuation delay, yd tracking accuracy, and achievable settle performance. We investigate multiple single-input single-output (SISO) inversion architectures, and we show that the feedforward closedloop inverse (FFCLI) achieves superior settle performance to the feedforward plant inverse (FFPI) in our application because FFCLI does not excite the closed-loop dynamics. Using the FFCLI architecture, we further investigate numerous NMP inversion algorithms, including both exact inversion schemes with initial condition preloading and stable approximate NMP inverse techniques. We conclude that the settle performance of the zeroorder Taylor series stable NMP approximation matches the best performance of the exact inversion techniques in our application, and does so without the high frequency excitation required by the Zero Magnitude Error Tracking Controller (ZMETC), or the excessive preactuation required by the Zero Phase Error Tracking Controller (ZPETC). Minimum energy optimal trajectory generation methods show that the system order n is a limiting factor in settle performance. This confirms that the zero-order series method, which is capable of producing settle times in less than n samples, is on par with optimal approaches yet much simpler to implement. Multiple NMP inversion algorithms are experimentally validated on a Servo Track Writer (STW), which reinforces the general trends observed in ideal simulations. Index Terms—Dynamic inversion, model inversion, nonminimum phase systems, settle time, hard disk drive (HDD) seeks, minimum energy trajectories.

track writing [1]-[3], sequential data transfer [4], and manufacturing scans to detect media surface defects [5]. Seek performance is measured by settle time, ts , defined as the time from the arrival of a seek command until the measured position reaches and stays within an acceptable distance from the target track. In these operating modes, it is desirable to have each drive achieve its minimum ts to reduce manufacturing time and cost, or increase data throughput. Although our motivation originates from disk drives, minimizing settle time is a popular goal in many diverse applications including integrated circuit manufacturing [6][7] and scanning microscopy [8][9]. While we simplify the focus of this paper to discrete-time, single-input single-output (SISO), linear time-invariant (LTI) plant dynamics, there are still many challenges imposed by the applications. HDD dynamics can nominally be described by a rigid body mode with higher-order structural resonances. Over a population of plants, these resonances show structured uncertainty in lower frequency ranges, and much larger, unstructured variation at higher frequencies. Fig. 1 shows the plant magnitude distribution as a function of frequency over a population of HDDs. The distribution is tight through the dominant resonance at 6 kHz, but widens for frequencies greater than 7 kHz. It is extremely difficult for a low-order parametric model to capture the complexity of the population in this higher frequency range. The distribution also widens at extremely low frequencies due to friction nonlinearities. A further complicating factor is the presence of nonminimum phase (NMP) zero dynamics. NMP dynamics can arise when the sensors and actuators are noncollocated [10], as in HDDs which have the magnetic reader position sensor and voice-coil actuator on opposite ends of a flexible actuator arm.

30

I. I NTRODUCTION

B. P. Rigney is an employee of Western Digital Corp. and a Ph.D. student in the Electrical and Computer Engineering Dept., University of Colorado, Boulder, CO 80309-0425, email: [email protected]. Prof. L. Y. Pao is with the Electrical and Computer Engineering Dept., University of Colorado, email: [email protected]. Prof. D. A. Lawrence is with the Aerospace Engineering Sciences Dept., University of Colorado, email: [email protected]. This work has been supported through research grants from Maxtor Corporation and the National Science Foundation (CMS-0201459 and CMMI-0700877). Corresponding author: B. P. Rigney.

Magnitude [dB]

Many applications perform repetitive rest-to-rest maneuvers with unsaturated plant inputs, including single-track hard disk drive (HDD) “seeks”. Disk drives perform repetitive singletrack seeks in numerous operating modes, including servo

20 10 0 75% CDF −10

50% CDF (Median) 25% CDF

−20 −30

3

10 Frequency [Hz]

4

10

Fig. 1. Frequency magnitude response from production data over a population of HDDs. The 25%, 50%, and 75% points of the empirical cumulative distribution function (CDF) are shown at each frequency. This data was provided by Maxtor Corporation.

2

Fig. 2. Block diagram of error feedback compensator C, with reference input r, feedforward input uf f , output trajectory y, and plant dynamics P .

Fig. 3. Block diagram summarizing a settle time reduction technique: parameterize (r, uf f ) with the desired output trajectory, yd , and a dynamic inverse V . Over many iterations, yd and V adapt to improve settle performance.

NMP zeros in discrete-time dynamics can also result from fast sample rates and high relative degree [11]. As we will see, NMP zeros require special treatment in the application of certain techniques for aggressive rest-to-rest maneuvers. The computational processing power within the applications can be limited, particularly for HDDs where high unit volumes dictate the use of low-cost digital signal processors (DSPs). The DSPs are responsible for much more than control tasks which further limits the amount of processing power available for control. This constrains the single-track seek control design and necessitates the use of computationally efficient algorithms. Finally, the HDD error feedback compensator C is usually designed for regulation purposes using knowledge of the plant dynamics P , the disturbance and noise spectra, and performance metrics on the regulated state. Typically, this compensator is not ideal for aggressive single-track seek maneuvers where settle time is the dominant performance measure. Further, any permanent or temporary change to the feedback compensator for settle performance improvements could negatively affect regulation or require complicated switching to remove transients. Hence, improvements to settle time are best accomplished through exogenous inputs r and uf f which enter the loop as shown in Fig. 2. Given these complexities and constraints, we define the feedforward settle-optimal control (FF-SOC) for single-track HDD seeks as the exogenous input signals (r∗ , u∗f f ) which minimize ts . Due to the large uncertainty in the plant dynamics, (r∗ , u∗f f ) will vary from one unit to the next in the HDD population. The minimum achievable ts will also vary across the population, as unmodeled high frequency dynamics interact with the exogenous inputs. Therefore, Iterative Learning Control (ILC) [12]-[14], which iteratively computes the required (r, uf f ) such that the plant output y tracks a fixed desired output trajectory yd , does not directly apply. If we choose a fixed yd that every unit in the population is capable of tracking, we would be sacrificing performance on many units. Time-optimal strategies with saturated commands, as in [15] and [16], also do not directly apply. Actuator commands are much less than the saturation limits for single-track seeks, and saturating actuator commands can excite unmodeled dynamics and lengthen settle time. Initial Value Compensation (IVC) [17] uses the compensator’s initial condition response to cancel any undesirable plant output y due to the exogenous inputs signals (r, uf f ). Similar to the exact inversion methods of Section V, solving for the initial conditions requires complex calculations relative to the application’s processing power. Further, the solution must be recomputed often as the closed-loop dynamics and exogenous inputs vary. Input-shaping [18][19]

is a yet another technique that has been applied to reduce ts , although it is most commonly concerned with the reduction of high frequency resonance mode excitation. While the HDD plant population certainly has high frequency structural modes that can be excited and increase ts , the lower frequency, welldamped closed-loop mode dominates the selection of (r, uf f ). The use of input shaping alone is undesirable because the low frequency mode causes large phase lag in the input shaping filter and lengthens ts . Standard practices within the disk drive industry attempt to design a fixed robust single-track seek control algorithm that achieves an acceptable level of performance across the entire population of HDDs. While this nonadaptive design is computationally efficient, many of the units sacrifice performance in order for the population outliers to perform adequately. Alternatively, our ultimate goal is a computationally efficient adaptive method which exploits the repetitive nature of the operating modes to minimize ts for each unit. We have previously proposed [20][21] the use of adaptive dynamic inversion and adaptive reference command generation, depicted in Fig. 3. The closed-loop system from Fig. 2 has been recast as the two input, one output system G. We use a low-order LTI inverse system V and a desired command profile yd to parameterize the input signals (r, uf f ). While V adapts to the structured uncertainty in the population over many iterations, both the duration and shape of yd change to reduce ts . Admittedly, this procedure is a suboptimal approach to the FF-SOC problem, but, as we will show, it is capable of producing settle performance results equal to traditional optimal trajectory generation techniques [22][23], while also being computationally simpler. Other researchers have investigated the combined use of dynamic inversion and reference trajectory generation to reduce ts [7][24][25], but the complex off-line optimization procedures are instead aimed at robust settle time minimization across the population and are not amenable to on-line adaptation on low-cost DSPs. The purpose of this paper is the selection of the inverse system V for a settle performance objective. Although many techniques exist for computing V [26]-[37], the best choice for settle performance is unclear, even for nonadaptive designs without uncertainty in G. After precisely defining ts and our technique for visualizing settle performance in Section II, we apply that technique to determine the relative merits of different internal architectures and NMP inversion algorithms for V in Sections III-V. This analysis is performed for nonadaptive V without uncertainty in G in order to determine a performance baseline for each algorithm and architecture. In an effort to quantify the settle performance of the dynamic inversion approach, we apply minimum energy optimal state

3

transfer techniques [22][23][38] and evaluate their achievable settle performance in Section VI. This approach highlights the system model order as a limit of settle performance, and validates the capability of certain dynamic inversion techniques which settle in fewer samples than the system order. Further, some dynamic inversion techniques are more computationally efficient and amenable to future adaptive approaches. While Sections III-VI focus on known dynamics without modeling uncertainty, Section VII investigates the effects of uncertainty when implementing a subset of the inversion algorithms on experimental hardware. Section VIII summarizes the conclusions of the paper and describes future work combining the most promising inversion techniques for settle performance with on-line adaptive algorithms. II. S ETTLE T IME P ERFORMANCE M EASURE Dynamic inversion algorithms are typically applied to output tracking problems where there is a fixed desired output trajectory yd [26]-[36]. Frequency responses of the closed-loop dynamics between the reference trajectory yd and the output trajectory y are used to compare different inversion techniques and quantify measures of the tracking error [31][33]-[36]. For settle performance, tracking a particular yd is not the objective. Further, it is difficult to relate frequency responses to the achievable settle performance. In this section, we explicitly define our measure of settle time, present a computationally efficient parameterization of a family of yd trajectories, and use a graphical technique to view settle performance as a function of yd . A. Settle Time Measurement Settle time ts is defined as the time from the arrival of a seek command until the measured position reaches and stays within the settle boundary surrounding the desired set-point, as shown in Fig. 4. The settle time, as expressed in number of samples, is ks , where ts = ks T and T is the sample time. In HDD single-track seek applications, there is no penalty on overshoot or undershoot in the plant output y; settle time is the only performance measure of interest, with typical settle boundaries set at ±5% of a track. Further, we do not consider any constraints on plant input magnitude or spectral content. High frequency excitation is of no concern in our application unless it lengthens settle time.1 Preactuation, a change in the plant input before the seek command arrives, and postactuation, a change in the plant input after the seek has settled, are common side-effects of using dynamic inversion algorithms. The example seek in Fig. 4 clearly shows both artifacts, although the postactuation is truncated to save space. As we will discuss in Section V, both preactuation and postactuation are ultimately a function of the zero dynamics of the system to be inverted. Preactuation requires anticipation of the incoming seek command, which is difficult to synchronize in our HDD operating modes because 1 In reality, the acoustical signature of HDD seeks is a concern. While we do not treat this constraint in our work, it would be possible to combine a weighted frequency-domain measure of the plant input u with ts to form a modified settle performance cost function.

Fig. 4. Example input and output trajectories for a single-track seek, with preactuation, postactuation, and total settle time clearly noted.

of sizeable non-deterministic software and hardware delays. Therefore, ts must be delayed by the preactuation time tp in order to accommodate the preactuation sequence. Similar to settle time, the preactuation time tp , expressed in number of samples, is kp , where tp = kp T . The partitioning of kp into k0 and p samples will be fully explained in Section V. The ts definition can now be explicitly stated as the time from the initial change in (r, uf f ) until y reaches and stays within the settle boundary. Unlike many dynamic inversion tracking applications, this negative effect of preactuation leads to interesting trade-offs between preactuation delay, yd tracking accuracy, and achievable settle performance. These will be important factors in the analysis of NMP inversion algorithms in Section V. Postactuation is of less concern for all the HDD operating modes of interest. Servo track writing, manufacturing defect scans, and sequential data transfer typically dwell at each track set-point for at least one revolution of the disk. This dwell time is then dependent on the spin speed of the disk, but can be a factor of 10 greater than the settle time. As long as the postactuation is complete within this dwell period, it will not affect performance. As illustrated in Section V, this is the case in our HDD applications. B. yd generation As previously mentioned, our solution procedure to improve settle performance for each unit in the population combines adaptive dynamic inversion and adaptive yd trajectory generation. We therefore need a parameterization of yd trajectories that is computationally simple but able to produce a wide range of yd ’s, from unaggressive to extremely aggressive. [24] and [25] have previously proposed using a combination of monotonically increasing polynomials, parameterized by a scalar value corresponding to the time duration of the trajectory. Given the limited processing power in the HDD applications, we are encouraged to find an even simpler parameterization.

4

Fig. 5. Desired output trajectory yd is generated from a bang-bang acceleration pulse. The duration and aggressiveness of yd is parameterized by d.

Motivated by the solution to the time optimal control problem for a rigid body, we use a family of yd trajectories generated from the double integral of a bang-bang acceleration pulse, as shown in Fig. 5. The bang-bang acceleration signal has the following Z-transform: (z 2d − 2z d + 1) , (1) z 2d − z 2d−1 Ãd−1 !2 X zi (z − 1) i=0 = , (2) d2 T 2 z 2d−1 where T is the sample time and 2d is the total duration of both the Accel signal and yd . The Z-transform of yd can then be written as T 2 (z + 1) YD (z) = (3) Accel(z) , 2 (z − 1)2 Ãd−1 !2 X zi 1 (z + 1) i=0 = . (4) 2d2 (z − 1) z 2d−1 Accel(z)

=

1

d2 T 2

This simple parameterization provides a single scalar value, d, that can select the aggressiveness of the seek, while also being extremely computationally efficient. Although future adaptive solutions will change d on-line for each unit in the population, this paper uses a set of predetermined values for d, yielding yd durations from an unaggressive 6.80 ms (100 samples at the application sample rate T ) to a very aggressive 0.136 ms (2 samples) single-track HDD seek. We then evaluate the settle performance of different architectures and algorithms for V over this family of yd ’s. In the final section of this paper, we discuss the potential need for increased-complexity yd parameterizations for further settle time reduction. C. Actual Versus Desired Settle Time The minimum achievable ts over a family of yd ’s is a useful scalar performance measure for comparing different designs for the system V , but conceals some interesting details. Much can be learned about the individual inversion algorithms and architectures by observing how the settle performance changes as a function of yd . We therefore use a graphical visualization

Fig. 6. Actual settle time ts versus desired settle time td provides a graphical measure of settle performance as yd varies from unaggressive to very aggressive trajectories.

of settle performance by plotting the actual settle time, ts , as a function of the settle time, td , of the desired yd trajectory. Fig. 6 illustrates the expected behavior of the actual versus desired settle time. Ideal performance corresponds to ts = td for any choice of yd , although this is unrealistic for plants with high frequency modeling errors. For aggressive yd ’s with short td ’s, there is increased plant input energy at high frequency which can excite unmodeled dynamics and increase ts . This can cause the minimum achievable settle time on particular units to occur at less than the most aggressive yd . The effect of preactuation on settle performance is also evident in the figure. Preactuation increases ts by tp , relative to td , and can limit the amount of settle time reduction possible. While tp could be a function of the specific yd trajectory, it is shown as a constant offset in Fig. 6. Fixed preactuation delay is typical for the algorithms we investigate in Section V.

III. M ODEL I NVERSION A RCHITECTURES We are interested in determining the single-input, twooutput dynamic inverse V from Fig. 3. This is challenging because many multiple-input, multiple-output (MIMO) inversion schemes require the number of inputs to equal the number of outputs [26]-[28][33]-[36]. Fortunately, constraining the internal architecture of V can convert the original problem into SISO inversion. In this section, we investigate two common feedforward architectures for V which result in SISO systems for inversion: the plant inverse (FFPI) architecture and the closed-loop inverse (FFCLI) architecture. We then show how to modify the FFPI architecture to match the FFCLI inputoutput relationship, which we refer to as the feedforward modified plant inverse (FFMPI). Exact models for the plant are assumed in order to understand the performance implications of the inverse architecture alone.

A. Feedforward Plant Inverse (FFPI) Architecture The plant inverse feedforward architecture with error feedback, as in Fig. 7, is routinely used in industry and has been investigated by many in the literature [26]-[29][39]. The model

5

CN and CD are the Hurwitz numerator and denominator polynomials of the compensator C, which is assumed stable, exactly proper, and minimum phase. HCL is the closed-loop transfer function between r and y Fig. 7.

HCL =

Block diagram of plant inverse (FFPI) architecture.

inverse V in Fig. 3 that implements this architecture is · ¸ uf f = VF F P I y d , r · −1 ¸ P˜ where VF F P I = , z −kp

(5) (6)

and the delay z −kp and plant inverse P˜ −1 are further explained below. In order to algebraically describe the dynamics from yd to y in Fig. 7, it is helpful to first partition the plant into minimum phase (MP) and nonminimum phase (NMP) zero polynomials P (z) =

Bm (z)Bn (z) , A(z)

CN B m B n . CD A + CN B m B n

(10)

We have dropped the z argument from the various polynomials ˜n−1 for convenience. When P is MP, Bn = 1, B ˜n−1 = 1 and B −kp and (9) simplifies to z . In this case, the plant output y exactly tracks the desired output yd with kp samples of delay, which we refer to as delayed exact tracking. This is also true ˜n−1 is taken as the exact (unstable) in the NMP case when B inverse of Bn , although (9) is no longer internally stable. We will address this issue in Section V. When P˜ −1 is an approximation to the exact inverse, (9) shows that the closedloop dynamics are present in the y response. This can have drastic effects on ts because the closed-loop natural response is often relatively slow to settle, having limited bandwidth due to stability robustness concerns in the presence of unmodeled dynamics.

(7)

where Bm is the numerator polynomial including all plant MP zeros, Bn contains all plant NMP zeros, and A is the plant denominator polynomial. We can then express the plant inverse P˜ −1 as ˜ −1 (z) A(z)B P˜ −1 (z) = kp n . (8) z Bm (z) ˜n−1 to denote the inverse of the NMP We use the variable B ˜n−1 zero polynomial Bn . The ˜ modifier on both P˜ −1 and B signifies that these quantities are not necessarily the exact ˜n−1 inverses of P and Bn , respectively. When P is NMP, B can take on numerous forms, including Hurwitz polynomial approximations of the exact inverse, and both stable and unstable rational polynomial transfer functions. Moreover, kp samples of delay have been added to P˜ −1 to maintain causality. A noncausal inverse can result from a strictly proper plant transfer function P with nonzero relative degree, or ˜n−1 . As noted through the use of noncausal algorithms for B in Section II, anticipation of a seek start command would be required to implement a noncausal inverse, which is unrealistic in the HDD operating modes of interest. We therefore must add kp samples of delay to P˜ −1 and also to the input r, as in Fig. 7. The various NMP inversion algorithms differentiate ˜n−1 and the kp samples themselves in the way they compute B of delay required. For the purposes of this section, we remain ˜n−1 and value for tp ; vague about the specific form of B Section V goes into more detail on the different NMP inversion algorithms. Given these definitions, the FFPI system dynamics from input yd to output y are ³ ´ ¯ ˜n−1 Bn CD A + CN Bm Bn B ¯ y¯ , = yd ¯F F P I z kp (CD A + CN Bm Bn ) Ã ! ˜n−1 + CN Bm CD AB = HCL . (9) z kp CN Bm

B. Feedforward Closed-Loop Inverse (FFCLI) Architecture The closed-loop inverse (FFCLI) architecture, pictured in Fig. 8, is also common in the literature [31]-[36]. Referring to Fig. 3, the dynamic inverse V which implements the FFCLI architecture is · ¸ uf f = VF F CLI yd , (11) r · ¸ 0 where VF F CLI = . (12) ˜ −1 H CL ˜ −1 is the inverse of the closed-loop system from r to Here, H CL y: ˜ −1 = ACL B ˜ −1 , H (13) CL z kp BmCL n with ACL BmCL

= CD A + CN B m B n , = CN Bm .

(14) (15)

The plant and closed-loop systems share the same NMP zeros and relative degree because the compensator C is assumed to be MP and exactly proper. Applying this inverse as in Fig. 8, we find the FFCLI dynamics from input yd to output y are ¯ ˜n−1 y ¯¯ Bn B = . (16) yd ¯F F CLI z kp Similar to the minimum phase FFPI case, when P , and thus HCL , are MP, (16) simplifies to pure delay and we achieve delayed exact tracking. This also holds, along with

Fig. 8.

Block diagram of closed-loop inverse (FFCLI) architecture.

6

˜ −1 is the internally unstable caveat, when HCL is NMP and H CL the exact unstable inverse. The differences between FFPI and ˜ −1 is an approximate inverse. In this FFCLI appear when H CL case, (16) shows that the closed-loop dynamics are no longer ˜n−1 is a polynomial approximation, (16) excited. Further, if B has a finite impulse response (FIR). This can have significant settle performance advantages when the dominant closed-loop dynamics are slow relative to the settle performance objective. Fig. 9 shows a simple simulation comparison between FFPI and FFCLI for a single aggressive yd input trajectory. This simulated response was generated using a Zero Phase Error ˜n−1 , Tracking Controller (ZPETC) [33] approximation for B which we will discuss in Section V. We present Fig. 9 here to simply highlight the settle performance advantages of FFCLI. The FFPI response has a 0.27 ms longer ts due to the excitation of the closed-loop dynamics, consistent with (9). After a fixed number of samples, the FIR FFCLI response has exactly reached the set-point. The delay between yd and y for both architectures is a result of the delays added to the inverse system to maintain causality. We will further explain this effect in Section V as well. The settle performance differences between FFPI and FFCLI can also be a strong function of uncertainty in the plant dynamics, which has not been addressed in this section. [21] shows that the settle time advantages of FFCLI over FFPI diminish for certain types of plant modeling error. Section VIII will discuss future efforts with adaptive inverse systems, where the goal of adaptation is to reduce the effects of plant modeling error on settle performance. It is therefore useful to quantify the best possible settle performance without uncertainty for each architecture, and is the rationale behind the exclusion of uncertainty in our analysis. C. Feedforward Modified Plant Inverse (FFMPI) Architecture The FFPI architecture suffers reduced settle performance due to excitation of the closed-loop dynamics. This excitation occurs because the tracking error r − y is nonzero when P˜ −1 is not the exact plant inverse. We can augment the FFPI architecture with the yd prefilter M , as in Fig. 10 and [37], to remove the closed-loop dynamics from the y response. We refer to this architecture as the modified plant inverse (FFMPI). 1.1

Settle Boundary Position [tracks]

1.05

1 yd FFPI FFCLI

0.95

0.9 0

0.2

0.4

0.6 Time [ms]

0.8

1

Fig. 9. Simulated comparison between FFPI and FFCLI for a single aggressive yd using a ZPETC approximate inverse.

Fig. 10.

Block diagram of modified plant inverse (FFMPI) architecture.

The dynamic inverse V in Fig. 3 which implements FFMPI is ¸ · uf f = VF F M P I yd , (17) r · −1 ¸ P˜ where VF F M P I = (18) . M The FFMPI dynamics from input yd to output y are ´ ³ ¯ ˜n−1 Bn CD A + z kp M CN Bm Bn B y ¯¯ = . yd ¯ z kp (CD A + CN Bm Bn ) F F MP I

(19)

We can see from (19) that the FFMPI dynamics from yd to y can match the FFCLI dynamics by selecting M as ˜n−1 Bn B . (20) z kp This selection for M can also be viewed as a modification of the tracking error equation to e = M yd − y such that e remains zero and the closed-loop dynamics are not excited. While the yd to y dynamics are the same for FFMPI and FFCLI, the r and uf f inputs to the closed-loop system are different. In FFCLI, uf f is zero and r is the output of the ˜ −1 in (13), which has poles equal to the roots system H CL of BmCL . If the compensator is designed to provide phase lead, CN can have roots near the unit circle [40]. This will ˜ −1 to have a slow response and potentially long cause H CL postactuation after ts . With FFMPI, r is the output of the ˜n−1 , can have system M which, depending on the form of B −1 ˜ relatively little postactuation. The P system’s output is uf f , whose response is governed by the roots of Bm , as in (8). The roots of CN do not factor into the postactuation calculation for the closed-loop inputs in the FFMPI architecture. This can have advantages in applications that cannot tolerate long postactuation. For the balance of this paper, we will use the FFCLI architecture for all simulation and experimental results. We choose this architecture because: 1) FFCLI achieves the same settle performance as FFMPI, and better settle performance than FFPI, for our application. The slow closed-loop dynamics are not present in the output y. 2) The postactuation benefits of FFMPI are of no concern in the targeted HDD operating modes. 3) FFCLI only requires the implementation of a single filter which has computational benefits. 4) FFMPI requires an accurate model of the plant dynamics, which is more difficult to experimentally identify than an accurate model of the closed-loop dynamics in our application. M

=

7

−20

Experimental

−40 1

10

Phase [deg]

Settle Boundary

Model 2

10

3

10

100

Position [tracks]

Magnitude [dB]

1.5 0

1

Model

0 −100 1

10

2

3

10 10 Frequency [Hz]

0 0

(a) HCL Frequency Response Fig. 11.

Experimental (100 Trials)

0.5

1

2 Time [ms]

3

4

(b) HCL Step Response

Experimental and modeled frequency and step responses of STW closed-loop system.

Before investigating the settle performance of numerous NMP inversion algorithms in Section V, we next discuss the closedloop dynamic model identification procedure used to generate the results in this paper. IV. C LOSED -L OOP E XPERIMENTAL S YSTEM I DENTIFICATION Having chosen the FFCLI architecture for the system V , we now need a model for HCL . This model is required both for the model-based NMP dynamic inversion algorithms and for a simulation study of their settle performance. We use a Servo Track Writer (STW) [2], provided by Maxtor Corporation, as our experimental testbed and focus the identification procedure on the STW’s closed-loop dynamics. The Servo Track Writer is used to magnetically encode the initial servo position information on the magnetic media during HDD manufacturing. The STW has its own voice-coil motor (VCM) and precision encoder that mechanically interface with the HDD actuator arm and HDD VCM through an opening in the HDD baseplate. Traditionally, the STW moves the HDD actuator one track, magnetically encodes one revolution of servo position information, and repeats this process until all tracks are written. Modern HDDs can require the STW to make over 500,000 single-track seeks per disk drive. The singletrack seek distance is determined by the HDD track density; we use a single-track step size of 1 µrad as a representative angular track width for a modern HDD. The STW has an encoder sensor resolution of 0.5 nanorad, and a compensator sample time of T = 68 µs. We experimentally identify the STW closed-loop dynamics by injecting a pseudo-random sinusoidal sequence as the reference input r in Fig. 2. The input sequence’s sinusoidal amplitudes are designed to give adequate signal-to-noise ratio over a wide frequency band of interest, and the frequencies are selected such that each sinusoid has an integer number of periods within the sequence. Fig. 11(a) shows the experimentally identified frequency response of HCL , with a weighted leastsquares model fit to the frequency data. The frequency-domain weighting vector and model order were selected through trialand-error to produce a reasonable matching of the experimental step response, shown in Fig. 11(b). The weighted least

squares model for HCL is 0.10988(z + 0.4947) (z − 0.1541)(z 2 − 1.859z + 0.8695) (z 2 − 1.874z + 0.8807) · 2 (z − 1.24z + 0.4409) (z 2 + 2.389z + 1.574) · 2 , (21) (z + 1.233z + 0.878) which matches both the experimental frequency and step responses well. This 7th -order model has a closed-loop bandwidth near 1 kHz, unity DC gain, a relative degree of 2, a high frequency structural mode near 5.3 kHz, and 2 NMP zeros outside the unit circle at z = − 1.1946 ± j0.3838. The step response with 5% settle boundaries in Fig. 11(b) also highlights requirements for improved settle performance. The ts for the step response of the HCL model is 1.6 ms. While there is some evidence of small high frequency oscillations in the measured output, the step response settle time is dominated by the lower frequency closed-loop dynamics. Any enhancement to settle performance over the population of HDDs must account for these lower frequency dynamics to produce settle times much shorter than 1.6 ms. HCL (z)

=

V. N ONMINIMUM P HASE DYNAMIC I NVERSION A LGORITHMS Dynamic inversion is complicated by the presence of NMP zeros, even for LTI SISO systems. The NMP zeros of the original system become unstable poles in the inverse system. For the HDD application using the FFCLI architecture, this causes the system in Fig. 8 to exactly track yd (with possible delay) while r grows unbounded. Many techniques exist to compute exact and approximate solutions for the inverse dy˜ −1 , with bounded input signal r. We have organized namics, H CL the algorithms considered in this paper with the hierarchical chart in Fig. 12. There is a major division in NMP algorithms between those that stably approximate the exact unstable inverse of HCL , and those that use the exact unstable inverse directly. We first investigate the exact inversion procedure and review techniques that use the initial condition responses of ˜ −1 and HCL to maintain bounded r while exactly tracking H CL yd with delay. We then turn our attention to the most applicable approximation methods for the HDD application.

8

put r, including both the forced and initial condition responses R(z)

=

ACL (z) N (z) z p BmCL (z)Bn (z) D(z) f IC(z) + p . z Bn (z)BmCL (z)

(24)

f is the numerator polynomial of the initial conHere, IC ˜ −1 , with the ˜ modifier again used dition response of H CL to refer to the inverse system. By choosing to describe ˜ −1 with an observable canonical state-space realization H CL ˜obs , ˜ (A bobs , c˜obs , d˜obs ), the initial condition response numerator polynomial simplifies to f IC(z) = = Fig. 12. Hierarchical chart of the NMP inversion algorithms discussed in this paper.

A. Exact NMP Inversion for SISO LTI Systems

˜obs )˜ z c˜obs adj(zI − A x(k0 ) , £ n ¤ n−1 z z ··· z x ˜(k0 ) ,

where n is the order of ACL and the identity used in (26) can be found in [38, p. 660]. In order to compute the initial state vector x ˜(k0 ) required to cancel the unstable modes in the forced response, we must isolate Bn in (24) R(z) =

The causal exact inverse of HCL is ˜ −1 (z) H CL

˜n−1 (z) ACL (z)B ACL (z) , = kp = p z BmCL (z) z BmCL (z)Bn (z)

(22)

where p is the relative degree of HCL . We have explicitly chosen to separate the delay from the denominator polynomials in order to focus the analysis on the contributing factors to preactuation delay. In this case, kp = p samples of ˜ −1 be causal. Using preactuation due to the requirement that H CL this exact inverse in a FFCLI architecture produces delayed exact tracking ˜ −1 (z)Yd (z) = 1 N (z) , Y (z) = HCL (z)H CL z p D(z)

(23)

where the Z-transform of yd has been written as the ratio of two polynomials, N and D. As previously noted, the system in (23) is internally unstable when HCL is NMP, and the r input signal grows without bound. In some applications, extremely short yd signals or NMP zeros close to the unit circle may result in r inputs that are effectively bounded and useful over a short interval. (Method 1 in Fig. 12). When truly bounded r is required over any interval, as in our targeted applications, many exact inversion algorithms ˜ −1 and HCL at k0 use the initial condition responses of H CL (referred to in Fig. 4) to maintain bounded r while still achieving delayed exact tracking [24]-[30]. The authors of [29] give explicit continuous-time formulas for computing the required initial conditions, and [26]-[28][30] derive additional preactuation sequences of length k0 that preload the required initial conditions of HCL . In this case, the total preactuation is kp = k0 +p. Similar in spirit to [30], we review a discrete-time polynomial development of the required initial conditions, simplified for SISO LTI system dynamics. We begin by writing the Z-transform of the closed-loop in-

(25) (26)

U1 (z) U2 (z) + z p BmCL (z)D(z) Bn (z) f IC(z) + p . z Bn (z)BmCL (z)

(27)

The polynomials U1 and U2 result from the partial fraction expansion of the forced response and must satisfy U1 (z)Bn (z) + U2 (z)z p BmCL (z)D(z) = ACL (z)N (z) .

(28)

Hence, if x ˜(k0 ) satisfies the following equation £ n ¤ z z n−1 · · · z x ˜(k0 ) = z p BmCL (z) (γBn (z) − U2 (z)) ,

(29)

where γ is an unknown scalar constant, then the r response is bounded and has the following Z-transform R(z) =

U1 (z) p z BmCL (z)D(z)

+γ .

(30)

We postpone discussion of the existence of x ˜(k0 ) and the computation of γ in (29) until we develop the required initial conditions on HCL . An unfortunate consequence of removing the unstable components from r is that we no longer achieve delayed exact tracking. The Z-transform of the output y, again including both forced and initial condition responses, is Y (z)

=

BmCL (z)Bn (z) Bn (z) U1 (z) +γ p ACL (z) z D(z) ACL (z) IC(z) , + (31) ACL (z)

where IC(z) is the numerator polynomial of the initial condition response of HCL . Similar to the inverse dynamics, an observable canonical state-space realization for HCL , (Aobs , bobs , cobs , dobs ), leads to £ ¤ IC(z) = z n z n−1 · · · z x(k0 ) , (32)

9

with x(k0 ) representing the initial condition vector of HCL . By isolating the delayed exact tracking portion of the forced response in (31) Y (z) =

N (z) U2 (z)BmCL (z) − z p D(z) ACL (z) BmCL (z)Bn (z) IC(z) +γ + , ACL (z) ACL (z)

(33)

we can use x(k0 ) to cancel the unwanted components £ n ¤ z z n−1 · · · z x(k0 ) = BmCL (z) (−γBn (z) + U2 (z)) .

(34)

Equations (29) and (34) have solutions x ˜(k0 ) and x(k0 ), respectively, if 1) The order of the right-hand side (RHS) of each equation is less than or equal to n. By definition, the order of z p BmCL Bn is n and the order of z p BmCL U2 is less than or equal to n. Therefore the order constraint is easily satisfied. 2) The RHS of each equation has at least one root at z = 0. If BmCL does not have a root at z = 0, then γ must satisfy U2 (0) γ= , (35) Bn (0) where Bn (0) is nonzero by definition. The unstable mode cancellation in the inverse system can be analytically computed and exactly enforced in the feedforward controller software, i.e., by only implementing (30); precisely setting the initial conditions of the physical closed-loop HCL system is much more difficult. We discuss four techniques from Fig. 12 to address this difficulty. Method 2 - HCL State Transfer to Desired x(k0 ): As a byproduct of discrete-time controllability, there exists a sequence r(k) that transfers the state of HCL from 0 to x(k0 ) in at most n samples [38, Sec. 2.3]. While it may be possible to control the state of HCL from 0 to x(k0 ) in ` samples, where ` < n, this requires the very restrictive condition that x(k0 ) lies in the range space of the `-step input-to-state map. For our HCL and the required x(k0 )’s over the set of yd ’s, this does not apply and we are left with kp = n + p = 9 samples of preactuation for the example system (21) in this paper. This method of preloading initial conditions is not typically used in standard dynamic inversion tracking applications because y is non-zero during preactuation and causes increased tracking errors. In contrast, it is a perfectly legitimate technique in this settle time application where preactuation is already included in ts . Unfortunately, as we will see, 9 samples of preactuation is a very long delay compared to other inversion techniques. Method 3 - Infinite Preactuation: The authors of [26] and [28] derive a continuous-time noncausal input r(t) over the preactuation interval t ∈ (−∞, t0 ] which drives the state of HCL from rest to the required x(t0 ) while maintaining y(t) = 0. A similar procedure is detailed in [30] for a noncausal input r(k) in discrete-time, which we briefly review here. Consider ˜ −1 included (27), without the initial condition response of H CL R(z) =

zpB

U2 (z) U1 (z) + . Bn (z) mCL (z)D(z)

(36)

In order to compute a bounded r(k) from R(z), we use the standard right-sided inverse Z-transform for the stable first term in (36) and a left-sided inverse Z-transform for the unstable second term [41]. The left-sided inverse transform U2 (z) has a region of convergence (ROC) that includes for B n (z) the unit circle and produces a bounded noncausal sequence which is nonzero on k ∈ (−∞, k0 − 1]. This noncausal portion of r(k) drives the state of HCL to the required initial conditions x(k0 ) such that the undesired forced response terms in (33) are cancelled and y achieves delayed exact tracking. A portion of the r(k) preactuation sequence for the example system was previously shown in Fig. 4. An infinite kp causes an obviously unrealistic infinite ts , and we thus investigate truncation strategies. Method 4 - Truncated Preactuation: The example system’s r(k) in Fig. 4 converges quickly to zero as k → −∞, allowing for practical implementation through truncation. While truncated preactuation is no longer an exact inversion approach, it is directly motivated by the exact inversion development and we thus include it with the other exact algorithms. The authors of [27] and [30] discuss truncation strategies when yd is only known over a finite window ahead of the current sample. Instead, we take advantage of full knowledge of yd in our application, which allows for the partition in (36). We then use the first k0 samples of the left-sided inverse Ztransform of the unstable second term in (36) as the truncated preactuation sequence applied on k ∈ [0, k0 − 1]. Large values for k0 , and consequently tp , result in small errors in x(k0 ), very little tracking error (disregarding delay), but large offsets in the calculation of ts . There is thus an interesting trade-off between the length of tp and the achievable settle performance, explored further in Fig. 13. Unlike delayed tracking performance, which generally improves with increasing noncausal preactuation, settle performance is negatively affected by increasing tp . Surprisingly, a zero-length left-sided inverse transform sequence (k0 = 0 and tp = 2) provides the best settle performance. This is the equivalent of leaving the HCL initial conditions zero, and is further explored in the Method 5 discussion. Method 5 - Preload x ˜(k0 ) while Leaving x(k0 ) = 0: Setting k0 = 0 is equivalent to ignoring the unstable second term in (36) and leaving x(k0 ) = 0. The output y does not exactly track yd with delay because the other forced response terms in (33) are present in the output. The tracking error is dependent on the size of the undesired terms in the y response, which in turn is determined by the degree to which the closed-loop dynamics HCL are excited by the desired reference trajectory yd . If the undesired modes are small enough in amplitude, good settle performance may still be obtained. Fig. 14 shows the settle performance of this technique compared to the performance of the Method 2 state transfer technique to preload x(k0 ) for our example system. The actual settle performance ts as a function of the desired settle time td for Method 2 in Fig. 14(a) clearly demonstrates the negative effect of the kp = 9 sample preactuation to preload x(k0 ). Preloading x(k0 ) achieves a much slower minimum settle time (0.680 ms) than Method 5 (0.408 ms) which leaves the initial conditions of the physical system at

10

2

ts [ms]

1.5

1 Ideal 0.5

HCL State Transfer x(k0)=0

0 0

0.5

1 td [ms]

1.5

2

(a) Actual settle time (ts ) vs. desired settle time (td )

1.15

zero.2 We also notice a drastic increase in the Method 5 settle time for the most aggressive yd , which we further explore with the y output responses in Fig 14(b). While the Method 2 trajectory perfectly matches a (very) delayed version of yd , there is a large amount of both high frequency resonance and slow closed-loop mode excitation in the Method 5 response. The extra terms in (33) cause tracking errors that grow as yd becomes more aggressive, ultimating yielding an output response with a longer settle time. Referring back to Fig. 13, we know that increasing k0 in an attempt to approximately preload x(k0 ) will only result in longer settle times. The benefits of reducing the response from the extra terms in (33) are overshadowed by the added preactuation delay, ultimately increasing ts . B. Approximate NMP Inversion for SISO LTI Systems We now present three methods for stably approximating ˜n−1 : the Zero Phase Error Tracking Controller (ZPETC, B Method 6 in Fig. 12), the Zero Magnitude Error Tracking Controller (ZMETC, Method 7), and noncausal Taylor series approximation (Method 8). While there are other stable inversion techniques, these three are common in practice and the literature, and also perform best in our application. After discussing these three algorithms and comparing their performance to the exact inversion results, we conclude the discussion of NMP inversion algorithms with a summarizing table. Included in the table is another approximate inversion technique, H∞ model matching [31][42] (Method 10), that we omit in the discussion because of space constraints and implementation drawbacks. [43] shows that the results presented in this section are highly dependent on the location of the NMP zeros. Method 6 - Zero Phase Error Tracking Controller (ZPETC): The ZPETC dynamic inversion method was introduced in [33], and has since become ubiquitous in the output 2 The uneven t horizontal spacing in Fig. 14(a) is an artifact of the discrete d yd sample locations in relation to the settle boundary, and is present in all simulation and experimental results.

1.1 Position [tracks]

Fig. 13. Minimum achievable settle time ts versus preactuation time tp for exact inversion with truncated preactuation and noncausal Taylor series approximation. The minimum achievable settle time for other inversion techniques with fixed tp are also shown.

Settle Boundary

1.05 1 0.95 0.9 0.85 0.8 0

0.5

1

1.5

Time [ms]

(b) Output y responses for most aggressive yd Fig. 14. Settle performance comparison between HCL state transfer technique to preload x(k0 ) and leaving x(k0 ) = 0.

tracking literature [31][32][34]-[36]. The method is based on canceling the phase shift (but not the gain change) due to the NMP zeros by reflecting those zeros about the unit circle. We review the algorithm by first starting with the NMP zero polynomial Bn (z) = bmn z mn + bmn −1 z mn −1 + · · · + b0 ,

(37)

where mn is the number of NMP zeros. The zero phase error approximate inverse to Bn is ¯ b0 z mn + b1 z mn −1 + · · · + bmn ˜n−1 (z)¯¯ B = , (38) Bn (1)2 ZP ET C which yields the following FFCLI transfer function from yd to y ¯ ¯ −1 ¯ ˜ B (z) B (z) ¯ n n Y (z) ¯¯ ZP ET C = Yd (z) ¯ZP ET C z kp ¡ ¢ Bn (z) b0 z mn + b1 z mn −1 + · · · + bmn = . (39) z p+2mn Bn (1)2 Bn (1)2 has been used in the approximation in (38) to maintain unity DC gain in (39). While (39) is FIR, which has desirable settle performance qualities, we have also added kp = p+2mn ˜ −1 . This ultimately samples of delay to maintain causality of H CL limits the settle performance of ZPETC. Method 7 - Zero Magnitude Error Tracking Controller (ZMETC): Although not referred to by this name, the ZMETC dynamic inversion method has been studied in

11

both [31] and [37]. In contrast to ZPETC, ZMETC cancels the magnitude response (but not the phase shift) due to the NMP zeros by reflecting those zeros about the unit circle and converting them to poles in the inverse system. Again beginning with the Bn polynomial in (37), the zero magnitude error approximate inverse to Bn is ¯ 1 ˜n−1 (z)¯¯ B = , (40) b0 z mn + b1 z mn −1 + · · · + bmn ZM ET C which yields the following FFCLI transfer function from yd to y ¯ ¯ −1 ¯ ˜ B (z) B (z) ¯ n n Y (z) ¯¯ ZM ET C = Yd (z) ¯ZM ET C z kp Bn (z) . (41) = p z (b0 z mn + b1 z mn −1 + · · · + bmn ) Unlike ZPETC, the ZMETC system only requires kp = p samples of delay to maintain causality, which has settle time benefits. Unfortunately, those benefits can be negated by the presence of pole dynamics due to the zero magnitude error approximation. Depending on the distance of the NMP zeros away from the unit circle, those poles can be excited by yd and cause excursions in y outside the settle boundary. Method 8 - Noncausal Taylor Series Approximation: The noncausal Taylor series approximation seeks to approximate 1 Bn with a noncausal polynomial mT X

¯ ˜n−1 (z)¯¯ B

T aylor

=

αi z i

i=0

Bn (1)

mT X

,

(42)

αi

i=0

where mT is the order of the series approximation and the αi sequence is derived from the Taylor series expansion of B1n , as in [34]. The resulting FFCLI transfer function from yd to y is ¯ ˜n−1 (z)¯¯ ¯ B (z) B n Y (z) ¯¯ T aylor = Yd (z) ¯ z kp T aylor

Bn (z) =

mT X

αi z i

i=0

z p+mT +mn Bn (1)

mT X

.

(43)

αi

i=0

While (43) is FIR, kp = p + mn + mT can be large for high-order series approximations. Similar to the trade-offs between settle performance and tracking accuracy with the Method 4 truncated preactuation, increasing mT improves the approximation to B1n and yields better (delayed) tracking accuracy, while deteriorating the achievable settle performance. Referring back to Fig. 13, we plot the minimum achievable ts over a range of series orders, from 0 to 6. This yields a kp range from 4 to 10 for our system in (21) due to the extra delay in (43) from the relative degree and NMP polynomial order. Again similar to the Method 4 truncated preactuation, the shortest series, a zero-order approximation, provides the best

settle performance. The tracking improvements that come from higher-order approximations are negated by the accompanying delay in the calculation of ts . We further explore the zero-order series approximation in the Method 9 discussion. Method 9 - Zero-Order Series Approximation: The simplest stable approximation technique is to ignore the NMP zeros in HCL and assume Bn = 1. This is the equivalent of a zero-order Taylor series approximation, and leads to the ˜n−1 following form for B ¯ 1 ˜n−1 (z)¯¯ , (44) B = Bn (1) Zero−Order which yields this FFCLI transfer function from yd to y ¯ ¯ ˜n−1 (z)¯¯ B (z) B n ¯ Y (z) ¯ Zero−Order = Yd (z) ¯ z kp Zero−Order

=

Bn (z) . z p+mn Bn (1)

(45)

As before, the term Bn (1) maintains unity DC gain of (45). Unlike ZMETC, the zero-order series preserves the desirable FIR response in (45), while using less preactuation delay than ZPETC. We now use simulation results on the example system to compare the settle performance of ZPETC, ZMETC, and a zero-order series approximation. Fig. 15(a) shows the actual settle performance as a function of the desired settle time for these three stable approximate inversion schemes on the example system (21). The effects of the preactuation delay are immediately clear. ZPETC has kp = 6 samples of preactuation, the zero-order series has kp = 4, and ZMETC has kp = 2. This results in a higher minimum achievable settle time for ZPETC (0.408 ms) than for ZMETC (0.340 ms) or the zero-order series (0.340 ms). Even though ZMETC has less preactuation delay than the zero-order series, it does not achieve a lower minimum settle time. Fig. 15(b) explains why this occurs by examining the y output responses for the most aggressive yd . While the zeroorder series and ZPETC produce FIR responses, the ZMETC trajectory shows an increase in ts due to large oscillations in y. The extra poles that have been inserted as part of the ZMETC approximation in (41) have a high natural frequency near 6.6 kHz. They are increasingly excited as yd becomes more aggressive until they cause y to initially exceed the settle boundary limits. While the closed-loop compensator could be tuned to limit the high frequency oscillation of a particular mode, this type of response is of general concern considering the application’s high frequency unstructured uncertainty. Further, even after ts , the y trajectory is close to exceeding the settle boundary. Disturbances and sensor noise on y can lead to very inconsistent ts ’s for a given yd . To further illustrate the differences between the inversion algorithms considered here, including both exact and approximate methods, we plot the closed-loop input r for the most aggressive yd in Fig. 16. The presence of the extra poles in the ZMETC approximation cause extremely large high frequency excitation in r. The exact inversion scheme with x(k0 ) = 0 also has large high frequency excitation in r. In contrast, ZPETC and the zero-order series use much

2

1.1

1.5

1.05 Position [tracks]

ts [ms]

12

1 Ideal ZPETC ZMETC Zero−Order Series

0.5

0 0

0.5

1 td [ms]

1.5

1

0.95

0.9 0

2

(a) Actual settle time (ts ) vs. desired settle time (td ) Fig. 15.

Settle Boundary

0.2

0.4 0.6 Time [ms]

0.8

1

(b) Output y responses for most aggressive yd

Settle performance comparison between ZPETC, ZMETC, and the zero-order series stable approximate inversion algorithms. TABLE I C OMPARISON OF SETTLE PERFORMANCE ATTRIBUTES FOR DYNAMIC INVERSION ALGORITHMS

Algorithms Exact: HCL state transfer to x(k0 ) x(k0 ) = 0 Stable Approximation: ZPETC ZMETC Zero-Order Series H∞ Model Matching

Min ts [ms]

Preactuation kp [samples]

˜ −1 Order of H CL

Implementation Concerns

0.680 0.408

n+p=9 p=2

n=7 n=7

Computationally complex Computationally complex

0.408 0.340 0.340 0.340

p + 2mn = 6 p=2 p + mn = 4 0

n + mn = 9 n=7 n=7 13

None Sensitivity to high frequency uncertainty None Very computationally complex

lower amplitude inputs to the closed-loop without large high frequency components. Ultimately, the lack of high frequency excitation makes the ZPETC and zero-order series more appropriate for our application with high frequency uncertainty. Also evident in Fig. 16 is the postactuation required by the NMP inversion algorithms. Although the plot does not show the full postactuation period, all of the r trajectories converge to 1 by 3.0 ms. Given that our HDD operating modes need to wait 1 full revolution of the magnetic media between seeks, and 1 revolution roughly lasts between 5 and 15 ms, this amount of postactuation is of no concern. Table I concludes the discussion of NMP inversion algorithms by summarizing the best settle performance, preactuation required, computational complexity, and implementation concerns of each algorithm discussed. The minimum achiev-

able ts is also graphically depicted in Fig. 13. Within the exact algorithms, transferring the state to the required x(k0 ) is unrealistic because it requires too much preactuation. Leaving the HCL initial conditions x(k0 ) equal to zero produces good settle performance, but requires complicated computations to partition the systems as in (27), and ultimately limits its usefulness in future adaptive applications on our HDD testbed. The ZMETC stable approximation method produces a better minimum settle time than the x(k0 ) = 0 method, but does so with increased high frequency excitation. ZPETC and the zero-order series both have smooth closed-loop inputs without the high frequency excitation, but ZPETC requires too much preactuation delay and its settle performance suffers. The H∞ ˜ −1 has not been model matching technique for deriving H CL discussed, but a summary of the pertinent settle performance data is included in the table. This method produces inverse systems that achieve high performance settle times, but re˜ −1 filters. Further, the synthesis quires larger dimensional H CL procedure would be difficult to make adaptive on our limited computational hardware. The zero-order series stable approximation technique stands out as the method which provides the best settle performance in our simulation environment, while not requiring computationally difficult filter implementations or large high frequency energy in the input r to the closedloop. VI. O PTIMAL S TATE T RANSFER C OMPARISON

Fig. 16. Comparison of closed-loop input r computed by exact inversion with x(k0 ) = 0 and the ZPETC, ZMETC, and zero-order series stable approximate inversion algorithms.

Table I shows that multiple NMP inversion algorithms achieve 5 sample (0.340 ms) settle times in simulation. Particularly, the zero-order series algorithm accomplishes this with a comparatively smooth input r to HCL . In order to

13

further evaluate the benefits of such an algorithm, we consider another settle performance benchmark for HDD single-track seeks. As an attempt to provide this benchmark, we apply an alternative, and arguably more natural, approach to settle performance through the use of optimal control algorithms. We review a simple method to generate minimum energy optimal trajectories in this section, and use this analysis to highlight certain settle performance limitations of this technique. We begin the discussion of minimum energy inputs by defining the `-step input-to-state map Lr : R`×1 7→ Rn×1 [38, Sec. 9.2] h Lr = (Aobs )`−1 bobs (Aobs )`−2 bobs · · · ¤ Aobs bobs bobs , (46) where we continue to use the observable canonical realization for HCL from Section V. As the name suggests, Lr is useful in expressing the influence of the input r on the state of HCL at sample ` `

x(`) − (Aobs ) x(0) = Lr r £ = Lr r(0) r(1) · · ·

r(` − 1)

¤T

.

(47)

Given x(0), x(`), and Lr , the minimum krk2 solution to (47) for ` ≥ n is `≥n: r= ³ ´−1 h i ` Lr T Lr Lr T x(`) − (Aobs ) x(0) .

(48)

Lr Lr T is the controllability grammian, Wc , which is invertible if ` ≥ n and (Aobs , bobs ) is controllable. When ` < n, it is likely there is no exact solution for r which transfers the state from ° h x(0) to x(`). In this i°case, the r which minimizes ° ° ` °Lr r − x(`) − (Aobs ) x(0) ° is ³

2

h i ` Lr T x(`) − (Aobs ) x(0) . (49) ` When x(`) − (Aobs ) x(0) lies in the range space of Lr , an exact solution exists and can be computed through (49). By setting ` = td and allowing td to vary over the same range as in Section V, we can use (48) and (49) to compute minimum energy inputs that transfer HCL ’s state from x(0) = 0 to x(`). This allows a straightforward comparison with the settle performance results from the dynamic inversion techniques, but requires knowledge of the final state x(`). We take the simplistic approach of requiring HCL to be at steady-state after ` (i.e., no postactuation), which results in the following computation for the final state ` < n : r = Lr T Lr

´−1

x(`) = (I − Aobs )

−1

bobs rss .

(50)

Here, rss is the steady-state input and (I − Aobs ) is invertible because ACL is Hurwitz. Given that the DC gain of HCL is 1, rss is simply the desired HDD single-track set-point. When ` < n, we do not in general perfectly achieve this x(`) and resort to simulation analysis on our example system (21) to study this effect. Fig. 17(a) shows the settle performance over the fixed td range. For all ` ≥ 7, y achieves ideal settle performance,

but there is a drastic increase in settle time for ` < 7. The minimum achievable settle time is 0.476 ms, two samples slower than several inversion techniques including the zeroorder series. The output trajectories in Fig. 17(b), zoomed in on the settle region, provide an explanation for the increase in settle time. While the ` = 7 trajectory perfectly reaches and stays at x(`), the ` = 6 trajectory has some residual error in the final state which excites the slow closed-loop dynamics. As we have previously seen, excitation of the closed-loop mode drastically increases settle time. The system order thus constrains the minimum achievable settle time using minimum energy optimal trajectories in this application. Further, while not viewable in Fig. 17(b), the output trajectories before settle are extremely large, with overshoot 40 times the size of the set-point. We would expect these trajectories to be extremely sensitive to high frequency modeling errors. This minimum energy optimal state transfer analysis is overly restrictive relative to the inversion algorithms we have studied. We constrain the optimal trajectories to use no postactuation and require that they achieve the desired set-point exactly on the `th -sample. All of the inversion algorithms use postactuation, and some further take advantage of the settle boundary region by causing excursions in y that do not increase ts . The authors of [8], [22] and [23] study the optimal state transfer problem for rest-to-rest motions in much more detail. They develop techniques to select different x(0) and x(`) states, along with corresponding preactuation and postactuation trajectories, which yield lower total input energy and smoother trajectories in general. Even in their more complex analysis of the optimal state transfer problem, the system order n still constrains the minimum achievable settle time. We therefore view the inversion algorithms that achieve n − 2, or 5, sample settle times as being very high performance, on par with optimal techniques. They also have the extra benefits of being simpler computationally than the optimal state transfer algorithms, and are more amenable to future on-line adaptation on low-cost DSPs. VII. E XPERIMENTAL I MPLEMENTATION Based on simulation analysis of modeled STW hardware, we have shown that the ZMETC and zero-order series stable approximate inversion techniques produce high performance ts ’s. We now seek to validate that conclusion by implementing those algorithms on the STW experimental testbed, while also including ZPETC experimental results for comparison. Due to nonrepetitive noise and disturbances on the measured position signal, we average over 100 single track seeks for each yd . Fig. 18(a) shows the average ts as a function of td for the three algorithms of interest. Similar to the simulation data, the effects of preactuation are evident for the slower td ’s, although the delay is greater than predicted by simulation for all three algorithms. For the most aggressive yd ’s, all three algorithms see an increase in the average ts . The minimum achievable average settle time is 0.490 ms for ZMETC, 0.645 ms for ZPETC, and 0.573 ms for the zero-order series. Along with an increase in average ts for the more aggressive yd ’s, Fig. 18(b) shows all three algorithms also have increased variability in

14

(a) Actual settle time (ts ) vs. desired settle time (td ) Fig. 17.

(b) Output y responses for ` = 6 and ` = 7 trajectories

Settle performance for the minimum energy optimal state transfer trajectories. 2

0.4 0.35 0.3 std(ts) [ms]

mean(ts) [ms]

1.5

1

Ideal ZPETC ZMETC Zero−Order Series

0.5

0 0

0.5

1 td [ms]

1.5

0.25 0.2 0.15 0.1 0.05

2

(a) Average settle time (ts ) vs. desired settle time (td )

0 0

0.5

1 td [ms]

1.5

2

(b) Std. of settle time (ts ) vs. desired settle time (td )

Fig. 18. Experimental settle performance comparison between ZPETC, ZMETC, and the zero-order series stable approximate inversion algorithms. 100 ts samples per td were collected and both average and standard deviation data are presented.

ts by plotting the standard deviation over 100 seeks at each td . In all three cases, the experimentally determined minimum average ts is higher than the simulated minimum ts in Table I. We further investigate the cause of this behavior by plotting a sampling of the most aggressive output responses for each of the three algorithms in Fig. 19. All three trajectories show increased undershoot and phase lag relative to the simulation results in Section V. This is indicative of lower frequency modeling errors in the identified model for HCL , rather than excitation of high frequency resonance dynamics. The undershoot is present in all output responses, even for the less aggressive yd trajectories, and it is responsible for the increased ts relative to simulation for the slower yd ’s. Conceivably, these lower frequency parametric errors in HCL could be adaptively identified on-line to further improve the settle performance in Fig. 18(a). The ZMETC algorithm does show more high frequency excitation, which is consistent with the simulation results. This also explains the increased variability in the ZMETC ts distribution in Fig. 18(b) for the most aggressive yd . The excursions in the y response are so close to the upper settle boundary that each individual seek could have

widely varying ts . It would be much more difficult to remove this behavior with on-line adaptive algorithms because HCL is not well known at high frequencies.

As a final experimental investigation, we increase the hardware loop gain by 15% and re-test the zero-order series NMP algorithm. A 15% change in the loop gain is common within a population of HDDs due to actuator torque constant variability, among many other factors. It is also common on a single STW over time because the encoder sensor gain changes as a function of angular position. Fig. 20(a) compares the previous zero-order series experimental data with data taken on the gain-increased hardware. There is an obvious deterioration in settle performance when the HCL model does not correctly match the hardware. Similar to the previous experimental results, the dominant closed-loop mode excitation is the cause of the increased ts , demonstrated in Fig. 20(b). Without online adaptive algorithms to remove the effects of parametric uncertainty similar to this, we do not expect the use of dynamic inversion algorithms to yield improved settle performance across the population of HDDs.

15

2 1.15 1.1 y [tracks]

mean(ts) [ms]

1.5

1

0.5

0.5

1 td [ms]

1.5

2

Dynamic inversion, coupled with reference trajectory generation, is an effective and practical means to achieve high performance settle times. Unlike many NMP dynamic inversion tracking applications, which freely use noncausal preactuation to minimize the yd − y tracking error, the HDD single-track seek applications of interest cannot anticipate the start of a seek command. Therefore preactuation adds to the overall settle time and leads to interesting trade-offs between the amount of preactuation delay, yd tracking accuracy, and the achievable settle performance. In this paper, we review the development of common dynamic inversion architectures and algorithms for tracking applications, and evaluate them within this settle performance framework. Through algebraic comparisons, we study 3 different SISO feedforward inversion architectures: plant inverse (FFPI), closed-loop inverse (FFCLI), and modified plant inverse (FFMPI). In settle time applications, especially when the closed-loop compensator is necessarily low-bandwidth, we show FFCLI is a superior architecture. The FFPI architecture will excite the dominant closed-loop dynamics and can drastically lengthen settle time. We provide a simulation example of this effect on our identified STW system model, and provide a technique to modify the FFPI implementation, called FFMPI, to recover the FFCLI settle performance.

1.1 y [tracks]

0.95

0.8 0

0.5

1 Time [ms]

1.5

2

(b) Average experimental output trajectories for most aggressive yd

Experimental settle performance comparison using the zero-order series NMP inversion algorithm on hardware with an without artificial gain

VIII. C ONCLUSIONS AND F UTURE W ORK

ZMETC ZPETC Zero−Order Series

1.05 Settle Boundary 1 0.95 0.9 0

Fig. 19.

1

0.85

(a) Average settle time (ts ) vs. desired settle time (td ) Fig. 20. increase.

Settle Boundary

0.9

Ideal 0% Gain Increase 15% Gain Increase 0 0

1.05

0.5

1 Time [ms]

1.5

2

Experimental output trajectories for the most aggressive yd .

Using FFCLI, we then investigate numerous NMP inversion algorithms in settle time applications. The algorithms examined include both exact dynamic inversion with initial condition preloading and stable approximate NMP inversion. The exact inversion approaches have clear advantages in tracking applications, but require significant amounts of preactuation to setup initial conditions. This negatively affects ts , especially when the desired settle performance is on the same order as the required preactuation. We show that on our example system, it is surprisingly advantageous to use no preactuation and leave the closed-loop initial conditions zero. While this approach leaves unwanted forced response terms in the closedloop output y, their response is small and does not substantially increase ts . In contrast to the computationally complex exact inversion techniques, we show that three stable approximate inversion algorithms are capable of achieving similar levels of settle performance, with much simpler implementations. Particularly, the settle performance of the zero-order Taylor series approximation exceeds the best performance of the exact inversion techniques, and does so without the high frequency excitation required by ZMETC, or the excessive preactuation required by ZPETC. In this case, the yd to y dynamics are FIR, irregardless of the location of the NMP zeros. While a zero-order series approximation would never be considered as a performance tracking solution, the low-order FIR dynamics between yd and y make it an extremely desirable settle performance algorithm. In a simulation of our example system, the minimum achievable settle time using a zero-order series approximation is less than the order of the closed-loop model. Minimum energy optimal trajectory generation methods show that the system order is a limiting factor in settle performance, and confirm that this approximate inversion method is on par with optimal approaches, yet much simpler to implement. The NMP inversion architecture and algorithm analysis does not include modeling uncertainty in an effort to provide a baseline performance analysis. In order to validate the conclusions of this study, we show experimental results that support

16

the major trends seen in simulation. In general, all algorithms tested achieve slightly slower experimental ts than simulation due to low frequency modeling errors in the inverse system. Moreover, when applying the dynamic inversion algorithms to experimental hardware with a 15% increase in the loop gain, settle performance deteriorates, again due to lower frequency closed-loop mode excitation. A 15% error in the loop gain is one type of common parametric uncertainty in the plant population, and supports the need for adaptive solutions that can compensate for lower frequency parametric errors. Future work will focus on adding on-line adaptation to these dynamic inverse algorithms using repetitive information. As confirmed by our experimental results, plant modeling errors, especially at lower frequencies, can cause a significant reduction in settle performance. We would like to recover the ideal simulation performance over the population of plant dynamics through an adaptive inverse system focused on lower and middle frequency parametric uncertainty. Unfortunately, the dynamic inverse will always be a reduced-order approximation to the true closed-loop dynamics because of high frequency unmodeled modes. When aggressive yd trajectories begin to excite these unmodeled modes, it may be possible to use the repetitive information to adaptively shape yd using more complex parameterizations and improve settle performance further. R EFERENCES [1] K. Takaishi, Y. Uematsu, T. Yamada, M. Kamimura, M. Fukushi, and Y. Kuroba. “Hard disk drive servo technology for media-level servo track writing.” IEEE Trans. Magn., vol. 39, pp. 851-856, Mar. 2003. [2] C. Lee. “Servowriters: A critical tool in hard disk manufacturing.” Solid State Technol., vol. 34, no. 5, pp. 207-211, 1991. [3] C. Du, J. Zhang, and G. Guo. “Disturbance modeling and control design for self-servo track writing.” IEEE/ASME Trans. Mechatronics, vol. 10, pp. 122-127, Feb. 2005. [4] J. Guttmann, M. Heminger, M. Hicken, S. Howe, and T. Swatosh. “Method and apparatus for optimizing the data transfer rate to and from a plurality of disk surfaces.” U.S. Patent 6105104, Aug. 15, 2000. [5] M. Blachek, M. Neumann, G. Smith, and P. Wachowiak. “Method and apparatus for detecting handling damage in a disk drive.” U.S. Patent 5935261, Aug. 10, 1999. [6] D. De Roover and F. Sperling. “Point-to-point control of a high accuracy positioning mechanism,” in Proc. of the American Control Conf., 1997, vol. 3, pp. 1350-1354. [7] E. de Gelder, M. van de Wal, C. Scherer, C. Hol, and O. Bosgra. “Nominal and robust feedforward design with time domain constraints applied to a wafer stage.” ASME J. Dyn. Sys., Meas., and Contr., vol. 128, pp. 204-215, Jun. 2006. [8] H. Perez, Q. Zou, and S. Devasia. “Design and control of optimal scan trajectories: Scanning tunneling microscope example.” ASME J. Dyn. Sys., Meas., and Contr., vol. 126, pp. 187-197, Mar. 2004. [9] D. Abramovitch, S. Andersson, L. Pao, and G. Schitter. “A tutorial on the mechanisms, dynamics, and control of atomic force microscopes,”in Proc. of the American Control Conf., Jul. 2007, pp. 3488-3502. [10] D. Miu. Mechatronics. New York, NY: Springer-Verlag, 1993, pp. 114155. ˚ om, P. Hagander, and J. Sternby. “Zeros of sampled-data sys[11] K. Astr¨ tems.” Automatica, vol. 20, no. 1, pp. 31-38, 1984. [12] K. Moore. Iterative Learning Control for Deterministic Systems. New York, NY: Springer-Verlag, 1993. [13] J. Ghosh and B. Paden. “A pseudoinverse-based iterative learning control.” IEEE Trans. Automat. Contr., vol. 47, no. 5, pp. 831-837, May 2002. [14] D. Bristow, M. Tharayil, and A. Alleyne. “A survey of iterative learning control.” Control Sys. Mag., vol. 26, no. 3, pp. 96-114, Jun. 2006. [15] M. Athans and P. Falb. Optimal Control. New York, NY: McGraw Hill, 1966, pp. 504-661.

[16] H. Ho. “Fast servo bang-bang seek control.” IEEE Trans. Magn., vol. 33, no. 6, pp. 4522-4527, Nov. 1997. [17] T. Yamaguchi, Y. Soyama, H. Hosokawa, K. Tsuneta, and H. Hirai, “Improvement of settling response of disk drive head positioning servo using mode switching control with initial value compensation.” IEEE Trans. Magn., vol. 32, no. 3, pp. 1767-1772, May 1996. [18] N. Singer and W. Seering. “Preshaping command inputs to reduce system vibration.” ASME J. Dyn. Sys., Meas., and Contr., vol. 112, pp. 76-82, Mar. 1990. [19] T. Singh and W. Singhose. “Tutorial on input shaping/time delay control of maneuvering flexible structures,” in Proc. of the American Control Conf., May 2002, pp. 1717-1731. [20] B. Rigney, L. Pao, and D. Lawrence. “Settle time performance comparisons of stable approximate model inversion techniques,” in Proc. of the American Control Conf., Jun. 2006, pp. 600-605. [21] B. Rigney, L. Pao, and D. Lawrence. “Model inversion architectures for settle time applications with uncertainty,” in Proc. 45th IEEE Conf. Decision Control, Dec. 2006, pp. 6518-6524. [22] H. Perez and S. Devasia. “Optimal output-transitions for linear systems.” Automatica, vol. 39, no. 2, pp. 181-192, Feb. 2003. [23] D. Iamratanakul and S. Devasia. “Minimum-time/energy outputtransitions in linear systems,” in Proc. of the American Control Conf., Jun. 2004, pp. 4831-4836. [24] A. Piazzi and A. Visioli. “Minimum-time system inversion for residual vibration reduction.” IEEE Trans. Ctrl. Sys. Tech., vol. 5, no. 1, pp. 1222, Mar. 2000. [25] A. Piazzi and A. Visioli. “Optimal inversion-based control for the setpoint regulation of nonminimum phase uncertain scalar systems.” IEEE Trans. Automat. Contr., vol. 46, no. 10, pp. 1654-1659, Oct. 2001. [26] S. Devasia, D. Chen, and B. Paden. “Nonlinear inversion-based output tracking.” IEEE Trans. Automat. Contr., vol. 41, no. 7, pp. 930-942, Jul. 1996. [27] Q. Zou and S. Devasia. “Preview-based stable-inversion for output tracking,” in Proc. of the American Control Conf., Jun. 1999, pp. 35443548. [28] L. Hunt, G. Meyer, and R. Su. “Noncausal inverses for linear systems.” IEEE Trans. Automat. Contr., vol. 41, no. 4, pp. 608-611, Apr. 1996. [29] L. Lanari and J. Wen. “Feedforward calculation in tracking control of flexible robots,” in Proc. 30th IEEE Conf. Decision Control, Dec. 1991, pp. 1403-1408. [30] L. Marconi, G. Marro, and C. Melchiorri. “A solution technique for almost perfect tracking of non-minimum-phase, discrete-time linear systems.” Int. J. Control, vol. 74, no. 5, pp. 496-506, 2001. [31] J. Wen and B. Potsaid. “An experimental study of a high performance motion control system,” in Proc. of the American Control Conf., Jun. 2004, pp. 5158-5163. [32] B. Potsaid and J. Wen. “High performance motion tracking control,” in Proc. of the 2004 International Conf. on Control App., Sep. 2004, pp. 718-723. [33] M. Tomizuka. “Zero phase error tracking algorithm for digital control.” ASME J. Dyn. Sys., Meas., and Contr., vol. 109, pp. 65-68, Mar. 1987. [34] E. Gross and M. Tomizuka. “Experimental beam tip tracking control with a truncated series approximation to uncancelable inverse dynamics.” IEEE Trans. Ctrl. Sys. Tech., vol. 2, no. 4, pp. 382-391, Dec. 1994. [35] D. Torfs, J. De Schutter, and J. Swevers. “Extended bandwidth zero phase error tracking control of nonminimal phase systems.” ASME J. Dyn. Sys., Meas., and Contr., vol. 114, pp. 347-351, Sep. 1992. [36] D. Torfs, R. Vuerinckx, J. Swevers, and J. Schoukens. “Comparison of two feedforward design methods aiming at accurate trajectory tracking of the end point of a flexible robot arm.” IEEE Trans. Ctrl. Sys. Tech., vol. 11, no. 4, pp. 2-14, Jul. 2003. ˚ om and T. H¨agglund. “Feedforward Design,” in Advanced PID [37] K. Astr¨ Control. Research Triangle Park, NC: The Instrumentation, Systems, and Automation Society, 2005, pp. 139-157. [38] T. Kailath. Linear Systems. Englewood Cliffs, NJ: Prentice-Hall, 1980. [39] S. Devasia. “Should model-based inverse inputs be used as feedforward under plant uncertainty?” IEEE Trans. Automat. Contr., vol. 47, no. 11, pp. 1865-1871, Nov. 2002. [40] G. Franklin, J. Powell, and M. Workman. “Design using transform techniques,” in Digital Control of Dynamic Systems, 3rd ed., Menlo Park, CA: Addison Wesley, 1997, pp. 211-278. [41] S. Haykin and B. Van Veen. “Inversion of the Z-Transform,” in Signals and Systems. New York, NY: John Wiley and Sons, Inc., 2003, pp. 572579. [42] J. Doyle, B. Francis, A. Tannenbaum. Feedback Control Theory. New York, NY: Macmillan, 1992.

17

[43] J. Butterworth, L. Y. Pao, and D. Abramovitch. “The Effect of Nonminimum-Phase Zero Locations on the Performance of Feedforward Model-Inverse Control Techniques in Discrete-Time Systems,” to be published in Proc. of the American Control Conf., 2008.

Brian P. Rigney Brian P. Rigney received a B.S. in Aerospace Engineering from the University of Notre Dame in 1998 and a M.S. in Aerospace Engineering from the University of Colorado at Boulder in 2000. He worked for Maxtor Corporation from 2000-2006, specializing in Servo Track Write and Self-Servowrite technologies. He is currently a Ph.D. candidate in Electrical Engineering at the University of Colorado at Boulder, and an employee of Western Digital Corporation in the Self-Servowrite division. His interests include precision nano-scale motion control and the application of advanced control concepts to computationallyconstrained embedded systems.

Lucy Y. Pao Lucy Y. Pao received the B.S., M.S., and Ph.D. degrees in Electrical Engineering from Stanford University, and she is currently a Professor in the Electrical and Computer Engineering Department at the University of Colorado at Boulder. She has interests in the areas of control systems (with applications to flexible structures, atomic force microscopes, disk drives, tape systems, power converters, and wind turbines), multisensor data fusion (with applications to unmanned autonomous vehicles, satellites, and automotive active safety systems), and haptic and multimodal visual/haptic/audio interfaces (with applications to scientific visualization and spatial communication). She is currently an IEEE Control Systems Society (CSS) Distinguished Lecturer (2008-2011), a 2008 Visiting Miller Professor (University of California at Berkeley), a member of the 2008 International Federation of Automatic Control (IFAC) Triennial World Congress Young Author Prize Selection Committee, and General Chair for the 2013 American Control Conference.

Dale A. Lawrence Dale A. Lawrence is an Associate Professor in the Department of Aerospace Engineering Sciences at the University of Colorado at Boulder. He obtained a B.S. in Electrical Engineering from Colorado State University in 1980, and a M.S. and Ph.D. in Electrical Engineering from Cornell University in 1982 and 1985, respectively. His current research interests are in the areas of disk drive control, dynamics and control of small spacecraft and unmanned aerial vehicles, and design and control of haptic interfaces and micromanipulators.

Suggest Documents