0% found this document useful (0 votes)
53 views

A Limited-Preview Filtered B-Spline Approach To Tracking Control - With Application To Vibration-Induced Error Compensation of A 3D Printer

vwff

Uploaded by

Nikhil kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
53 views

A Limited-Preview Filtered B-Spline Approach To Tracking Control - With Application To Vibration-Induced Error Compensation of A 3D Printer

vwff

Uploaded by

Nikhil kumar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/320114918

A limited-preview filtered B-spline approach to tracking control – With


application to vibration-induced error compensation of a 3D printer

Article  in  Mechatronics · September 2017


DOI: 10.1016/j.mechatronics.2017.09.002

CITATIONS READS

7 857

3 authors:

Molong Duan Deokkyun Yoon


University of Michigan University of Michigan
17 PUBLICATIONS   64 CITATIONS    14 PUBLICATIONS   36 CITATIONS   

SEE PROFILE SEE PROFILE

Chinedum Okwudire
University of Michigan
59 PUBLICATIONS   332 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Vibration Assisted Nanopositioning View project

All content following this page was uploaded by Molong Duan on 04 November 2017.

The user has requested enhancement of the downloaded file.


JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

Mechatronics 0 0 0 (2017) 1–10

Contents lists available at ScienceDirect

Mechatronics
journal homepage: www.elsevier.com/locate/mechatronics

A limited-preview filtered B-spline approach to tracking control –


With application to vibration-induced error compensation of a 3D
printer
Molong Duan, Deokkyun Yoon, Chinedum E. Okwudire∗
Department of Mechanical Engineering, University of Michigan, 2350 Hayward, Ann Arbor, MI 48109, United States

a r t i c l e i n f o a b s t r a c t

Article history: A limited-preview filtered B-spline (FBS) approach for minimizing errors in tracking a desired trajectory is
Received 5 April 2017 presented. In the full-preview FBS approach, the feedforward control input to a stable linear system, with
Revised 3 August 2017
or without non-minimum phase zeros, is decomposed into B-spline basis functions with unknown coef-
Accepted 6 September 2017
ficients; the basis functions are forward filtered using the (modeled) dynamics of the system, and their
Available online xxx
coefficients selected to minimize tracking errors of the entire trajectory in one batch. Instead, this paper
Keywords: proposes the use of a receding horizon to recursively compute unknown coefficients that minimize track-
Feedforward control ing errors for small batches (subsets) of the trajectory at a time, by exploiting the local property of B-
Non-minimum phase zeros splines. This allows optimal control signals to be determined at much lower computational cost compared
Limited preview (look-ahead) to full-preview FBS, thus enabling online implementation on real-time controllers. The adverse effects of
Basis functions limited preview on tracking accuracy, relative to full preview, are analyzed, and limited-preview FBS is
3D printer
shown in numerical examples to preserve the versatility of full-preview FBS in tracking systems irrespec-
tive of their zero locations. The practicality and effectiveness of the limited-preview FBS approach are
demonstrated by employing it for online feedforward compensation of tracking errors caused by struc-
tural vibrations of a stepper-motor-driven 3D printer. Alleviation of vibration-induced surface waviness
and layer-to-layer registration errors, without sacrificing print speed, are demonstrated.
© 2017 Elsevier Ltd. All rights reserved.

1. Introduction practice. For example, they occur in systems with fast sampling
rates [2], as well as in systems with non-collocated placement of
Tracking control aims to minimize the errors of a system’s out- sensors and actuators [3]. Therefore, it is of great practical benefit
put(s) in following a desired trajectory. A feedforward controller for a feedforward tracking control method to perform satisfactorily
uses a priori knowledge of a given system and its input(s) to influ- when applied to minimum phase (MP) systems, as well as systems
ence the system’s output(s) in a pre-defined way; it is very often with NMP zeros.
used in tracking control applications to augment feedback control, There have been several feedforward tracking control meth-
which has limited tracking accuracy because it must wait for er- ods reported in the literature that are applicable to linear sys-
rors to develop before reacting to them. Moreover, in some track- tems with NMP zeros. The simplest methods are NMP zero ignore
ing control applications – as in stepper-motor-driven 3D printers (NPZ-ignore), zero phase error tracking controller (ZPETC), and
– feedback control is infeasible due to lack of sensing of the con- zero magnitude error controller (ZMETC) [1,4]. However, depend-
trolled variables; hence, in these cases, feedforward is the only re- ing on the system and the performance specifications, NPZ-ignore,
course for control. Excellent tracking performance can be achieved ZMETC and ZPETC may not yield satisfactory tracking performance
using feedforward control by direct inversion of a sufficiently accu- due to the approximations involved [4]. To improve tracking ac-
rate model of a system (i.e., pole-zero cancellation) [1]. However, curacy, advanced methods have been developed, e.g., extended
when applied to systems with non-minimum phase (NMP) zeros, bandwidth ZPETC [5], truncated series [6], direct inversion with
direct model inversion gives rise to unstable control inputs which bounded reference trajectories [7–11], approximate frequency do-
are unacceptable [1]. Non-minimum phase zeros are prevalent in main inversion [12], H∞ matching [13,14], B-spline-based tracking
with preview using iterative learning control [15], spline filtering

with feedback [16,17], causal/anti-causal dynamics decomposition
Corresponding author.
[18], etc. A major problem faced by most of the advanced methods
E-mail addresses: [email protected] (M. Duan), [email protected] (D.
Yoon), [email protected] (C.E. Okwudire). (e.g., [7,8,10,11,18]) is that they require full preview (i.e., full knowl-

http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
0957-4158/© 2017 Elsevier Ltd. All rights reserved.

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

2 M. Duan et al. / Mechatronics 000 (2017) 1–10

Nomenclature xd , xd desired output as time series and vec-


tor
a, b zero and pole of simulated first order XP , XC , XF past, current, future partition of vec-
discrete system tors or matrices X with respect to pre-
Ar , Br , Cr state-space representation of recursion view window under evaluation, where
error dynamics X ∈ {xd , ē, p̄, p̄, N̄, N}
C tracking controller ξ B-spline curve parameter representing
E number of discrete points minus one normalized time
e, ē tracking error vector of FPFBS and σ max, N (σmin,N˜ ) maximum (minimum) singular value of
LPFBS N (N˜)
e R recursion tracking error due to limited
preview
eT (êT ) (approximated) tracking error due to edge) of the entire desired trajectory, which presents significant
system dynamics truncation computational challenges for online implementation when the de-
ḡ, g normalized and un-normalized (open- sired trajectory has a large number of samples (i.e., long duration).
ended) knot vector Moreover, they are not applicable in certain practical situations
H, H (H̄), hk (h̄k ), hss system, its (truncated and rescaled) where only subsets of the desired trajectory are known before-
lifted domain representation, its (trun- hand, as in most modern computer numerical controllers (CNCs)
cated and rescaled) impulse response, which calculate desired trajectories in small batches using a look-
and its DC gain ahead feature [19]. Some work has been done on alleviating the
i, j, k indices of preview windows, basis func- requirement for full preview in certain advanced methods. For ex-
tions, and time steps ample, a limited-preview approximate solution to full-preview sta-
K gain of simulated first order discrete ble inversion [7,8] is proposed in [9], and in [15] iterative learning
system control is incorporated into the method using B-spline decomposi-
L knot vector spacing tion, to address model uncertainty. However, most of the advanced
LC (LC,min ) (minimum) preview horizon length methods (whether with full or limited preview) are not versatile
LH finite impulse response approximation in terms of the systems and/or the desired trajectories to which
length they are applicable (e.g., the methods in [9,15] cannot be applied to
Lr (nr ) the number of non-empty rows non-hyperbolic systems) – see [20] for a more detailed discussion
(columns) in N̄PC of this matter. Moreover, some advanced methods exhibit tracking
m B-spline degree performance that varies significantly depending on NMP zero loca-
MA recursion error dynamic matrices in tion (in the complex plane) [20].
control canonical form The filtered basis function (FBF) method [20–24] is an elegant
n B-spline number of control points mi- method for tracking control of linear systems (with or without
nus one NMP zeros). It assumes that the desired trajectory to be tracked
nb , nf minimum preview window needed to is fully known and that the control trajectory can be decomposed
account for the contributions of the into a set of basis functions with unknown coefficients. The ba-
non-zero portions of N̄PC and N̄CF sis functions are forward filtered using the (modeled) dynamics of
nC (nup ) number of control points evaluated the system and the coefficients are selected to minimize the er-
(updated) in each preview window rors in tracking the desired trajectory. The authors have shown in
Nj,m , N basis function and basis function ma- prior work [20,22] that the FBF method is very versatile with re-
trix gard to the systems and desired trajectories to which it is applica-
˜ j,m , N
N ˜ filtered basis function and filtered basis ble, and its tracking performance has been observed in case stud-
function matrix ies to be much less susceptible to NMP zero locations compared to
N̄ j,m , N̄, N
˜ truncated filtered basis function, trun- other methods [20,22]. Moreover, interesting features can be incor-
porated into the FBF method through a proper choice of basis func-
cated filtered basis function matrix, N̄–
˜ tions. For example the filtered B-spline (FBS) method, which uses
N
B-splines as basis functions, was proposed by the authors as an el-
N̄PC (NPC ), N̄CF partition of N̄ (N) indicating effect from
egant way of introducing tracking error weighting [22], constraint
past to current, and from current to fu-
handling properties [25], and control effort tradeoff [26] into the
ture.
FBF method. They demonstrated the FBS method’s ability to sig-
N̄up first nup columns of N̄C
nificantly improve the tracking and contouring accuracy of a man-
p, p̄, p control points of FPFBS without trun-
ufacturing machine experiencing unwanted vibration, without any
cation, with truncation and correspond-
reduction in total motion time [25]. However, a major shortcoming
ing difference
of FBS (and other FBF methods – that use other basis functions) is
p̄up,i deviation of updated control points in
that it requires full preview of the desired trajectory. It is therefore
ith preview window due to limited pre-
desired to relax the full-preview requirement of the FBS method,
view
to make it online implementable, while retaining its versatility. Ac-
t (tk ) (discrete) time
cordingly, the major contributions of this paper are in:
Ts sampling time
u, u control input as time series and vector 1. Proposing a limited-preview FBS method which uses a receding
ūup control input vector updated within horizon to recursively compute B-spline coefficients that mini-
current batch mize tracking errors for small subsets of the desired trajectory,
x, x actual output as time series and vector by exploiting the local property of B-splines [27].
2. Analytically deriving conditions that explain the effects of em-
ploying limited-preview FBS on tracking accuracy, relative to

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

M. Duan et al. / Mechatronics 000 (2017) 1–10 3

Similar to u, let vectors xd and x represent the E + 1 discrete


points of xd and x, respectively. Accordingly, based on the defini-
tion of u in (1), x can be written as
˜p
x=N (4)
Fig. 1. Block diagram for tracking control using FPFBS method.
where N ˜ is the filtered B-spline matrix, acquired by passing each
column of N through the dynamic system H, or its model. Accord-
full-preview FBS, and showing numerically that limited-preview ingly, the tracking error can be written as
FBS retains the versatility of the full-preview FBS method.
˜p
e = xd − x = xd − N (5)
3. Demonstrating the effectiveness and practicality of the pro-
posed limited-preview FBS method via online feedforward com- By minimizing the two-norm of the tracking error, the optimal
pensation of tracking errors caused by structural vibrations of control points are given by the well-known least-squares solution
a stepper-motor-driven 3D printer commanded to follow very [22]
lengthy trajectories.  T    −1
min ˜p
xd − N ˜p
xd − N ˜ TN
⇒p= N ˜ ˜ T xd
N (6)
p
The outline of the paper is as follows: Section 2 provides an
overview of the full-preview FBS method. Section 3 then details Note that the calculation of the optimal p requires full preview
the proposed limited-preview FBS method, and provides a theoret- of the desired trajectory xd ; the optimal control input, u = Np, is
ical and numerical analysis of its tracking accuracy and computa- thus generated offline and then sent to system H, as discussed in
tional efficiency relative to the full-preview FBS method. The sys- [22,25].
tem identification, modeling and feedforward control of a desktop
3D printer using the proposed limited-preview FBS method is pre- 3. Description and analysis of limited-preview filtered B-spline
sented in Section 4, along with results and discussions, followed approach
by conclusions and future work.
3.1. Limited-preview FBS approach

2. Overview of full-preview filtered B-spine approach In contrast to the FPFBS approach described in the preceding
section, the proposed limited-preview FBS (LPFBS) approach gen-
Consider the stable linear time-invariant (LTI) discrete-time sys- erates optimal feedforward control inputs in sequential batches,
tem (given by transfer function H(q)) shown in Fig. 1, controlled by based on a moving preview window (receding horizon) applied
a feedforward tracking controller, C, where q is the forward shift to the desired trajectory, xd . Since xd is not assumed to be fully
operator. The system H(q) is assumed to have nonzero DC gain, and known a priori, the knot vector can no longer be normalized over
could represent an open-loop plant or closed-loop controlled sys- [0,1] (as in (3)) using the total number of samples in the trajectory
tem [4]. Given a desired trajectory, xd (k), where 0 ≤ k ≤ E, k ∈ Z (E + 1), and the total number of control points (n + 1). Therefore,
and E + 1 is the number of discrete points in the trajectory, the ob- an un-normalized and open-ended knot vector is defined as
jective of tracking control is to design C such that the control tra-
jectory, u(k), after passing through H(q), results in an output tra- 0 0≤ j≤m
gj = (7)
jectory x(k) that is sufficiently close to xd (k). In the full-preview ( j − m )LTs j ≥m+1
FBS (FPFBS) approach [22,25], xd is assumed to be entirely known
where L ≥ 1 represents the uniform spacing of the knot vector el-
a priori and u is expressed as
ements as an integer multiple of sampling time Ts ; i.e.,
⎡ ⎤ ⎡ ⎤⎡ ⎤
u (0 ) N0,m (ξ0 ) N1,m (ξ0 ) ··· Nn,m (ξ0 ) p0
g j+1 − g j = LTs ( j = m, m + 1, ...) (8)
⎢u(1 )⎥ ⎢N0,m (ξ1 ) N1,m (ξ1 ) ··· Nn,m (ξ1 )⎥ ⎢ p1 ⎥
⎢ . ⎥=⎢ .. .. .. ⎥⎢ . ⎥ (1) Note that L also represents the spacing (in terms of number of dis-
⎣ .. ⎦ ⎣ . .
..
. .
⎦ ⎣ .. ⎦
crete samples) between consecutive Nj,m , for j ≥ m + 1; there-
u (E ) N0,m (ξE ) N1,m (ξE ) ··· Nn,m (ξE ) pn fore, smaller L implies a larger number of control points (for a




u N p
given length of trajectory) which generally improves tracking ac-
curacy at the expense of higher computational cost (larger ma-
where N is the matrix of B-spline basis functions of degree m, p is trix sizes) [20,22]. Notice that the terminal elements of ḡ j (i.e., for
a vector of n + 1 unknown coefficients (or control points), j = 0, n + 1 ≤ j ≤ m + n + 1) in (3) are not included in the open-ended gj ,
1,…,n, and ξ ∈ [0, 1] is the spline parameter, representing normal- since n is not necessarily known. With the un-normalized gj , Nj,m
ized time, which is discretized in (1) into E + 1 uniformly spaced is expressed as a function of t by replacing ξ with t and ḡ j with gj
points, ξ 0 , ξ 1 , …, ξ E . The real-valued basis functions, Nj,m (ξ ), are in (2), and the function is sampled at tk = kTs to formulate N as in
given by [27] (1).
One significance of the knot vector is that it defines the sup-
ξ − ḡ j ḡ j+m+1 − ξ
N j,m (ξ ) = N j,m−1 (ξ ) + N j+1,m−1 (ξ ) port (i.e., domain of influence) of Nj,m . The support, supp(f(t)), of a
ḡ j+m − ḡ j ḡ j+m+1 − ḡ j+1 function f(t) is the domain t for which f(t) = 0. Based on (2) and
(7), the support for each Nj,m is given by
1 ḡ j ≤ ξ ≤ ḡ j+1
N j,0 (ξ ) = (2) [0, ( j + 1 )LTs ] j<m
0 otherwise supp(N j,m (t )) = (9)
[( j − m )LTs , ( j + 1 )LTs ] j≥m
where ḡ = [ḡ0 ḡ1 . . . ḡm+n+1 ]T is a normalized knot vector defined
over [0,1]. For convenience, ḡ is assumed to be uniformly spaced; Notice that each Nj,m has finite (compact) support, implying that it
i.e. has a localized domain of influence. This is a key property of B-
splines that facilitates LPFBS, because it limits the influence of any
0 0≤ j≤m particular control point on its neighbors. The problem, however, is
j−m ∼
ḡ j = n−m+1
m+1≤ j ≤n (3) that supp(N j,m (t)) is infinite, in the common scenario where H(q)
1 n+1≤ j ≤m+n+1

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

4 M. Duan et al. / Mechatronics 000 (2017) 1–10

is an infinite impulse response (IIR) filter. To circumvent this prob-


˜ is approximated by its truncated ver-
lem, if H(q) is an IIR filter, N
sion, N̄, such that
   
supp N̄ j,m (t ) = supp N j,m (t ) ∪ [( j + 1 )LTs , ( j + 1 )LTs + LH Ts ]
(10)
In other words, the IIR filter H(q) is approximated by a finite im-
pulse response filter of length LH ; hence the support of N̄ j,m (t) is
extended by duration LH Ts . The approximation of N ˜ with N̄ is rea-
sonable because H(q) is assumed to be stable hence its impulse Fig. 2. Pictorial view of N̄’s structure.

response {hk } is guaranteed to converge to zero as k grows. (Need-


Fig. 2). It therefore makes sense to initialize the recursive op-
less to say that if H(q) is an FIR filter of length LH then N̄ = N ˜ –
timization by determining the first m control points using the
i.e., no approximation is needed). For the purposes of LPFBS where
portion of xd associated with the first m columns of N̄, and
the tracking problem is solved in small windows (batches) using N̄
then apply a fixed preview window (N̄C ) of size LC × nC to the
instead of N˜ , (5) can be redefined and written in partitioned form
rest of xd . Another way of initializing the optimization is to ap-
as
⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎡ ⎤ pend mL additional elements to the beginning of xd such that
ēP x d,P N̄P 0 0 p̄P xd (0) = xd (1) = … = xd (mL). This way the first m control points
⎢ ⎥⎣ ⎦ are given by xd (0)/hss , where hss = 0 is the DC gain of H(q).
ē = xd − N̄p̄ ⇔ ⎣ēC ⎦ = ⎣xd,C ⎦ − ⎣N̄PC N̄C 0 ⎦ p̄C (11)
2. The length LC of the fixed preview window should be selected
ēF x d,F 0 N̄CF N̄F p̄F such that LC ≥ LC,min given by

where the bar (−) accent attached to e and p indicate that they are LC,min = LH + (m + 1 )L + (nup − 1 )L = LH + (nup + m )L (14)
defined in terms of N̄ (instead of N ˜ , as in (5)); subscript C indicates 


supp(N̄ j,m )for j≥m
a quantity pertaining to the current window (e.g., xd,C is the sub-
set of the desired trajectory currently being evaluated); subscripts
The implication of (14) is that the window should at least cover
P and F denote quantities pertaining to the past and future, rela-
the support of the first nup basis functions associated with xd,C
tive to the current window. Note that the lower triangular nature
(see Fig. 2). This condition also guarantees the existence of the
of N̄ is due to causality, while the zero submatrix at the lower left
zero submatrix at the bottom left corner of N̄ shown in (11).
corner of N̄ arises because of the finite support of N̄ j,m (t). Given a
Moreover, selecting nC such that LC = nC L ensures that N̄C has
current subset xd,C of xd , as well as its past values, xd,P , the LPFBS
sufficient number of non-zero elements in all of its columns
method seeks to approximately determine current control points
(see Fig. 2); this avoids ill-conditioned N̄C , and is preferred in
(p̄C ) that minimize current errors ēC without considering xd,F (fu-
the pseudoinverse operation in (12).
ture values of xd ). This is achieved via the local least-squares solu-
3. With the use of a fixed preview window, N̄C is unchanged
tion given by
throughout the optimization. As such, to reduce computational
 −1  
p̄C ∼
= N̄TC N̄C N̄TC xd,C − N̄PC p̄P (12) cost, the pseudoinverse of N̄C can be calculated offline, stored in
a computer’s memory and then implemented online as a con-
where p̄P are the control points already determined in past itera- stant multiplier at each iteration of the recursive optimization.
tions of the same local least-squares solution. The implication of 4. Although the terms N̄PC p̄P in (12) and NPC p̄P in (13) seem to
(12) is that p̄C optimally fits the portion of xd within the current include all past control points, in reality, only the last nr control
preview window (xd,C ), while taking into consideration the contri- points of p̄P need to be considered. This arises from the fact
butions from past control points (p̄P ). The matrix N̄C has dimen- that N̄PC is empty except for the Lr × nr portion in its top right
sions LC × nC , where LC represents the number of time steps con- corner (see Fig. 2), where
sidered in the current preview window, and nC is the associated L 
H
number of control points. The preview windows are overlapped to Lr = LH + mL; nr = +m (15)
facilitate continuity. This is achieved by using only nup of the nC L
control points calculated from (12) to update the control input for and indicates a rounding-up operation to the closest integer.
the next Lnup time steps; i.e.,
  3.2. Theoretical analysis of errors of LPFBS relative to FPFBS
ūup = ILnup 0 (NC p̄C + NPC p̄P ) (nup < nC ) (13)
where ūup represents the control inputs updated within current There are two key sources of error in the LPFBS approach rela-
window, and NC , NPC are submatrices of the unfiltered basis func- tive to the FPFBS approach, namely: (i) Truncation error (eT ): The
tion matrix, N, obtained following the same partitioning rule and error induced by determining control points using the truncated N̄
notation applied to N̄ in (11). For the next batch, N̄C and NC ad- as opposed to using N ˜ , (assuming full preview in both cases); and
vance in time by Lnup steps, while N̄P , NP , and the other subvec- (ii) Recursion error (eR ): The error induced by using N̄ to deter-
tors/submatrices associated with N̄ and N are adjusted accordingly. mine control points recursively with limited preview as opposed
This process is repeated recursively until the end of the desired to full preview. This section seeks to theoretically analyze the ef-
trajectory. Fig. 2 graphically illustrates the relationships among fects of these errors separately. The total error in LPFBS relative to
N̄ j,m , L, nC , LC , nup and Lnup within the matrix structure of N̄; note FPFBS is the sum of these two errors. The analysis provides insights
that variables Lr and nr appearing in the figure are defined in the on how to properly select parameters of LPFBS, as is illustrated nu-
remarks below. merically in Section 3.3.

Remarks.
3.2.1. Analysis of truncation error
1. Apart from its first m columns (basis functions) with varying Recall from (5) and (11) that p and p̄ are the control
support, the matrix N̄ has a uniform banded structure (see ˜ and N̄, respectively.
points determined with full preview using N

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

M. Duan et al. / Mechatronics 000 (2017) 1–10 5

Accordingly [28],
   
˜T N
N ˜ p − xd = 0; N̄T N̄p̄ − xd = 0 (16)

Let us further define perturbations p and N


˜ as
 
p̄ = p + p; ˜ + N
N̄ = N ˜ =N
˜ + H̄ − H N (17)

where H and H̄ are respectively the convolution matrices (lifted


representations) of system H(q) and its truncated approximation
(of FIR length LH ) rescaled such that the FIR approximation main-
Fig. 3. Partitioning of N̄PC and N̄CF according to past and future updates.
tains the same DC gain as H(q). Note that N ˜ does not alter the
near-diagonal terms of N ˜ , and matrices N
˜ and N̄ share the same
matrix rank. The least-squares solution is continuous with respect
It consists of errors p̄P incurred in past preview windows as well
to perturbation when the matrix rank is preserved [28]. Substitut-
as errors incurred by ignoring the contributions of future infor-
ing (17) in (16) and extracting only the first-order terms yields
mation in determining the current control points. As discussed in
 T −1 T    T −1 T
p = N
˜ N
˜ N ˜p − N
˜ xd − N ˜ N
˜ ˜ N
N ˜p (18) Section 3.1, only the first nup control points of the current pre-
view window are updated. Let p̄up,i represent the error incurred
Accordingly, the first-order approximation of the truncation error, in p̄C at update i ∈ Z+ ; it is given by
êT , is derived as
 T −1 T  T −1 T  
eˆ T = N
˜ p = N
˜ N˜ N
˜ N ˜ N
˜ e−N ˜ N
˜ ˜ N
N ˜p (19) p̄up,i = Inup 0 p̄C (25)

where e represents the tracking error in the absence of truncation Therefore, the recursion error (eR, i ) accumulated at update i is
(calculated based on p). From the definition of matrix norms and given by
singular value decomposition [28],
       
 ˜ ˜ T ˜ −1   −1   eR,i = ILnup 0 N̄PC p̄P + N̄up p̄up,i (26)
N N N  = σmin1 ,N˜ ; N˜ N˜ T N˜ N˜ T  = 1;
2  2 
     LH  (20)
N˜  ≤ H̄ − H N2 ≤ σmax,N   h̄k q−k −H (q )
where N̄up is a matrix consisting of the first nup columns of N̄C . Let
2 2 k=0  us partition the columns or rows of N̄PC , p̄P , N̄CF and ēF in terms

of past and future updates as
where σmin, N
and σ max, N are the smallest and largest singular val-  
ues of N˜ and N, respectively; {h̄k } represents the first LH elements N̄PC = 0 N̄PC,nb N̄PC,nb −1 ··· N̄PC,2 N̄PC,1
{hk } (the IIR of H(q)) rescaled such that the FIR approximation  T
maintains the same DC gain as H(q). Accordingly, we get
p̄P = · · · p̄Tup,i−nb p̄Tup,i−nb +1 · · · p̄Tup,i−1
   T T
1 N̄CF = N̄CF,1 N̄TCF,2 ··· N̄TCF,nf −1 N̄TCF,nf 0
 
eT 2 ≤ γT  e 2 +  p 2 ;  T
σmin,N ēF = ēTi+1 ēTi+2 ··· ēTi+nf −1 ēTi+nf ···

L 
  H   
nb = nr /nup ; nf = Lr /(Lnup )
γT = σmax,N  h̄k q−k − H (q ) (21) (27)
k=0 ∞
The structure of N̄PC and N̄CF described in (27) arises from the fact
Given e, p and N from FPFBS, (21) shows that ||êT ||2 can be made
they each have non-zero elements only on their top right corners,
arbitrarily small by increasing LH (which, in general, reduces γ T ).
with nr columns and Lr rows, as depicted in Fig. 3; hence only
However, notice that, for γ T = 0, having a small σmin, can am-
N small subsets of p̄P and ēF affect p̄up,i and eR , i . Note that nb
plify the influence of ||e||2 on ||êT ||2 . Small σmin,
N
typically oc- and nf indicate the number of updates needed to fully account for
curs when H(q) has NMP zeros, and n = E (i.e. L = 1) such that the contributions of the non-zero portions of N̄PC and N̄CF , respec-
the small singular values within H are passed to N ˜ [29]. The influ-
tively. Based on (24)–(27), p̄up,i and eR , i have discrete update
ences of LH and small σmin, N
on  e T are examined numerically in dynamics in i given by:
Section 3.3.

nb

nf
3.2.2. Analysis of recursion error p̄up,i = Ar p̄up,i−r + Br ēi+r
Based on (11), we can write r=1 r=1
 
N̄T N̄p̄ − xd = 0 ⇔ 
nb

⎡ ⎤⎛⎡ ⎤⎡ ⎤ ⎡ ⎤⎞ eR,i = Cr p̄up,i−r (28)


N̄TP N̄TPC 0 N̄P 0 0 p̄P x d,P r=0
⎢ ⎥⎜⎢ ⎥⎣ ⎦ ⎣ ⎦⎟
⎣0 N̄TC N̄TCF ⎦⎝⎣N̄PC N̄C 0 ⎦ p̄C − xd,C ⎠ = 0 where
0 0 N̄TF 0 N̄CF N̄F p̄F x d,F   −1
Ar = − Inup 0 N̄TC N̄C N̄TC N̄PC,r ; ( r = 1, 2, . . . , nb )
(22)
  −1
The exact solution of p̄C from (22) is given by Br = Inup 0 N̄TC N̄C N̄TCF,r ; ( r = 1, 2, . . . , nf )
 −1    −1 
p̄C = N̄TC N̄C T
N̄C xd,C − N̄PC p̄P + N̄TC N̄C N̄TCF ēF (23) 
ILnup 0 N̄up ; (r = 0 )
Accordingly, the control-point error (p̄C ) incurred in the current Cr =   (29)
ILnup 0 N̄PC,r ; (r = 1, 2, . . . , nb )
preview window by using the approximate solution in (12) is given
by
 −1  −1 Notice that a necessary and sufficient condition for eR to be
p̄C = − N̄TC N̄C N̄TC N̄PC p̄P + N̄TC N̄C N̄TCF ēF (24) bounded as i progresses is that the eigenvalues of matrix MA in

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

6 M. Duan et al. / Mechatronics 000 (2017) 1–10

Fig. 5. Comparison of tracking performance of FPFBS (with no truncation) to LPFBS


for various preview window lengths, LC.

Fig. 4. Comparison of tracking performance of the FPFBS method without trunca-


tion to the tracking performance of the FPFBS method with various levels of trun-
cation (LH values) for: (a) extreme case where L = 1 (n = E), and (b) more-realistic
case where L = 100 (n = E/100).

(30) lie within the unit circle [30].


⎡ ⎤
0
⎡p̄ ⎤ ⎡ p̄ ⎤
up,i−nb +1 up,i−nb ⎢ .. ⎥
⎢ ⎥
⎢p̄up,i−nb +2 ⎥ ⎢p̄up,i−nb +1 ⎥ ⎢ . ⎥
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎢ ⎥ ⎢ ⎥ ⎢ .. ⎥
⎢ .. ⎥ = MA ⎢ .. ⎥+⎢ . ⎥
⎢ . ⎥ ⎢ . ⎥ ⎢ ⎥ Fig. 6. Comparison of stable and unstable cases of LPFBS via (a) eigenvalues of MA ,
⎢ ⎥ ⎢ ⎥ ⎢ ⎥
⎣ p̄up,i−1 ⎦ ⎣ p̄up,i−2 ⎦ ⎢ 0 ⎥ and (b) tracking error plots.
⎢ nf ⎥
p̄ p̄ ⎣ ⎦
up,i up,i−1 Br ēi+r
across all the a values investigated). Fig. 4(a) illustrates the ex-
r=1
⎡ ⎤ treme case where L = 1 (n = E), while Fig. 4(b) shows a more-
0 Inup 0 ··· 0 typical case where L = 100 (i.e., n = E/100). Notice that, for both
⎢ ⎥
⎢ .. .. .. .. ⎥ cases, eRMS is fairly consistent across all values of a. This confirms
⎢ 0 . . . . ⎥ the versatility of the FPFBS (and other full-preview FBF approaches

 ⎢

MA = ⎢ .. .. .. ⎥ (30) – using other basis functions) in tracking MP and NMP systems,
⎢ . . . Inup 0 ⎥ ⎥ as also observed in [20,22]. Note that the slight improvement of
⎢ ⎥ eRMS around a = 0.5 (relative to other values of a) stems from the
⎣ 0 ··· 0 0 Inup ⎦
fact that H(q) → 1 (unity gain) as a → 0.5, hence making tracking
Anb Anb −1 ··· A2 A1 control notably easy. With the truncated FPFBS, we see in both
cases that, as expected, eT,RMS approaches zero as LH increases.
3.3. Numerical analysis One also observes that, even with truncation-induced errors, the
FPFBS method largely retains the versatility of its tracking perfor-
In this section, the LPFBS method is numerically analyzed rela- mance for various values of a. Notice, however, from Fig. 4(a), that
tive to the FPFBS method using the first order discrete-time system eT,RMS increases significantly for NMP systems relative to MP sys-
studied in [4,20]; it is given by tems. This is caused by the presence of small σmin, N
in NMP sys-
tems when n = E, which amplifies truncation errors, as discussed in
q−a 1−b
H (q ) = K ;K = ( a = 1 ) (31) Section 3.2.1. However, in the more-typical situation where n  E,
q−b 1−a
as in Fig. 4(b), this problem is alleviated. Notice also that there
where K, a and b = 0.5 are the gain, zero and pole of the system, is a slight increase in eT,RMS around a = 1. This stems from the
respectively. To investigate the versatility in tracking performance fact that the scalar multiplier K of H(q) in (31) grows drastically
of the LPFBS method, simulations are performed with a ∈ [−1.2, as a → 1 thus amplifying truncation errors; since, as explained in
1.2], excluding a = 1 for which H(q) is undefined. Notice that the Section 3.2.1, the FIR approximation of length LH is re-scaled to
selected range of a accounts for MP systems, as well as hyperbolic maintain the same DC gain as H(q).
and non-hyperbolic NMP systems. Gain K is defined such that the Fig. 5 compares the RMS tracking errors of the FPFBS method
DC gain of the system is unity (hss = 1), and the sampling time is (i.e., eRMS ) to those of the LPFBS method (i.e., ē = e + eT + eR ),
specified to be Ts = 10−4 s. Following Ramani et al. [20], xd is de- each normalized by the RMS value of xd , for various values of a
fined as the double integral of a pseudo random binary sequence and LC , with L = 100, LH = 20 and nup = 2. It can be seen that ēRMS
acceleration signal of 1 s duration (E = 10,0 0 0), with acceleration approaches eRMS as LC is increased. Moreover, the LPFBS approach
limits = ± 104 mm/s2 . All simulations are carried out using MAT- demonstrates consistent tracking performance (much like FPFBS)
LAB 8® on a Windows PC with Intel Core i5-2400 CPU and 8 GB as a is varied. However, as discussed in Section 3.2.2, care must be
RAM; B-spline degree m = 5 is used in all simulations. taken to ensure that the recursion of LPFBS is stable. Fig. 6 com-
Fig. 4 shows normalized RMS tracking errors of the FPFBS pares two cases of LPFBS – a stable case with nup = 2 and LC = 800,
method using N ˜ (i.e., eRMS ) in comparison with the normalized and an unstable case with nup = 2 and LC = 500; for both cases,
RMS truncation errors (eT,RMS ) for various LH and a values. The a = 1.2, L = 100 and LH = 20. Notice that the LC value of the un-
errors are normalized using ε max (the maximum value of eRMS stable case violates LC,min = 720, as stipulated by (14). The stabil-

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

M. Duan et al. / Mechatronics 000 (2017) 1–10 7

Table 1
Comparison of tracking performance and computational efficiency of LPFBS and FPFBS for various durations of
desired trajectory.

Duration of desired trajectory [s] 1 4 7 10 13 16 19

Normalized RMS tracking error LPFBS [‰] 0.48 0.50 0.54 0.55 0.50 0.53 0.54
FPFBS [‰] 0.46 0.46 0.49 0.50 0.47 0.49 N/A
Total computation time LPFBS [ms] 7 18 41 75 113 190 272
FPFBS [s] 0.5 3.5 9.8 23.7 206.5 1635.1 N/A
Memory usage LPFBS [KB] 57 57 57 57 57 57 57
FPFBS [MB] 9 131 397 807 1361 2060 N/A

ity situation of the two cases is predicted by the eigenvalues of


MA (Fig. 6(a)) and validated in time-domain tracking error plots
(Fig. 6(b)), where xd,RMS is the RMS value of the desired trajectory,
xd .
The tracking performance and computational efficiency of LPFBS
relative FPFBS (with no truncation) are compared in Table 1 for
increasing durations of desired trajectory xd (generated via dou-
ble integration of a ± 104 mm/s2 pseudorandom binary sequence
acceleration signal with increasing durations); in the simulations,
a = 1.2, L = 100, LH = 20 and LC = 800 are used. The normalized RMS
tracking errors of LPFBS (ēRMS /xd,RMS ) stay within 10% of that of
FPFBS (eRMS /xd,RMS ) in all cases investigated. Moreover, the to-
tal computation time of the LPFBS method stays within 1.5% of
the total duration of xd , and its memory usage stays constant at Fig. 7. (a) Commercial desktop 3D printer (HICTOP Prusa i3); (b) CAD model of
57 KB. However, the computational time and memory usage of the square block and (c) scale (CAD) model of US Capitol used for the purposes of this
study.
FPFBS method grows drastically with xd , causing the computer to
run out of memory when the duration of xd reaches 19 seconds.
This shows why the FPFBS method is unsuitable, while the LPFBS
method is suitable for online tracking control of systems with long
durations of xd , as in the 3D printing case study discussed in the
following section.

4. Application to vibration-induced error compensation of a


desktop 3D printer

Commercial desktop 3D printers are designed with light, but


flexible, structures and driven with stepper motors in order to re-
duce their cost, size and weight. Stepper motors are typically open-
loop controlled with no feedback measurements to help compen-
sate for un-modeled dynamics. As a result, parts manufactured
on such 3D printers suffer from surface waviness (aka. ringing or
ghosting) and registration errors, caused by stepper motors skip-
ping counts, due to excessive vibration triggered by the motion Fig. 8. Frequency response functions of print head relative to print platform for x-
of the print head or build platform. Such vibration-induced errors and y-axes of the 3D printer for various magnitudes of excitation input (accelera-
tion). Least-squares curve fitting is used to identify the axis-level dynamics based
not only mar the aesthetics of 3D printed parts, but often lead on the 3.0 m/s2 data.
to highly distorted and hence scrapped parts. The errors could be
mitigated via active vibration control techniques. However, such
control techniques require feedback sensors and high-sample-rate shows the measured and curve fit x- and y-axis frequency response
real-time control hardware, which are not commercially viable for functions (FRFs) of the 3D printer. The FRFs are measured by ap-
low-cost desktop 3D printers. In this section, we demonstrate the plying swept sine acceleration signals (with amplitudes ranging
effectiveness of feedforward control using LPFBS for online com- from 1.5 m/s2 to 3.0 m/s2 ) to the printer’s stepper motors (each
pensation of vibration-induced errors of such 3D printers, without having 12.5 μm stepping resolution) and measuring the relative
sacrificing productivity. acceleration of the build platform and print head using accelerom-
eters (PCB Piezotronics 393B05 and Kistler 8704B100). The reso-
4.1. Experimental set-up: commercial desktop 3D printer nance peaks of the FRFs increase with decreasing input amplitude.
The curve fit models are generated using MATLAB® ’s invfreqs func-
Fig. 7 shows a commercially available desktop 3D printer tion applied to the 3.0 m/s2 data, in order to better compensate
(HICTOP Prusa i3) and two sample parts used in this paper to for vibrations induced by more aggressive motions. The resulting
demonstrate the compensation of vibration-induced errors based transfer function are given in continuous-time and discrete-time
on the LPFBS method. The motion of the printer’s build platform domains (via zero order hold equivalency, Ts = 1 ms) as
is along the x-axis, while its print head moves along the y- and
z-axes. All three axes of the printer are controlled by stepper mo- 5.19 × 104 s3 + 6.45 × 106 s2 +2.60 × 109 s+8.58 × 1010
tors, but the focus of this study is on controlling its x- and y-axis s5 + 118s4 + 9.97 × 104 s3 +7.33 × 106 s2 +2.35 × 109 s+8.58 × 1010
motions which generate significant vibration, due to the printer’s 0.026q4 − 0.048q3 − 0.003q2 + 0.048q − 0.023
flexible structure, as its print head and build platform move. Fig. 8 ⇒ 5 (32)
q − 4.792q4 + 9.274q3 − 9.060q2 + 4.466q − 0.889

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

8 M. Duan et al. / Mechatronics 000 (2017) 1–10

Fig. 9. Comparison of photographs and measured surface profiles (h) of the highlighted surfaces of blocks printed using (a) baseline approach (no vibration compensation)
and (b) LPFBS method (both with acceleration limit of 7 m/s2 ). Vibration-induced surface waviness of baseline case is greatly attenuated using LPFBS.

for the x-axis, and

5.28 × 104 s4 + 4.97 × 106 s3 +5.73 × 109 s2 +2.87 × 1011 s+1.07 × 1014
s6 + 166s5 + 1.83 × 105 s4 + 1.64 × 107 s3 +8.70 × 109 s2 +3.37 × 1011 s+1.07 × 1014
0.026q5 − 0.073q4 + 0.047q3 + 0.045q2 − 0.068q + 0.023
⇒ (33)
q6 − 5.672q5 + 13.56q4 − 17.48q3 + 12.83q2 − 5.076q + 0.8473

for the y-axis. Unity DC gain is enforced in the identified trans-


fer functions to accurately represent the DC response of stepper
motors. Notice that the discrete-time transfer functions for the x
axis is non-hyperbolic (with a zero at q = –1.0 0 0); most advanced
tracking control methods cannot handle non-hyperbolic systems
[20]. Moreover, the y axis has a poorly damped zero (at q =
–0.976, very close to the unit circle) which also poses a challenge
for model-inversion-based tracking controllers [1,5]. Fig. 10. Surface roughness of 3D printed blocks comparing x- and y-axes commands
To identify the FRFs and implement the LPFBS method, the generated using baseline (no vibration compensation) and LPFBS methods for dif-
ferent acceleration limits (total printing time).
printer’s proprietary motion controller is bypassed. Instead, axis-
level motion (i.e., step and direction) commands are sent to the
printer’s stepper motors at 1 kHz sampling rate using a real-time
This result is attributed to modeling errors between the fit and
controller (dSPACE DS1007 and DS5203) via stepper motor drives
measured FRFs, which are particularly large at lower levels of ac-
(Pololu DRV8825). The real-time controller reads a G-code file
celeration (as shown Fig. 8). From a practical standpoint, however,
(generated using CuraTM software package) and parses the G-code
the slight loss of performance at 1 m/s2 pales in comparison with
information into axis-level motion commands, emulating motion
the large gains in precision at higher acceleration levels, especially
command generators of 3D printers. The motion commands are
considering that higher acceleration levels are preferable because
then optimized using the LPFBS method following the procedure
they reduce printing time.
outlined in Section 3.

4.2. Case study I: mitigation of surface waviness of 3D printed part 4.3. Case study II: mitigation of registration errors in 3D printed part

The square block model shown in Fig. 7(b) is printed using The scale model of the US Capitol, shown in Fig. 7(c), is
the 3D printer of Fig. 7(a) with different acceleration limits im- printed to demonstrate the common problem of vibration-induced
posed on the motion commands (while maintaining the feedrate registration errors in 3D printed parts, and the ability of the
at 60 mm/s for all cases). For each case, the part is printed us- LPFBS method to mitigate them. The part is printed using the
ing the uncompensated motion commands (as the baseline ap- baseline approach (no vibration compensation) and the LPFBS
proach), as well as the motion commands compensated through method (using the same set of parameters as used in Case study
feedforward control via the LPFBS method with nup = 28, nC = 56, I), with different acceleration limits, while keeping the feedrate at
LC = 952, LH = 384, m = 5 and L = 17. It can be verified that the se- 60 mm/s. As shown in Table 2, registration errors occur with the
lected preview horizon satisfies the minimum horizon condition in baseline case as the acceleration limit is increased above 3 m/s2 ,
(14) and the eigenvalues of corresponding MA lie within the unit causing severe distortion of the printed parts. However, the parts
circle. The LPFBS parameters are chosen such that acceptable track- printed using the LPFBS method do not exhibit such registration
ing performance is achieved without overly increasing the compu- errors. As a result, the LPFBS method enables quality prints at
tational cost. Fig. 9(a) and (b) show the blocks printed using the much shorter printing times compared to the baseline case.
two methods (both using acceleration limit of 7 m/s2 ), and the To explain the reason for the registration errors, Fig. 11 com-
3D surface profile, h, of the highlighted surfaces, measured using pares the measured x-axis acceleration between print head and
a laser displacement sensor (Keyence LK G-10). Notice that the build platform for the baseline approach and LPFBS method (both
vibration-induced surface waviness of the baseline case is signif- with 7 m/s2 acceleration limit). Notice that, even though the ac-
icantly reduced by the LPFBS method. Fig. 10 compares the surface celeration of the motion command is limited to 7 m/s2 (excepts
roughness (RMS h values) of blocks printed using different accel- for a few spikes here and there due to short distance travels), the
eration limits. Observe that the surface quality of the baseline ap- actual acceleration of the baseline case turns out to be more than
proach deteriorates significantly at higher acceleration limits com- double this limit, because the build platform’s motion heavily ex-
pared to that of the LPFBS method, which stays relatively consis- cites the resonance modes of the machine. The excessive vibra-
tent for all acceleration limits investigated. Note that the baseline tion (i.e., acceleration) causes inertial loads that exceed the holding
approach achieves slightly better surface roughness than the com- torque of the motors, hence they skip counts and lose track of their
pensated case when the lowest acceleration limit of 1 m/s2 is used. position. On the other hand, the LPFBS method compensates the

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

M. Duan et al. / Mechatronics 000 (2017) 1–10 9

Table 2
3D printed models of US Capitol using different acceleration limits (which influences total printing time). The LPFBS method eliminates the
registration errors observed in the baseline case at higher acceleration limits; the feedrate is 60 mm/s for all cases.

line feedforward compensation of vibration-induced errors of a


commercial stepper-motor-driven desktop 3D printer. Compared to
baseline cases without feedforward compensation, the proposed
LPFBS method is shown to significantly reduce surface waviness
and eliminate registration errors of 3D printed parts, thus allowing
the production of high quality parts at higher speed (i.e., shorter
manufacturing time). Future work will seek to extend the LPFBS
approach to time-varying linear systems, which are common in
practice, e.g., as 3D printer dynamics change with build height;
constraint handling and robustness to variations in plant dynam-
ics will also be investigated.

Acknowledgments

The authors would thank Mr. Yifan Ding for his preliminary in-
vestigation into the LPFBS method, and Mr. Andrew Edoimioya for
his assistance in setting up the 3D printer used for experiments.
Fig. 11. (a) Acceleration profile of x-axis reference command. (b) On-machine
measurement of x-axis acceleration. Dashed lines indicate the acceleration limit References
(7 m/s2 ) imposed.
[1] Tomizuka M. Zero phase error tracking algorithm for digital control. J Dyn Syst
Meas Control 1987;109:65. doi:10.1115/1.3143822.
vibration and maintains actual acceleration levels that are closer [2] Astram KF, Wittenmark B. Computer controlled systems: theory and design.
Prentice Hall; 1984.
to the desired limit, hence avoiding the registration errors.
[3] Miu DK. Mechatronics: electromechanics and contromechanics. Springer Sci-
ence & Business Media; 2012.
5. Conclusion and future work [4] Butterworth JA, Pao LY, Abramovitch DY. Analysis and comparison of three
discrete-time feedforward model-inverse control techniques for nonminimum-
phase systems. Mechatronics 2012;22:577–87. doi:10.1016/j.mechatronics.2011.
A limited-preview filtered B-spline (LPFBS) approach is pro- 12.006.
posed to minimize errors in tracking long-duration desired tra- [5] Torfs D, De Schutter J, Swevers J. Extended bandwidth zero phase error
tracking control of nonminimal phase systems. J Dyn Syst Meas Control
jectories which may or may not be entirely known a priori. The 1992;114:347. doi:10.1115/1.2897354.
feedforward control input to a stable linear system is decomposed [6] Gross E, Tomizuka M. Experimental flexible beam tip tracking control with a
into B-spline basis functions and is locally optimized within pre- truncated series approximation to uncancelable inverse dynamics. IEEE Trans
Control Syst Technol 1994;2:382–91. doi:10.1109/87.338659.
defined preview horizons (windows) by exploiting the local prop- [7] Devasia S, Chen D, Paden B. Nonlinear inversion-based output tracking. IEEE
erty of B-splines. Compared to the traditional full-preview filtered Trans Autom Contr 1996;41:930–42. doi:10.1109/9.508898.
B-spline (FPFBS) approach, the proposed LPFBS approach has sig- [8] Hunt LR, Meyer G, Su R. Noncausal inverses for linear systems. IEEE Trans Au-
tom Contr 1996;41:608–11. doi:10.1109/9.489285.
nificantly lower computational cost and can thus be implemented
[9] Zou Q, Devasia S. Preview-based stable-inversion for output tracking of linear
online, even when the entire desired trajectory is unknown. It systems. J Dyn Syst Meas Control 1999;121:625. doi:10.1115/1.2802526.
is shown analytically and numerically that the parameters of the [10] Marconi L, Marro G, Melchiorri C. A solution technique for almost perfect
tracking of non-minimum-phase, discrete-time linear systems. Int J Control
LPFBS method can be selected to keep its tracking performance
2001;74:496–506. doi:10.1080/00207170010014557.
degradation relative to FPFBS bounded and arbitrarily small. The [11] Benosman M, Le Vey G. Stable inversion of SISO nonminimum phase linear
LPFBS method is also shown, numerically, to preserve the versa- systems through output planning: an experimental application to the one-link
tility of the FPFBS method in tracking arbitrary desired trajecto- flexible manipulator. IEEE Trans Control Syst Technol 2003;11:588–97. doi:10.
1109/TCST.2003.813372.
ries applied to minimum and non-minimum phase systems. The [12] Trautt TA, Bayo E. Inverse dyamics of non-minimum phase systems with
practical benefits of the LPFBS method are demonstrated via on- non-zero initial conditions. Dyn Control 1997;7:49–71.

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
JID: MECH
ARTICLE IN PRESS [m5G;September 28, 2017;19:53]

10 M. Duan et al. / Mechatronics 000 (2017) 1–10

[13] Rigney BP, Pao LY, Lawrence DA. Nonminimum phase dynamic inversion for [27] Piegl L, Tiller W. The NURBS book. Berlin, Heidelberg: Springer; 1995. doi:10.
settle time applications. IEEE Trans Control Syst Technol 20 09;17:989–10 05. 1007/978- 3- 642- 97385- 7.
doi:10.1109/TCST.20 08.20 02035. [28] Björck Å. Numerical methods for least squares problems. Society for Industrial
[14] Wen JT, Potsaid B. An experimental study of a high performance motion con- and Applied Mathematics; 1996. doi:10.1137/1.9781611971484.
trol system. In: Proceedings of 2004 American control Conference, 6; 2004. [29] Owens DH, Chu B. Modelling of non-minimum phase effects in discrete-time
p. 5158–63. norm optimal iterative learning control. Int J Control 2009;83:2012–27. doi:10.
[15] Wang H, Kim K, Zou Q. B-spline-decomposition-based output tracking with 1080/00207179.2010.501458.
preview for nonminimum-phase linear systems. Automatica 2013;49:1295– [30] Ogata K. Discrete-time control systems, 2. Englewood Cliffs, NJ: Prentice Hall;
303. doi:10.1016/j.automatica.2013.01.044. 1995.
[16] Jetto L, Orsini V, Romagnoli R. Spline based pseudo-inversion of sampled data
non-minimum phase systems for an almost exact output tracking. Asian J Con- Molong Duan received his B.S. degree from Peking University, Beijing, China, and
trol 2015;17:1866–79. doi:10.1002/asjc.1079. his M.S.E. degree from the University of Michigan (U-M), Ann Arbor, in 2012 and
[17] Jetto L, Orsini V, Romagnoli R. Accurate output tracking for nonmini- 2013, respectively. He is currently pursuing a Ph.D. degree in Mechanical Engineer-
mum phase nonhyperbolic and near nonhyperbolic systems. Eur J Control ing at U-M. His research interests are control of hybrid and redundantly actuated
2014;20:292–300. doi:10.1016/j.ejcon.2014.09.001. systems, sustainable manufacturing, and intelligent motion command generation.
[18] Kwon D-S, Book WJ. A time-domain inverse dynamic tracking control of a Mr. Duan was granted the Rackham Centennial Fellowship from U-M in 2013. He re-
single-link flexible manipulator. J Dyn Syst Meas Control 1994;116:193–200. ceived the best poster award at the 2014 International Forum on Sustainable Man-
doi:10.1115/1.2899210. ufacturing and the best student paper award at the 2015 Dynamic Systems and
[19] Suh S-H, Kang S-K, Chung D-H, Stroud I. Theory and design of CNC systems. Controls Conference.
London: Springer; 2008. doi:10.1007/978- 1- 84800- 336- 1.
[20] Ramani KS, Duan M, Okwudire CE, Ulsoy AG. Tracking control of linear time- Deokkyun Yoon received the B.S. and M.S. degrees in 2009 and 2010 and is work-
invariant nonminimum phase systems using filtered basis functions. J Dyn Syst ing toward the Ph.D. degree, all in mechanical engineering from the University of
Meas Control 2017;139:11001. doi:10.1115/1.4034367. Michigan. Prior to returning to continue working toward the Ph.D. degree, he was
[21] Frueh JA, Phan MQ. Linear quadratic optimal learning control (LQL). Int J Con- with Korea Institute of Machinery and Materials as a research staff member from
trol 20 0 0;73:832–9. doi:10.1080/0 0207170 0405815. 2010 to 2013. His research interests include mechatronics system design for im-
[22] Duan M, Ramani KS, Okwudire CE. Tracking control of non-minimum phase proved precision, throughput, and power efficiency, applied to advanced manufac-
systems using filtered basis functions: a NURBS-based approach. In: Pro- turing processes.
ceedings of ASME 2015 dynamic systems and control conference; 2015.
V0 01T03A0 06, doi: 10.1115/DSCC2015-9859.
Chinedum E. Okwudire received his Ph.D. degree in Mechanical Engineering from
[23] Lunenburg JJM. Technical report. Inversion-based MIMO feedforward design
the University of British Columbia in 2009 and joined the Mechanical Engineering
beyond rigid body systems. Eindhoven University of Technology; 2010.
faculty at the University of Michigan in 2011. Prior to joining Michigan, he was the
[24] Ronde M, van den Bulk J, van de Molengraft R, Steinbuch M. Feedforward
mechatronic systems optimization team leader at DTL (Mori Seiki, Ltd.) based in
for flexible systems with time-varying performance locations. In: Proceedings
Davis, CA. His expertise lies in smart and sustainable automation, where he lever-
of 2013 American control conference. IEEE; 2013. p. 6033–8. doi:10.1109/ACC.
ages the fundamental engineering disciplines of machine design, structural dynam-
2013.6580783.
ics, and control theory to tackle challenging problems in precision, throughput, and
[25] Okwudire C, Ramani K, Duan M. A trajectory optimization method for im-
energy-efficiency faced by the manufacturing and vehicle automation industries.
proved tracking of motion commands using CNC machines that experience un-
His scholarly and teaching contributions have been recognized by several awards
wanted vibration. CIRP Ann – Manuf Technol 2016;65:373–6. doi:10.1016/j.cirp.
that include the International Symposium on Flexible Automation Young Investi-
2016.04.100.
gator Award; the Society of Manufacturing Engineers Outstanding Young Manufac-
[26] Ramani KS, Okwudire CE. A comparison of two methods for energy efficient
turing Engineer Award; the SAE International Ralph Teetor Educational Award; the
tracking control using filtered basis functions. In: Proceedings of international
National Science Foundation CAREER award; and a number of best paper awards.
symposium flexible automation (ISFA). IEEE; 2016. p. 477–82.

Please cite this article as: M. Duan et al., A limited-preview filtered B-spline approach to tracking control – With application to vibration-
induced error compensation of a 3D printer, Mechatronics (2017), http://dx.doi.org/10.1016/j.mechatronics.2017.09.002
View publication stats

You might also like