Feedforward (FF) control uses a priori knowledge about a given system and its disturbances to influence the system’s behavior in a pre-defined way. However, unlike feedback (FB) control, it does not adjust the control signal (or manipulated variable) in response to how the system actually reacts. In other words, FF control is proactive while FB control is reactive. Model-inversion-based FF (MIBFF) control is a specific type of FF control where the control variable is determined by inverting a model of the system to be controlled. It is very popular for its use in output tracking control problems, where the goal is to force the system’s output to follow a desired trajectory. Output tracking is critical in several different applications, e.g., in manufacturing, robotics, automotive, aerospace, and is typically achieved using a combination of FF and FB control. As motivating examples, consider MIBFF in ultra-precise wafer scanners used in photolithography (see Sidebar S1) and in desktop 3D printing (see Sidebar S2). As these motivating examples illustrate, non-minimum phase (NMP) zeros often arise in practical engineering applications due to non-collocated sensors and actuators, fast sampling, etc. MIBFF for systems with NMP zeros is arguably the most important (and certainly the most researched) issue related to MIBFF.

## Article

Feedforward (FF) control uses a control uses a *priori* knowledge about a given system and its disturbances to influence the system’s behavior in a pre-defined way. However, unlike feedback (FB) control, it does not adjust the control signal (or manipulated variable) in response to how the system actually reacts. In other words, FF control is proactive while FB control is reactive.

Model-inversion-based FF (MIBFF) control is a specific type of FF control where the control variable is determined by inverting a model of the system to be controlled. It is very popular for its use in output tracking control problems, where the goal is to force the system’s output to follow a desired trajectory. Output tracking is critical in several different applications, e.g., in manufacturing, robotics, automotive, aerospace, and is typically achieved using a combination of FF and FB control. As motivating examples, consider MIBFF in ultra-precise wafer scanners used in photolithography (see **Sidebar S1**) and in desktop 3D printing (see **Sidebar S2**). As these motivating examples illustrate, non-minimum phase (NMP) zeros often arise in practical engineering applications due to non-collocated sensors and actuators, fast sampling, etc. MIBFF for systems with NMP zeros is arguably the most important (and certainly the most researched) issue related to MIBFF.

**S1: Beyond Rigid Body FF Control of Wafer Scanners for Photolithography**

A wafer scanner (see **Figure 1**) is a device used to deliver ultraprecise motion needed for the photolithography process in integrated circuit manufacturing. Wafer scanners must achieve nanometer-level servo errors in tracking motion trajectories with velocities of up to 1 m/s and 10 g acceleration [1]. Over 99% of the control effort required for generating the desired motion is contributed by FF control [2], because wafer scanners are specially designed to minimize uncertainties and unknown disturbances. In a typical wafer scanner, MIBFF is achieved by inverting a rigid body model of a moving stage of mass *m* (i.e., control input, *u* = *ma* = *ÿ _{d}*). However, as

*ÿ*(desired acceleration) increases, there is a push to reduce

_{d }*m*so that the required

*u*is not excessive. An unintended result of reducing

*m*is that the stiffness of the stage reduces, thus invalidating the rigid body assumption used for MIBFF. This has given rise to so-called

*beyond rigid body*(BRB) FF control, which considers the flexible modes of the stage in MIBFF control of wafer scanners [1][2]. A major concern that arises with the inclusion of flexibilities in MIBFF control is the presence of NMP zeros, which are almost certain to occur when sensors and actuators are non-collocated as in wafer scanners. Moreover, model uncertainties increase as high-frequency vibration modes are introduced into MIBFF. These issues are further complicated by the fact that the structural dynamics vary from location to location on the stage, hence a position (and time) varying model is required for MIBFF control of wafer scanners.

## Methods for FF Control of Systems with NMP Zeros

The FF output tracking problem is illustrated in block diagram form in **Figure 3.** Consider the simple case of a linear time invariant (LTI) singleinput single-output (SISO) discrete-time system (with transfer function *G*(*q*)), controlled by a tracking controller C(q), where *q* is the forward shift operator. The system *G(q)* could represent the model of an open-loop plant or that of a closed-loop controlled system. Given a desired trajectory, *y _{d}(k)*, where 0 ≤

*k ≤ M, k ∊ Z*and

*M*+1 is the number of discrete points in the trajectory, the objective of tracking control is to design

*C(q)*such that its output (i.e., the control trajectory)

*u(k)*, after passing through

*G(q)*, results in an output trajectory

*y(k)*that is sufficiently close to

*y*. Ideally,

_{d}(k)*C(q)*=

*G(q)*should be selected such that the overall transfer function

^{-1}*L(q) = C(q)G(q)*, from

*y*to

_{d}(k)*y(k)*, is unity over the entire range of frequencies, resulting in perfect tracking. However,

*C(q)*=

*G(q)*yields unbounded or highly-oscillatory control signal, u(k), if

^{-1}*G(q)*contains NMP zeros.

A lot of research has been done on developing methods for tracking control of systems with NMP zeros [3M5]. The simplest methods are NMP zero ignore (NPZ-ignore), zero phase error tracking controller (ZPETC), and zero magnitude error controller (ZMETC) [4]. NPZ-ignore cancels all poles and cancellable zeros while ignoring the NMP and poorly-damped zeros; it results in a controlled system that exhibits magnitude and phase errors between its desired and output trajectories. ZMETC focuses on cancelling magnitude errors across all frequencies at the expense of phase errors, whereas zero phase error tracking control (ZPETC) focuses on cancelling phase errors across all frequencies at the expense of magnitude errors.

However, depending on the system and the performance specifications, NPZ-ignore, ZMETC and ZPETC may not yield satisfactory tracking accuracy due to the approximations involved [4]. To improve tracking accuracy, advanced methods have been developed, e.g., extended bandwidth ZPETC, truncated series (TS), direct inversion with bounded reference trajectories, approximate frequency domain inversion, H∞ matching, B-spline-based tracking with preview using iterative learning control, spline filtering with feedback, causal/ anti-causal dynamics decomposition, etc. (as summarized in excellent review papers like [3H5]). A major shortcoming of most advanced methods is that they are not versatile in terms of the systems and/or the desired trajectories to which they are applicable (e.g., several of the methods cannot be applied to nonhyperbolic systems, i.e., systems with zeros on the unit circle) – see [7] for a more detailed discussion of this matter. Moreover, their tracking accuracy varies significantly depending on NMP zero location (in the complex plane) [7][8].

The filtered basis function (FBF) approach has been proposed by the authors as a means for achieving consistent feedforward tracking accuracy regardless of the location of the system NMP zeros [6][7].

*Without any system inversion,*the FBF approach approximates

*u(k)*in

**Figure 3**as:

where {ф_{i}. (k)} is a set of n+i linearly independent basis functions and {γ_{i}} is a set of coefficients, *γ _{i}* = ∊ℝ. Based on Eq. (1), the control input and output trajectory can be expressed as

$where\u2009\u2009\varphi \u02dci(k)=G\varphi i(k)$

*forward filtered*by the system

*G*(or its accurate model). For perfect tracking (i.e.,

*y(k)*=

*y*for all

_{d}(k)*k*), the coefficients

*{γ*} should satisfy:

_{i}**S2: Beyond Rigid Body FF Control of Desktop 3D Printers**

There is a push to make desktop 3D printers as widely available as desktop office printers, in a bid to democratize manufacturing. To achieve this goal, desktop 3D printers must be low-cost, lightweight, and have reasonable print speeds and print quality (see **Figure 2a**). To keep costs low, desktop 3D printers are typically controlled 100% in open loop (i.e., FF) using stepper motors. However, given their lightweight structures, they have structural flexibilities, which cause them to vibrate excessively due to the motion of their print head and/or platform. Excessive vibration leads to poor surface quality or, even worse, causes the stepper motors to skip counts leading to scrapped parts (see **Figure 2b**). These issues are currently dealt with by reducing the speed of the printers, which significantly slows down the printing process (already notorious for its low throughput). Without unduly sacrificing throughput, the vibration-induced problems of desktop 3D printers could be resolved using FB control, but this would require servo motors, sensors, and high-performance drives to run active vibration control algorithms, all adding significant cost to the 3D printers. Moreover, to be effective, such sensors would have to be placed close to the print head where they can properly observe the unwanted vibration; this may not be practical. A more practical alternative, which can be implemented via stepper motors without extra hardware investments, is MIBFF control. However, much like wafer scanners, NMP zeros, and position-varying dynamics, are also issues in BRB FF control of 3D printers that must be addressed.

*y*belongs to the span of the filtered basis functions {$\varphi i$}. However, for the general situation where

_{d}*n < M*, Eq. (3) is overdetermined, and the solution to Eq. (3) is approximated as [6][7]:

This approximation is the least square solution minimizing ||**e**||_{2}^{2}, where **e** = [*e*(0) *e*(1) ... *e*(E)]^{T} is the tracking error vector, based on the definition *e*(*k*) = *y _{d}(k)* −

*y*(

*k*). Note that the solution to Eq. (4) exists and is unique, if and only if the filtered basis functions {$\varphi \u02dci$} are linearly-independent (i.e., if $\Phi \u02dc$ is of full rank

*n*+1). It is shown in [7] that this linear-independence condition can be readily achieved, given the flexibility in selecting the basis functions and their initial conditions in filtering.

**Figure 4**depicts the FBF method’s generation of control input

**u**= [

*u*(o)

*u*(1) ...

*u*(M)]

^{T}from

**y**

*and BFs (*

_{d}**Ф**), as well as its application to system

*G*(

*q*) to output

**y**= [

*y*(0)

*y*(i) ...

*y*(

*M*)]

^{T}. Following the tracking control block diagram of

**Figure 3,**the overall dynamics

*L*and tracking controller

*C*have functionally-equivalent counterparts in the FBF framework, given by the matrices

**L**

*and*

_{FBF}**C**

*:*

_{FBF}Note that the *L*(*q*) and *C*(*q*) of any linear MIBFF method can be expressed as matrices **L** and **C**, respectively, via the so-called lifted system representation [7]. It is interesting to note that *L _{FBF}* and

*C*are not generally Toeplitz matrices [7] (i.e., matrices having constant entries along their diagonals).

_{FBF}*This constitutes a fundamental difference*between the FBF method and most other MIBFF methods, whose

**L**and

**C**matrices are

*always*Toeplitz. The implication is that while most other methods result in LTI controllers,

*the FBF method generally yields an LTV controller*. It is this fundamental difference that enables the improvements over other MIBFF methods, in terms of consistent performance regardless of NMP zero location, that is evident from the comparisons in the next section. Note also that, though discussed in the context of LTI SISO systems,

*the FBF approach is applicable to any discrete-time linear system – including multi-input, multi-output and linear time-varying systems*(see, e.g., [11])

## Comparison of FBF to ZPETC and TS

where *a* and *p* = 0.5 are the zero and pole of the system, respectively. TS is selected for the comparison because, among the advanced techniques for approximate inversion, it is very versatile with regards to its applicability irrespective of the location of the NMP zeros in the z-plane; ZPETC is considered because of its popularity. There is a wide range of basis functions available for use with the FBF method; e.g., Laguerre functions, wavelets, B-splines, etc. In the simulation studies, two basic basis functions – the block pulse function (BPF) and the discrete cosine transform (DCT) – are adopted [7]. The desired trajectory (*y _{d}*) used for the simulations is a zero-mean white noise signal with unity variance,

*M*= 1000 and sampling time,

*T*= 0.1 ms.

_{s}**About the Authors**

**Keval S. Ramani** is a Ph.D. candidate in Mechanical Engineering at University of Michigan since 2015. He received his M.S. from University of Michigan in 2015 and B.E. from BITS Pilani, Goa Campus, India, in 2012. From 2012 to 2013, he worked with Ingersoll Rand, based in Bengaluru, India, as an Engineering Trainee. His research interests are in controls, dynamics, vibration and optimization. He is a co-author of the best student paper award-winning paper at the 2015 Dynamic Systems and Controls Conference.

**Molong Duan** is a Ph.D. candidate in Mechanical Engineering at the University of Michigan, Ann Arbor. He received his B.S. degree from Peking University, Beijing, China, and his M.S.E. degree from the University of Michigan, in 2012 and 2013, respectively. His research focuses on over-actuated systems, sustainable manufacturing, and trajectory generation. He was awarded the Rackham Centennial Fellowship from the University of Michigan in 2013, the best poster award at the 2014 International Forum on Sustainable Manufacturing, and the best student paper award at the 2015 Dynamic Systems and Controls Conference.

**Deokkyun Yoon** received his B.S. and M.S. degrees in 2009 and 2010 and is working toward the Ph.D. degree, all in mechanical engineering from the University of Michigan. Prior to returning to continue working toward the Ph.D. degree, he was with Korea Institute of Machinery and Materials as a research staff member from 2010 to 2013. His research interests include mechatronics system design for improved precision, throughput, and power efficiency, applied to advanced manufacturing processes. He received the best poster award at the 2014 International Forum on Sustainable Manufacturing, and was awarded the inaugural 3M scholarship from the American Society for Precision Engineering.

**Chinedum Okwudire** received his Ph.D. degree in Mechanical Engineering from the University of British Columbia in 2009 and joined the Mechanical Engineering faculty at the University of Michigan in 2011. Prior to joining Michigan, he was the mechatronic systems optimization team leader at DMG Mori USA based in Davis, CA. His expertise lies in smart and sustainable automation, where he leverages the fundamental engineering disciplines of machine design, structural dynamics, and control theory to tackle challenging problems in precision, throughput, and energy efficiency faced by the manufacturing and vehicle automation industries. He has received the International Symposium on Flexible Automation Young Investigator Award; the Society of Manufacturing Engineers Outstanding Young Manufacturing Engineer Award; the SAE International Ralph Teetor Educational Award; the National Science Foundation CAREER award; and a number of best paper awards.

**A. Galip Ulsoy** is C.D. Mote, Jr. Distinguished University Professor Emeritus of Mechanical Engineering and W.C. Ford Professor Emeritus of Manufacturing at University of Michigan, Ann Arbor. He received the Ph.D. from University of California at Berkeley (1979), M.S. from Cornell University (1975), and B.S. from Swarthmore College (1973). His research interests are in dynamics and control of mechanical systems. He has received numerous awards, including the 2008 Rufus T. Oldenburger Medal and the 2013 Charles Russ Richards Award from ASME, is a member of the National Academy of Engineering and is a Fellow of ASME, SME, IEEE and IFAC.

**Figure 5** compares the normalized tracking error norm (* e_{RMS}*/

*) of the methods under consideration for*

**y**_{d,RMS}*a*∈[-10, 10]. For the two cases of FBF,

*n*= 990 is selected, while for TS,

*n*

_{1}= 5 is chosen, where n

_{1}is the number of terms in the truncated series. Notice that, unlike ZPETC and TS, both cases of FBF

*exhibit very consistent tracking performance*for all values of

*a*investigated – including at |

*a*| = 1 where TS (and most other methods)

*fail because the system has a zero on the unit circle.*Note that, at any given value of

*a*, the tracking accuracy of FBF can be matched to that of TS via the selection of

*n*. Hence, the relative accuracy of the FBF approach is not of particular interest.

Through this simulation, we have demonstrated some of the interesting observations made in [7] with regard to the FBF method’s *effectiveness and consistency in tracking arbitrary desired trajectories*, with or without feedback, regardless of the location of NMP zeros in the z-plane. Analytical justifications for the FBF method’s consistent tracking performance relative other techniques are presented in [12]. In the next section we present experimental results obtained for a low-cost desktop 3D printer with stepper motors.

## Experimental Validation: Vibration Compensation of A Desktop 3D Printer

**Figure 2a.**It is utilized for FF compensation of tracking errors induced by vibrations of the printer as a result of motions of its build platform and nozzle in the

*x*and

*y*directions, respectively. The axis frequency response functions (FRFs) are measured by applying swept sine acceleration signals (with amplitudes ranging from 1.5 m/s

^{2}to 3.0 m/s

^{2}) to the printer’s stepper motors and measuring the relative acceleration of the build platform and print head using accelerometers. The curve fit models are generated using MATLAB®’s

*invfreqs*function applied to the 3.0 m/s

^{2}data, in order to better compensate for vibrations induced by more aggressive motions. The resulting discrete-time transfer function for the x-axis is

with sampling time, *T _{s}* = 1 ms. Note that

*G*(

*q*) has a zero at

*q*= -1;

*most MIBFF control methods cannot handle such systems.*

The FBF method is implemented with B-splines as the basis functions. The local property of B-splines is exploited to implement the FBF method with limited preview (i.e., in small batches) to drastically reduce computational costs [13]. **Figure 6** compares the roughness (h) of the highlighted surfaces of two identical blocks, both printed at 60 mm/s feedrate and 7 m/s^{2} maximum acceleration. Notice that the RMS value of *h* for the block printed with FBF is *77%* smaller than that of the baseline case without FBF. **Table 1** shows scale models of the US Capitol printed at 60 mm/s feedrate with various acceleration limits. The FBF method allows much higher accelerations (i.e., by a factor of ten), thereby *shortening print time significantly* (i.e., by a factor of two) without sacrificing print quality. Full details of the limited-preview implementation of the FBF approach and the experimental investigation can be found in [13].

## Concluding Remarks

FF controllers play an important role in many engineering applications, but have not received as much research attention as FB controllers. A major issue in FF controller design arises when system models with uncancellable (e.g., NMP) zeros are inverted. We have presented the filtered basis functions (FBF) approach for MIBFF tracking control and compared it to well-known methods such as ZPETC and TS. The proposed FBF method uses basis functions to represent the control signal and determines the coefficients of those basis functions to minimize the error between the desired and actual trajectories in a least-square sense. The FBF design can be applied to any linear system and yields a LTV controller even for a LTI system.

For a first-order LTI plant with a NMP zero, the simulation results show that the FBF approach, unlike ZPETC and TS, can be used and yields consistent tracking performance regardless of NMP zero location. We have also validated the FBF approach experimentally for tracking control of a desktop 3D printer with stepper motors. The results show that the print time can be cut in half using an FBF FF tracking controller, while other methods may not be applicable due to an NMP zero on the unit circle.

The main conclusions are:

The proposed FBF approach, which yields a LTV controller, is applicable to any linear system, and yields consistent tracking accuracy irrespective of NMP zero location.

FBF stands out in situations where other methods struggle or fail (e.g., zeros on or near the unit circle).

We are considering various extensions of the current research to more general LTV tracking controllers, to multi-input multi-output systems, nonlinear systems, and to combined FF and FB control.