Proceedings of the 19th World Congress
The International Federation of Automatic Control
Cape Town, South Africa. August 24-29, 2014
On Adaptive Measurement Inclusion Rate
In Real-Time Moving-Horizon Observers
Mazen Alamir ∗
∗
University of Grenoble, Gipsa-lab, BP 46, Domaine Universitaire,
38400 Saint Martin d’Hères, France. (
[email protected])
Abstract: This paper investigates a self adaptation mechanism regarding the rate with which
new measurements have to be incorporated in Moving-Horizon state estimation algorithms. This
investigation can be viewed as the dual of the one proposed by the author in the context of
real-time model predictive control. An illustrative example is provided in order to assess the
relevance of the proposed updating rule.
Keywords: Moving-Horizon Observers; Nonlinear Systems; On-line Optimization.
1. INTRODUCTION is that recent investigations (see [Alamir, 2008, 2013])
on the dual problem of Model Predictive Control (MPC)
Moving-Horizon Observers (MHO) are algorithms that context clearly showed the existence of time varying, con-
involve repeated on-line optimization in order to update text dependent, optimal control updating period (which
the estimated value of the state [Michalska and Mayne, is the period during which the optimizer works on the
1995, Alamir, 1999, Rao et al., 2003, Kuhl et al., 2011]. same problem before the control defined by the updated
More precisely, the estimated state is the optimal solution parameter is applied to the system).
of an optimization problem in which the cost function
accounts for the interpretation of the past measurement In this paper, it is shown that a similar formulation, sim-
(over some observation horizon) and the compatibility ilar techniques and, under certain circumstances, similar
with the presumed model of the system. Periodically, conclusions can be obtained regarding the optimal mea-
the observation horizon is shifted in order to take into surement inclusion rate problem.
account new measurements while discarding older ones.
Typically, the shifting period is taken equal to the mea- The paper is organized as follows: First, the problem is
surement acquisition period which, in the early stage of stated in section 2 by showing that monitoring the mea-
MHO development was compatible with the assumption surement inclusion rate can be viewed as a discrete-time
of instantaneous solvability of the optimization problem. output regulation problem in which the control input is
the number of iterations to be performed before new set
Amazingly enough, this feature has never been revisited of measurements is accounted for. In section 3, a gradient-
despite the recent advances in real-time implementation based heuristic is proposed to solve this problem leading
framework where the optimization is truncated before an to an updating law for the measurement inclusion rate.
optimal solution is reached. In such frameworks, the time An illustrative example is given in section 4 in order to
that is available for the optimization is tightly related to assess the efficiency of the proposed updating scheme and
the horizon shifting period. More precisely, the question is its ability to handle varying circumstances during the
the following: system’s lifetime. Finally, section 5 concludes the paper
and gives hints for further investigation.
How many iterations of the optimization al-
gorithm should be executed before the cost
2. THE MEASUREMENT INCLUSION RATE AS AN
function is updated by including new available
OUTPUT REGULATION PROBLEM
measurements?
The same question can be reformulated equivalently: Let us consider dynamical systems that are governed by
the following evolution law:
How many new measurement instances should
be acquired before the cost function is up-
dated? (During how many periods should the x(k) = X(M, x(k − M ), u(k)) (1)
optimizer work on the same unchanged prob- y(k) = h(x(k), u(k)) (2)
lem before the latter is updated to account for
the newly available measurements?) where x ∈ Rn is the state vector, M is some integer and
where the notation x(k) refers to the state at instant kτ for
To assess the relevance of the questions above, one can sim- some sampling period τ that is supposed here (without loss
ply argue that it has never been proved that the commonly of generality) equal to the measurement acquisition period.
used answer is optimal in all circumstances. Yet, there u(k) represents the sequence of some measured exogenous
is another, probably more convincing argument, which inputs such that:
978-3-902823-62-5/2014 © IFAC 552
19th IFAC World Congress
Cape Town, South Africa. August 24-29, 2014
u(k) = {u(k − M ), . . . , u(k)} (3) Observation horizon
Note that equation (1) represents a multi-step state tran- at instant tk-1 `(q)⌧
sition map that gives the value of the state vector starting
from the initial value x(k − M ) and under the input
sequence defined over the time interval [k − M, k] by u(k). Observation horizon
In the sequel, the length of the sequence of inputs u(k) is at instant tk
defined from the context so that the same notation u(k)
can be used to designate sequences of different lengths updating
provided that the last input is u(k). p(tk ) p(tk )
p⇤ (tk-1 )
updating p(tk-1 )
Observation horizon
at instant k ⌧u period
tk-1 - N⌧ tk-1 tk time
⌧
Ym (k) Fig. 2. The time structure of the updating scheme defined
by (11)-(12).
scope of the present contribution in which the cost function
X(N + q, p, u) is supposed to be given by the designer. The aim of the
forthcoming developments is to suggest a way to distribute
p the minimization of this cost function over the system
lifetime. Whether this enhances a better estimation of the
k-`-N k-` k time state or not depends on the relevance of the weighting
matrices that are used to define this cost function. ♠
Fig. 1. Schematic view showing the key notation used in
the definition of MHO. Figure 1 shows a schematic view of the situation when the
presumed value of the state at instant k − ` − N is taken as
Ideal Moving-Horizon Observers (MHO) are algorithms decision variable, denoted by p. Note that in this specific
which compute a rational estimation x̂(k) of the current case, the map F involved in (5) is given by:
state x(k) based on the last estimation popt (k − `) of some
decision variable p and the sequence of past measured x̂(k) = X(N + `, popt (k), u(k)) =: F (popt (k), u(k)) (7)
outputs Ym (k) defined by (see Figure 1):
In this framework, the time period that lasts between the
ym (k) availability of the measurement data Ym (k − `) (namely
.. (N +1)·ny instant k − `) and the delivery of the optimal value popt (k)
Ym (k) := . ∈R (4) (instant k) is equal to the so called updating period τu
ym (k − N ) given by:
More precisely, the general form of MHO-based state
estimation is given by: τu = ` · τ (8)
During this amount of time, the optimization problem
x̂(k) = F (popt (k), u(k)) (5) defined by (6) has to be solved.
opt opt
p (k) = arg min J p | Ym (k − `), u(k − `), p (k − `)
p∈P For systems that need fast updating periods, the updating
(6) time τu = `τ may not be sufficient to reach the optimal
where solution (regardless of local minima). In such situations,
the definition (6) is no more relevant. Indeed, one can only
X p(k − `) is a vector of decision variables that is gen- refer to an updating rule that involves a limited number
erally taken to be the presumed value of the state at q of iterations of some optimization subroutine S. This
the beginning of the observation horizon (at instant implicitly assumes that q iterations of the subroutine S can
k − ` − N ) or it can be the whole state trajectory as be performed during the updating period `τ . Denoting by
in the multiple-shooting version of the MHO imple- τc the time needed to perform a single iteration, it comes
mentation [Kuhl et al., 2011]. that:
j qτ k
X P ⊂ Rn is the set of admissible parameter values. ` = `(q) = int
c
+1 (9)
τ
X J(·) is the cost function that is generally decomposed where for any positive real s, int(s) stands for the integer
into an output prediction error-related term and a part of s. Based on the above discussion, in the sequel,
system’s dynamic related term with the standard ` can be viewed as a function of q for a given pair of
trade-off weighting coefficients that depend on noise measurement acquisition period τ and an optimization
covariance matrices. subroutine that defines the time τc on a specific hardware
Remark 1. At this stage, it is very important to under- facility.
line that the definition of the cost function is out of the
553
19th IFAC World Congress
Cape Town, South Africa. August 24-29, 2014
Consequently, the decision variable p can be updated only w
at updating instants (see Figure 2): J = h(p, q, w)
p+ = G p, q, w
q
tk = tk−1 + `(q(tk−1 )) · τ (10)
This leads to the following updating rules:
p
Updating
p(tk ) = S (q) p∗ (tk ) |Ym (tk−1 ), u(tk−1 ) (11) Law? J
∗
p (tk ) = X(`(tk−1 ), p(tk−1 ), u(tk−1 − N τ )) (12)
Note that the definition of p∗ (tk ) involves an `-step pre- Fig. 3. The measurement inclusion rate problem viewed
diction map. Note that p∗ (tk ) is used as an initial guess as an discrete-time output regulation problem with
for the iterations invoked in (11). dynamic state p, control input q and a regulated
output J.
Figure 2 illustrates the temporal structure of the updating
of measurements that enter (and leave) the buffer of the
laws given by (11)-(12). It shows the following features:
MHO at the next shift of the observation interval.
X The shift of the observation horizon corresponds at
instant tk to `(q(tk )) basic sampling periods leading Solving this control problem leads to an adaptive behavior
to a temporal shift of `(q(tk ))τ . of q that takes into account both the measurement buffer
and the measured behavior of the cost function during the
X The computation of p(tk ) is done during the time system lifetime. The decision variable q is called hereafter
interval [tk−1 , tk ] based on the initial guess p∗ (tk ). the Measurement Inclusion Rate as it defines the updating
time `(q)τ during which no new measurements are ac-
X Note that the updating of the state estimate can still counted for and iterations are applied to the same cost
be done at each basic sampling period using the last function.
updated value of p using the following expressions: Remark 2. Note that the computations involved in the
updating rule for q (the feedback law) must correspond to a
∀i ∈ {1, . . . , `}, (13)
negligible burden since the whole framework is supposed to
x̂(tk−1 + iτ ) = X(` + N + i, p(tk−1 ), u(tk−1 + iτ )) compensate for the lack of computation time (see section
where ` = `(q(tk−1 )). 3.2).
Now given that p∗ (tk ) is defined in terms of p(tk−1 ) and 3. UPDATING LAW FOR THE MEASUREMENT
u(tk−1 − N τ ) [see (12)] and that the latter is contained INCLUSION RATE
in u(tk−1 ), one can write the evolution equation for the
parameter vector p by combining (11)-(12) : In order to simplify the expressions, the following short
notation is used:
p(tk ) = G p(tk−1 ), q(tk−1 ), w(tk−1 ) (14)
X J(tk ) denotes the best obtained value of the cost
for a straightforward definition of G where w(tk−1 ) stands function defined on the observation horizon [tk−1 −
for the past measurement data, namely: N τ, tk−1 ] after q iterations.
n o
w(tk−1 ) := Ym (tk−1 ), u(tk−1 ) (15) X J ∗ (tk ) denotes the value of the same cost function at
the initial guess p∗ (tk ) that is computed according to
Note also that using the same notation, the value of the (12).
cost function at instant tk can be written in the following
form [according to (6)]: Obviously, one key step toward understanding the con-
vergence issue is to examine the ratio between the best
obtained values of the cost function at two successive
J p(tk )|p(tk−1 ), w(tk−1 ) (16)
updating instants tk−1 and tk , namely (see Figure 2):
and again, since p(tk ) is given by (14), the cost function
can be written in a more compact form: J(tk ) J(tk ) J ∗ (tk )
= ∗ × (18)
J(tk−1 ) J (tk ) J(tk−1 )
J = h p(tk−1 ), q(tk−1 ), w(tk−1 ) (17) | {z } | {z }
E(q,tk ) D(q,tk )
The discussion above enables to view the situation as = E(q, tk ) × D(q, tk ) =: K(q, tk ) (19)
the one in which there is a discrete-time dynamic system Note however that in order for the ratios involved in (18)
defined by (14) in which, the state is p, the control is given to be well defined, the following easy-to-meet assumption
by q and the past measurement (including the control and is needed:
the measured output) are exogenous non modeled signals Assumption 1. There is a positive c > 0 such that for
while the control objective is to steer the output J given all t and all p, one has: J(p, t) ≥ c. ♠
by (17) to its minimum value.
Note that this can be fulfilled by adding c to any original
This is obviously a control problem (see Figure 3) in which nonnegative cost function’s definition.
the control variable is defined by q which is the number
554
19th IFAC World Congress
Cape Town, South Africa. August 24-29, 2014
The terms E(q, tk ) and D(q, tk ) are similar to the terms The exact solution of the optimization problem (22) would
invoked in [Alamir, 2008, 2013] where the dual MPC prob- needs too many computations that would make the up-
lem is studied. More precisely: dating rule inappropriate (see Remark 2). Instead, an ap-
proximated gradient approach is used following the ideas
X E(q, tk ) is linked to the local efficiency of the opti- proposed in [Alamir, 2013] in the case of MPC framework.
mizer’s iterations as it represents the contraction of
the cost function due to the execution of q successive To do this, the sensitivity of K(·, tk ) w.r.t q is computed
iterations. This ratio is obviously lower or equal to 1. by computing those of E(·, tk ) and D(·, tk ) using the avail-
able algorithm data at the past updating instant. Then a
X D(q, tk ) is the ratio between the value of the cost quantized gradient step is applied to update the value of
function after horizon shift and using the model- q(tk+1 ). This is detailed in the following section.
based predicted value p∗ (tk ) that is compatible with
the last achieved value p(tk−1 ) (hot start). In the
case where p(tk−1 ) matches the true value of the 3.1 Updating Algorithm
state x(tk−1 − N τ ) then in the ideal case (no model
discrepancies and no measurement noise), the ratio Note first of all that since the past value q(tk ) ≥ 2, it
D(q, tk ) is equal to 1. Consequently, when this is is possible to compute the following approximation of the
not the case, D(q, tk ) can be viewed as a disturbance gradient of the efficiency map:
indicator which gathers all the unavoidable above
mentioned imperfections. Note also that since the ∆E J(p(q(tk )) , tk−1 ) − J(p(q(tk )−1) , tk−1 )
length of the updating period τu = `τ = int(qτc /τ )+1 (tk ) ≈ (23)
∆q J(p∗ (tk ), tk−1 )
depends on q, the disturbances induced ratio D(q, tk )
depends also on q. On the other hand, using the presumed structure (20) of
D, one can use the available algorithm’s data to compute
Based on the discussion above, the following model of the an estimation of α(tk ) which is nothing but the gradient
disturbance ratio is used in the sequel: of D w.r.t q, that is:
D(q, tk ) = 1 + α(tk ) · q (20) ∆D 1 h J ∗ (tk ) i
(tk ) ≈ − 1 ≈ α(tk ) (24)
where α(tk ) is a parameter to be identified on-line as shown ∆q q(tk ) J(tk−1 )
later.
Now, using equations (23)-(24), the gradient of the multi-
Now, given the evolution equation: plicative gain K w.r.t q can be computed according to:
∆K ∆D ∆E
J(tk ) = K(q, tk ) · J(tk−1 ) (21) (tk ) ≈ E(tk ) (tk ) + D(tk ) (tk ) (25)
∆q ∆q ∆q
it becomes obvious that one rationale that can be used
in the derivation of the updating law for q is to force the and having this estimation of the gradient, the gradient of
multiplicative gain K to be lower than one as this enhances the cost function involved in the ideal updating rule (22)
the convergence of the cost function J and when this goal is can be computed:
achievable, q must be monitored so that the response time
of the closed-loop continuous-time system (in the sense of q ∆K(tk )
− log(K(tk )) + ×
Figure 3) is minimized. ∆ q/| log(K(tk ))| K(tk ) ∆q
≈ 2
∆q log(K(tk ))
These considerations lead to the following ideal updating
law for q: (26)
Using the above computed quantities, the following algo-
q(tk+1 ) = rithm can be used to compute the updated value q(tk+1 ):
q
if K(q(tk ), tk ) < 1
| log(K(q, tk ))| Algorithm 1 Updating rule q(tk+1 ) = U (q(tk ), tk )
arg min (22)
q∈{qmin ,...,qmax }
1: If (K(tk ) ≥ 1) then
K(q, tk ) otherwise ∆K
This is because the ratio: 2: Γ← (q(tk )) [see (23)-(24) and (25)]
∆q
q 3: Else
| log(K(q, tk ))| ∆(q/| log(K(tk ))|)
4: Γ← [see (26)]
∆q
is almost proportional (up to the int function disconti- 5: End If n o
nuity) to the response time of a discrete-time dynamics
6: q(tk+1 ) ← max qmin , min qmax , q(tk ) − δ · sign(Γ)
(21) that is characterized by the discrete pole K and the
sampling time `(q)τ where `(q) is given by (9). Note that
qmin ≥ 2 is systematically considered in order to be always
capable of estimating the gradient of the cost function In this algorithm, Γ represents the gradient of the quantity
involved in (22) w.r.t q as it is explained in the sequel. to be minimized. A quantized step (δ ∈ N) in the opposite
direction is implemented in Step 6 to update the value of
q.
555
19th IFAC World Congress
Cape Town, South Africa. August 24-29, 2014
3.2 Complexity Analysis involved in the updating rule appearing in the step 6. of
Algorithm 1 are qmin = 20 and qmax = 1000.
Based on the expressions (23)-(26), one can construct
Table 1 that shows the additional number of elementary The observation horizon is taken equal to N = 200 basic
operations that are needed to compute the updating law sampling period leading to a time window of T = 0.4 sec.
involved in Algorithm 1. By additional, it is meant that The variance of the measurement noise is taken equal to
the computation of the cost function J(tk ), J ∗ (tk−1 ) and ν = 0.03. The cost function J(p) that has been used in all
J(tk−1 )) are excluded because they are by-products of the the simulations takes the following form at instant k:
optimization process and are therefore computed regard-
less of whether an updating process is used or not. N
X
J := kŷ(k + i|p) − y(k + i)k2 + ρkp − p̂)k2
i=0
Expression Equation (±) (×) (÷) log
K (19) 2 1 where p̂ is the estimate based on the past estimation of p.
(∆E)/(∆q) (23) 1 1 The coefficient ρ = 0.01 is used in the sequel.
(∆D)/(∆q) (24) 1 2
(∆K)/(∆q) (25) 3 2 3 In the following sections, the validation scenario is clearly
Γ (26) 4 5 6 1 stated and the comparison indicators are defined.
Algorithm 1 5 5 6 1
Table 1. Elementary computations involved in 4.1 Validation Scenarios
the updating law q(tk+1 ) = U (q(tk ), tk ).
For each comparison, Ns := 50 scenarios are executed
using different values of the initial estimated state x̂0 .
Table 1 clearly shows that the computations involved in These values are randomly chosen according to:
the updating rule involves only few arithmetic operations
!
and a single logarithm computation). r1 0 0
x̂ := (0.2 × I + 1.8 0 r2 0 )x0
0
(28)
4. ILLUSTRATIVE EXAMPLE 0 0 r3
where x0 = (3, 1, 1)T is the true initial state. ri are
Let us consider the following modified van-der-pol system: uniformly distributed random variable belonging to the
interval [0, 1]. Note that (28) simply means that each com-
ẋ1 = x2 ponent x̂0i of the initial state of the observer is randomly
ẋ2 = −ax1 + (1 − ux3 x21 )x2 chosen in the interval [0.2x0i , 2x0i ]. The resulting set of
observer initial states is denoted hereafter by X̂0 .
ẋ3 = 0
The measured output is defined by: Simulations are performed during Nsim = 2000 sampling
periods (4 sec) using the following input profile:
y = x1 + ν 1
u(t) := 1 − cos(2t)
where ν is a white noise. The parameter a is a parameter 2
that can be badly known in order to enhance the uncer- Five observer settings are compared which are:
tainty feature of the model. The basic sampling (measure-
ment acquisition) period is taken equal to τ = 2 ms. (1) Setting 1. q = qmin = 20. No updating is used.
(2) Setting 2. q = qmin = 50. No updating is used.
The optimization subroutine involved in (11) is based on a (3) Setting 3. q = qmin = 100. No updating is used.
fast gradient approach [Nesterov, 1983, 2004] with restart (4) Setting 4. q = qmin = 300. No updating is used.
mechanism [O’Donoghue and Candes, 2012]. The details of (5) Setting 4. q(0) = qmin = 20. Updating is used for q
these algorithms can be found also in [Alamir, 2013]. The using the rule expressed in Algorithm 1 starting from
explicit definition of these algorithms is not mandatory the initial value q(0) = qmin = 20 and the increment
here since the proposed approach is generic and the use size δ = 10. Note that the first four settings can be
of fast gradient approach as an instantiation of S is only obtained using δ = 0 while initializing q to 20, 50, 100
a matter of choice that enables the main idea to be illus- and 300 respectively.
trated. Note that the optimization is performed assuming Note that for each of the above mentioned five settings, the
the following box constraints that are to be interpreted same 50 trials leading to the set X̂0 are used. That is, the
component-wise: trials are first done and then the 50 simulated scenarios
! ! are executed for each of the five settings leading to 250
−10 10 simulations. This avoid biased comparison that may be
−10 ≤ x ≤ 10 (27) due to different trials for each setting.
0.1 40
4.2 Performance indicator
The computation time τc needed to perform a single itera-
tion of the subroutine S [see (9)] is given by τc = 500 µsec As mentioned in Remark 1, we are interested in the
The minimum and the maximum number of iterations behavior of the cost function. That is the reason why
556
19th IFAC World Congress
Cape Town, South Africa. August 24-29, 2014
the characteristics (mean and variance) of the following
quantities are monitored: q = 20 (no updating)
Jˆ(s) (k|x̂0 ) for k = 1, . . . , Nsim − N and x̂0 ∈ X̂0 q = 100 (no updating)
(s)
where Jˆ(s) (k|x̂0 ) is the cost function at instant k for the
q updated on-line
Circle radius = 2
scenario starting at x̂0 ∈ X̂0 and using the setting number
s.
More precisely, for easiness of comparison, the following
quantities are considered for all setting index s:
q = 50 (no updating)
h J (s) (k|x̂0 ) − J (1) (k|x̂0 ) i
(s)
m := Meank,x̂0 (29) q = 300 (no updating)
J (1) (k|x̂0 )
h J (s) (k|x̂0 ) − J (1) (k|x̂0 ) i
σ (s) := Vark,x̂0 (30)
J (1) (k|x̂0 )
where the mean and the variance invoked in (29) and (30) (a)
are taken on the set of values of (k, x̂0 ) given by: q = 20 (no updating)
n o
1, . . . , Nsim − N × X̂0 q updated on-line
(s)
Two scenarios are used to assess the relevance of the
q = 100 (no updating)
Circle radius = 2
updating rule. In the first the parameter a = 10 is perfectly
known by the observer while in the second scenario, the
observer uses an erroneous value â = 7. Figure 4 shows the
corresponding performance of the different observers using
circles that are centered at m(s) , s = 1, . . . , 5 and with
radius that are equal to twice the corresponding variance
σ (s) . In the first case, an optimal updating period seems q = 50 (no updating)
to be close to q = 100 (see Figure 4.a). However, when q = 300 (no updating)
model uncertainties increase (as in the second scenario),
the optimal updating period becomes the minimum value
q = qmin . Note that in both cases, the performance of the
updated version systematically spots close to the optimal (b)
performance. Note also that if the parameter a changes
during the scenario, then, the observer with the proposed Fig. 4. Comparison of the performance of the observer
updating scheme would likely be better that any observer under different constant number of iterations q ∈
with constant updating period. {20, 50, 100, 300} on one side and under the proposed
updating scheme that start at q(0) = 20. (a) Case
5. CONCLUSION AND FUTURE WORK where the observer knows the exact value of the
parameter a = 10. (b) Case where the observer uses
In this paper, a novel updating rule for the measurement an erroneous value â = 7 instead of a = 10. The radius
inclusion rate in MHO is proposed and validated through of each circle is equal to twice the corresponding
a simple example. The proposed rule enables near optimal variance.
performance to be achieved in presence of unavoidable, P. Kuhl, M. Diehl, T. Kraus, J. P. Schloder, and H. G.
unpredictable model discrepancies and without off-line Bock. A real-time algorithm for moving horizon state
extended tuning. Current investigation focuses on the and parameter estimation. Computers and Chemical
validation of the proposed methodology on real-world Engineering, 35(1):71–83, 2011.
estimation problems. H. Michalska and D. Q. Mayne. Moving-horizon observers
and observer-based control. IEEE Transactions on
REFERENCES Automatic Control, 40:995–1006, 1995.
Y. Nesterov. A method of solving a convex programming
M. Alamir. Optimization based nonlinear observers re- problem with convergence rate o (1/k2). Soviet Mathe-
visited. International Journal of Control, 72 (13):1204– matics Doklady, 27(2):372–376, 1983.
1217, 1999. Y. Nesterov. Introductory lectures in convex optimization:
M. Alamir. A Framework for Monitoring Control Updating a basic course. Kluwer Academic Publishers, 2004.
Period in Real-Time NMPC, chapter In Assessement B. O’Donoghue and A. Candes. Adaptive restart for
and Future Directions in Nonlinear Model Predictive accelerated gradient schemes. arxiv:1204.3982. April
Control. Lecture Notes in Control and Information 2012.
Sciences, Springer-Verlag„ 2008. C. V. Rao, J. B. Rawlings, and D. Q. Mayne. State Con-
M. Alamir. Monitoring control updating period in fast strained Estimation for Nonlinear Discrete-Time Sys-
gradient-based NMPC. In Proceedings of the European tems: Stability and Moving Horizon Approximations.
Control Conference (ECC2013), Zurich, Switzerland, IEEE Transactions on Automatic Control, 48(2), 2003.
2013.
557