This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Preview Reference Governors:
A Constraint Management Technique
for Systems With Preview Information

Yudan Liu [email protected] Hamid. R. Ossareh [email protected] Department of Electrical and Biomedical Engineering, University of Vermont, Burlington, VT, USA, 05405
Abstract

This paper presents a constraint management strategy based on Scalar Reference Governors (SRG) to enforce output, state, and control constraints while taking into account the preview information of the reference and/or disturbances signals. The strategy, referred to as the Preview Reference Governor (PRG), can outperform SRG while maintaining the highly-attractive computational benefits of SRG. However, as it is shown, the performance of PRG may suffer if large preview horizons are used. An extension of PRG, referred to as Multi-horizon PRG, is proposed to remedy this issue. Quantitative comparisons between SRG, PRG, and Multi-horizon PRG on a one-link robot arm example are presented to illustrate their performance and computation time. Furthermore, extensions of PRG are presented to handle systems with disturbance preview and multi-input systems. The robustness of PRG to parametric uncertainties and inaccurate preview information is also explored.

Abstract

This paper presents a constraint management strategy based on Scalar Reference Governors (SRG) to enforce output, state, and control constraints while taking into account the preview information of the reference and/or disturbances signals. The strategy, referred to as the Preview Reference Governor (PRG), can outperform SRG while maintaining the highly-attractive computational benefits of SRG. However, as it is shown, the performance of PRG may suffer if large preview horizons are used. An extension of PRG, referred to as Multi-horizon PRG, is proposed to remedy this issue. Quantitative comparisons between SRG, PRG, and Multi-horizon PRG on a one-link arm robot example are presented to illustrate their performance and computation time. The robustness of PRG to disturbance previews, parametric uncertainties, and inaccurate preview information is also explored.

keywords:
Constraints management , Reference governors , Preview control , Predictive control
footnotetext: Funding for this work was generously provided by Ford under the URP Award 2016-8004R, and NASA under grant 80NSSC20M0213.

1 INTRODUCTION

Preview control has been a subject of study in the field of control theory for many decades. The main idea behind preview control is to incorporate known or estimated information on the future values of the disturbances or references (i.e., “preview” information) in the computation of the current control command. Such preview may be computed from models or may be available from measurements. For example, in a wind turbine control application, preview information on wind velocity may be available from measurements taken elsewhere in the wind farm. Incorporating this information in the calculation of the control command can result in improved system performance [13].

Common methods for preview control are HH_{\infty} preview control [22], LQR preview control [6], and mixed H2H_{2}-HH_{\infty} method, just to mention a few (see [2] for a comprehensive review). These methods, however, are not able to enforce pointwise-in-time state and control constraints, which is important to ensure safe and efficient system operation. A preview control method that can, in fact, enforce these constraints is Model Predictive Control (MPC) [1, 18, 3], which is an optimization-based method that can naturally incorporate preview information in the cost function [12]. Some applications of preview-MPC can be found in active suspension [11], swing leg trajectories of biped walking robots [21], and wind turbines [13]. Since MPC is computationally demanding, its applicability has been limited to systems with slow or low-order dynamics, or systems controlled by fast processors [5]. A relatively new constraint management strategy, which alleviates the above computational challenges of MPC, is the Reference Governor, also referred to as the Scalar Reference Governor (SRG) [10, 7, 14, 16, 8, 19]. It is an add-on mechanism that enforces pointwise-in-time state and control constraints by governing, whenever is required, the reference signal of a pre-stabilized closed-loop system (see Figure 1). However, standard SRG uses only the value of the reference signal at the current time and is unable to take preview information into account. This paper fills this gap and presents a novel reference governor-based solution, referred to as the Preview Reference Governor (PRG), to enforce the constraints while incorporating the preview information of the reference and disturbance signals, which yields superior transient performance as compared to SRG.

Reference Governor Closed-Loop Plant, G(z)G(z) r(t)r(t)v(t)v(t)y(t)y(t)x(t)x(t)
Figure 1: Scalar reference governor block diagram. The signals are as follows: y(t)y(t) is the constrained output, r(t)r(t) is the reference, v(t)v(t) is the governed reference, and x(t)x(t) is the system state (measured or estimated).

To explain PRG, we first summarize the main ideas behind SRG. The SRG employs the so-called Maximal Admissible set (MAS) [9], which is defined as the set of all initial conditions and inputs that ensure constraint satisfaction for all times. This set is computed offline. In real-time, SRG computes an optimal v(t)v(t) (See Figure 1) to maintain the system state inside the MAS and, thus, enforce the constraints. This is achieved by solving, at every time step, a simple linear program, whose solution can be computed explicitly.

Now reconsider the closed-loop plant G(z)G(z) in Figure 1, but assume that the preview information of the reference signal is available. More specifically, r(t),r(t+1),,r(t+N){r(t)},{r(t+1)},\ldots,{r(t+N)}, are known to the controller at time tt, where NN is the “preview horizon”. We initially assume that G(z)G(z) has a single input (we will extend the theory to multi-input systems in Section 7). Similar to SRG, the goal of PRG is to select v(t)v(t) as close as possible to r(t)r(t) (to ensure that the tracking performance does not suffer) such that the output constraints are satisfied for all times. However, the PRG must take into consideration the preview information of r(t)r(t) in order to improve the tracking performance as compared to SRG. To achieve these goals, we first lift r(t)r(t) and v(t)v(t) from \mathbb{R} to (N+1)\mathbb{R}^{(N+1)} in order to describe them over the entire preview horizon. Next, the system GG is represented based on the lifted input, and a new MAS is calculated based on this new representation. Finally, PRG is formulated as an extension of SRG, where a new optimization problem is solved based on the new MAS and a new update law is used to compute v(t)v(t). A high-level block diagram of the PRG is shown in Figure 2, where the availability of the preview information of the reference is explicitly displayed.

As we show in this paper, PRG guarantees constraint satisfaction, recursively feasibility, and closed-loop stability. However, it may calculate conservative inputs under certain conditions, especially for long preview horizons. To overcome this issue and further improve performance, we present an extension of PRG. The extension, which we refer to as Multi-horizon PRG (abbreviated as Multi-NN PRG), is based on solving multiple PRGs with different preview horizons and optimally fusing the outputs of the PRGs.

We next consider the case where the system is affected by disturbances, whose preview information is available (in addition to the reference preview). The PRG solution for this case involves formulating a new MAS, wherein the disturbance preview appears explicitly as parameters of the MAS. To guarantee constraint satisfaction, the MAS is robustified to the worst-case realization of disturbances beyond the preview horizon.

In practice, systems are affected by uncertainties in the model as well as the preview information. Therefore, we also consider systems under parametric uncertainties and inaccurate preview information (in either reference or disturbance). We propose a “robust” PRG formulation to robustify the design against these uncertainties.

Finally, we propose two solutions to handle multi-input systems. The first solution comprises the same ideas as in PRG for single-input systems, except that we lift r(t)r(t) and v(t)v(t) from m\mathbb{R}^{m} to (N+1)m\mathbb{R}^{(N+1)m}, where mm is the number of inputs. However, as will be shown by an example, this solution might lead to a conservative response since a single optimization variable is used to govern all input channels. To overcome this shortcoming, we propose another solution, which combines the Decoupled Reference Governor scheme [15] and PRG theory. Detailed information will be explained in Section 7.

Preview RG Closed-Loop Plant, G(z)G(z) rN(t)r_{N}(t)v(t)v(t)y(t)y(t)x(t)x(t)
Figure 2: Preview Reference Governor block diagram. rN(t)r_{N}(t) represents the lifted reference over the preview horizon, i.e., rN(t)=(r(t),,r(t+N))r_{N}(t)=(r(t),\ldots,r(t+N)).

In summary, the original contributions of this work are:

  • 1.

    A novel RG-based constraint management scheme with preview capabilities, namely the PRG, which incorporates preview information of the references into the reference governor framework and is more computationally efficient than existing methods such as MPC or Command Governors (CG) [7];

  • 2.

    An extension of PRG (Multi-NN PRG) to further improve the performance of PRG;

  • 3.

    Analysis of recursively feasibility, closed-loop stability, and convergence under constant inputs.

  • 4.

    Comparison of the computational footprint and performance of these schemes.

  • 5.

    Extensions of PRG to systems with disturbance preview, parametric uncertainties, inaccurate preview information, and multi-input systems.

The following notations are used in this paper. \mathbb{Z} and +\mathbb{Z}_{+} denote the set of all integers and non-negative integers, respectively. The identity matrix with dimension p×pp\times p is denoted by IpI_{p}. The variable t+t\in\mathbb{Z}_{+} is the discrete time. For vectors xx and yy, xyx\leq y is to be interpreted component-wise. A zero matrix with dimension p×qp\times q is denoted as 0p×q0_{p\times q}.

2 Review of Maximal Admissible Sets And Scalar Reference Governors

2.1 Maximal Admissible Set (MAS)

Consider Figure 1, where GG represents the closed-loop system whose dynamics are described by:

x(t+1)\displaystyle x(t+1) =Ax(t)+Bv(t)\displaystyle=Ax(t)+Bv(t) (1)
y(t)\displaystyle y(t) =Cx(t)+Dv(t)\displaystyle=Cx(t)+Dv(t)

where x(t)nx(t)\in\mathbb{R}^{n} is the state vector, v(t)mv(t)\in\mathbb{R}^{m} is the input, and y(t)py(t)\in\mathbb{R}^{p} is the constrained output vector. Since GG represents the closed-loop system with a stabilizing controller, it is assumed that GG is asymptotically stable. Over the output, the following polyhedral constraint is imposed:

y(t)𝕐:={y:Sys}y(t)\in\mathbb{Y}:=\{y:Sy\leq s\} (2)

The MAS, denoted by OO_{\infty}, is the set of all initial states and constant control inputs that satisfy (2) for all future time steps:

O:={(x0,v0)n+m:x(0)=x0,v(t)=v0,y(t)𝕐,t+}O_{\infty}:=\{(x_{0},v_{0})\in\mathbb{R}^{n+m}:x(0)=x_{0},v(t)=v_{0},y(t)\in\mathbb{Y},\forall t\in\mathbb{Z}_{+}\} (3)

As seen in (3), to construct MAS, v(t)=vv(t)=v is held constant for all t+t\in\mathbb{Z}_{+}. Using this assumption, the evolution of the output y(t)y(t) can be expressed explicitly as a function of the initial state x(0)=x0x(0)=x_{0} and the constant input v0v_{0} as:

y(t)\displaystyle y(t) =CAtx0+C(IA)1(IAt)Bv0+Dv0.\displaystyle=CA^{t}x_{0}+C(I-A)^{-1}(I-A^{t})Bv_{0}+Dv_{0}. (4)

Therefore, the MAS in (3) can be characterized by a polytope defined by an infinite number of inequalities, i.e.,

O:={(x0,v0)n+m:Hxx0+Hvv0h}\displaystyle O_{\infty}:=\{(x_{0},v_{0})\in\mathbb{R}^{n+m}:H_{x}x_{0}+H_{v}v_{0}\leq h\} (5)

where Hx=[CAt],Hv=[C(IA)1(IAt)B+D]H_{x}=[CA^{t}],H_{v}=[C(I-A)^{-1}(I-A^{t})B+D], and h=[s,s,]h=[s^{\top},s^{\top},\ldots]^{\top}. Reference [9] shows that under mild assumptions on CC and AA, it is possible to make the set (5) finitely determined (i.e., the matrices HxH_{x}, HvH_{v} and hh are finite dimensional) by constraining the steady-state value of yy, denoted by y()y(\infty), to the interior of the constraint set, i.e.,

y():=(C(IA)1B+D)v(1ϵ)𝕐y(\infty):=(C(I-A)^{-1}B+D)v\in(1-\epsilon)\mathbb{Y} (6)

where ϵ>0\epsilon>0 is a small number. By introducing (6) in (5), there exists a finite prediction time tt^{*}, where the inequalities corresponding to all future prediction times (t>tt>t^{*}) are redundant. This yields an inner approximation of (5), denoted by O¯\bar{O}_{\infty}, which is finitely determined.

2.2 Scalar Reference Governors (SRG)

The SRG calculates v(t)v(t) based on O¯\bar{O}_{\infty} by introducing an internal state, whose dynamics are governed by:

v(t)=v(t1)+κ(r(t)v(t1)),v(t)=v(t-1)+\kappa(r(t)-v(t-1)), (7)

where κ\kappa is found by solving the following linear program (LP):

maximizeκ[0,1]\displaystyle\underset{\kappa\in[0,1]}{\text{maximize}} κ\displaystyle\mathrm{\kappa} (8)
s.t. (x(t),v(t))O¯\displaystyle(x(t),v(t))\in\bar{O}_{\infty}
v(t)=v(t1)+κ(r(t)v(t1))\displaystyle v(t)=v(t-1)+\kappa(r(t)-v(t-1))

From (7), the SRG computes an input v(t)v(t) based on the convex combination of the previous admissible input value (i.e., v(t1)v(t-1)) and the current reference r(t)r(t) in order to guarantee constraint satisfaction. Also, if the pair (x(t),v(t1))(x(t),v(t-1)) is admissible, then (x(t+1),v(t))(x(t+1),v(t)) is also admissible, implying recursively feasibility of the SRG [7].

3 Preview Reference Governors (PRG) for single-input systems

In this section, the PRG for single-input systems is introduced and analyzed. In addition, PRG is compared with SRG using a numerical example to show that it can significantly improve the closed-loop system performance while enforcing the constraints. An extension of PRG to multi-input systems will be explained in Section 7. As mentioned in the Introduction, PRG is based on lifting the reference (i.e., r(t)r(t)) and the governed reference (i.e., v(t)v(t)) from \mathbb{R} to (N+1)\mathbb{R}^{(N+1)} and representing the system using the lifted input. Based on the new representation, a modified maximal admissible set is characterized and a new formulation of reference governor is proposed, as explained in detail below.

Consider the system shown in Figure 2. Assume r(t)r(t), r(t+1)r(t+1), \ldots, r(t+N)r(t+N) are available at time tt, where r(t)r(t)\in\mathbb{R} is the current value of the setpoint and r(t+1),,r(t+N)r(t+1),\ldots,r(t+N)\in\mathbb{R} are the preview information, and N0N\geq 0 represents the preview horizon. Note that N=0N=0 corresponds to the case where no preview information is available. We now define the lifted signals rN(t)(N+1)r_{N}(t)\in\mathbb{R}^{(N+1)} (shown in Figure 2) and vN(t)(N+1)v_{N}(t)\in\mathbb{R}^{(N+1)}, as follows:

rN(t)=(r(t),,r(t+N)),vN(t)=(v(t),,v(t+N))\displaystyle r_{N}(t)=(r(t),\ldots,r(t+N)),\quad v_{N}(t)=(v(t),\ldots,v(t+N)) (9)

Using the lifted signals, G(z)G(z) can be equivalently expressed as:

x(t+1)=Ax(t)+[B00]B~vN(t),\displaystyle x(t+1)=Ax(t)+\underbrace{\begin{bmatrix}B&0&\ldots&0\end{bmatrix}}_{\widetilde{B}}v_{N}(t), (10)
y(t)=Cx(t)+[D00]D~vN(t)\displaystyle y(t)=Cx(t)+\underbrace{\begin{bmatrix}D&0&\ldots&0\end{bmatrix}}_{\widetilde{D}}v_{N}(t)

We now describe the Maximal Admissible Set (MAS) for this system. Recall from (3) that in order to characterize MAS in the SRG framework, it is assumed that v(t)v(t) is held constant for all time. This will ensure that the optimization problem (8) will always have a feasible solution, namely κ=0{\kappa=0}. In order to extend these ideas to PRG, we assume that v(t)v(t) may vary within the preview horizon, but is held constant beyond the preview horizon. Therefore, the dynamics of vN(t)v_{N}(t) are chosen to be:

vN(t+1)=A¯vN(t)\displaystyle v_{N}(t+1)=\bar{A}v_{N}(t) (11)

with initial condition vN(0)=vN0v_{N}(0)=v_{N_{0}}, where A¯\bar{A} is defined by:

A¯=[010001000\hdashline000N001\hdashline1]\bar{A}=\left[\begin{array}[]{c:c}\smash{\underbrace{\begin{matrix}0&1&\ldots&0\\ \vdots&\vdots&\ddots&\vdots\\ 0&0&\ldots&1\\ 0&0&\ldots&0\\ \hdashline 0&0&\ldots&0\\ \end{matrix}}_{N}}&\begin{matrix}0\\[0.28453pt] \vdots\\[0.28453pt] 0\\[0.28453pt] 1\\[4.2679pt] \hdashline 1\end{matrix}\end{array}\right] (12)

This choice of A¯\bar{A}, together with the definition of vN(t)v_{N}(t) in (9), enforce that for all tNt\geq N, v(t)=v(N)v(t)=v(N). With these dynamics, the new MAS is defined by:

ON:=\displaystyle O_{\infty}^{N}:= {(x0,vN0)n+(N+1):x(0)=x0,vN(0)=vN0\displaystyle\{(x_{0},v_{N_{0}})\in\mathbb{R}^{n+(N+1)}:x(0)=x_{0},v_{N}(0)=v_{N_{0}} (13)
vN(t+1)=A¯vN(t),y(t)𝕐,t+}\displaystyle v_{N}(t+1)=\bar{A}v_{N}(t),y(t)\in\mathbb{Y},\forall t\in\mathbb{Z}_{+}\}

Similar to (6), a finitely determined inner approximation of this set can be computed by tightening the steady-state constraint (to prove finite determinism, note that after NN time steps, v(t)v(t) converges to a constant, which reduces the problem to that in the standard MAS theory). In the rest of this paper, with an abuse of notation, we use ONO_{\infty}^{N} to denote the finitely determined inner approximation (instead of using O¯N\bar{O}_{\infty}^{N}).

With the new MAS defined, we are now ready to present the PRG formulation. Recall that the SRG computes v(t)v(t) using the update law in (7), where κ\kappa is obtained by solving the linear program (LP) in (8). Note from (7) that v(t)v(t)\in\mathbb{R} can be regarded as the internal state of the SRG (i.e., the SRG strategy consists of a single internal state). To extend these ideas to PRG, we introduce (N+1)(N+1) new states in the formulation, where the state update law is as follows:

vN(t)=A¯vN(t1)+κ(rN(t)A¯vN(t1))v_{N}(t)=\bar{A}v_{N}(t-1)+\kappa(r_{N}(t)-\bar{A}v_{N}(t-1)) (14)

where κ\kappa is the solution of the following linear program:

maximizeκ[0,1]\displaystyle\underset{\kappa\in[0,1]}{\text{maximize}} κ\displaystyle\mathrm{\kappa} (15)
   s.t. vN(t)=A¯vN(t1)+κ(rN(t)A¯vN(t1))\displaystyle v_{N}(t)=\bar{A}v_{N}(t-1)+\kappa(r_{N}(t)-\bar{A}v_{N}(t-1))
(x(t),vN(t))ON\displaystyle(x(t),v_{N}(t))\in O_{\infty}^{N}

An explicit algorithm, similar to the one in SRG [15], can be developed to solve this LP efficiently (see Section 5 for details). The PRG solves the above LP at every time step to compute κ\kappa, updates vN(t)v_{N}(t) using (14), and applies the first element of vN(t)v_{N}(t) to the system GG. Note that the variables in the LP in (15) at time step tt are vN(t1)v_{N}(t-1), rN(t)r_{N}(t), and x(t)x(t).

Remark 1.

When N=0N=0, PRG reduces to SRG because A¯\bar{A} turns into the scalar with value 11 in this case. Therefore, PRG is a proper extension of SRG.

Several important properties of the PRG are described in the following proposition.

Proposition 1.

The PRG formulation is recursively feasible, bounded-input and bounded-output stable (BIBO), and for a constant rr, v(t)v(t) converges.

Proof.

To show recursively feasibility, consider the update law (14). As can be seen, κ=0\kappa=0 implies that vN(t)=A¯vN(t1)v_{N}(t)=\bar{A}v_{N}(t-1), which matches the dynamic of vNv_{N} that is assumed in ONO_{\infty}^{N} (see (13)). Positive invariance of ONO_{\infty}^{N} implies that if the pair (x(t1),vN(t1))(x(t-1),v_{N}(t-1)) is admissible, then (x(t),vN(t1))(x(t),v_{N}(t-1)) is also admissible. In conclusion, κ=0\kappa=0 is always a feasible solution to the LP in (8), implying recursively feasibility of the PRG. As for BIBO stability, recall that vN(t)v_{N}(t) is the convex combination of A¯vN(t1)\bar{A}v_{N}(t-1) and the current reference rN(t)r_{N}(t). Thus, if r(t)r(t) is bounded, then so is vN(t)v_{N}(t). This, together with the asymptotic stability of GG, implies BIBO stability of the system. To prove the convergence property, assume r(t)=r,t+r(t)=r,\forall t\in\mathbb{Z}_{+}. From (14), it can be shown that every element in vN(t)v_{N}(t) is monotonic tN\forall t\geq N and bounded by rr. Thus, vN(t)v_{N}(t) must converge to a limit. Note that, since the closed-loop system GG is asymptotically stable, x(t)x(t) and y(t)y(t) would also converge. ∎

Remark 2.

Note that the definition of vNv_{N} in (9) is consistent with the delay structure in the dynamics (11)–(12). However, the definition in (9) may appear inconsistent with the update law in (14) because the delay structure vanishes when κ0{\kappa\neq 0}. We remark that this is not an error. The definition in (9) and the dynamics in (11)–(12) are only introduced to construct ONO_{\infty}^{N}. For real-time implementation, vNv_{N} should not be thought of as defined by (9), but instead should be thought of as the PRG’s internal states.

Remark 3.

For the case where the state of G(z)G(z) (i.e., x(t)x(t) shown in Figure 2) is not measured, standard Luenberger observers can be designed to estimate the state.

YYXXθ\thetaτ\taugg
Figure 3: One-link arm.

We now illustrate the PRG using a numerical simulation of a one-link arm robot, shown in Figure 3. A state-space model of the arm is given by:

[x1˙x2˙]=[0114.70][x1x2]+[03]τ,y=[10][x1x2]\displaystyle\begin{bmatrix}\dot{x_{1}}\\ \dot{x_{2}}\end{bmatrix}=\begin{bmatrix}0&1\\ -14.7&0\end{bmatrix}\begin{bmatrix}x_{1}\\ x_{2}\end{bmatrix}+\begin{bmatrix}0\\ 3\end{bmatrix}\tau,\quad y=\begin{bmatrix}1&0\end{bmatrix}\begin{bmatrix}x_{1}\\ x_{2}\end{bmatrix} (16)

where x1θx_{1}\triangleq\theta, x2θ˙x_{2}\triangleq\dot{\theta} are the states and τ\tau (i.e., external torque) is the control input. For this example, we assume that both states are measured (if not, an observer can be designed).

In order to design a controller and consequently implement the PRG, the system model (16) is first discretized at Ts=0.01sT_{s}=0.01s. Then, a state-feedback controller with a pre-compensator is applied to ensure that the output, θ\theta, tracks the desired angle, vv, perfectly, that is: τ=66.67v61.77x19.64x2.\tau=66.67v-61.77x_{1}-9.64x_{2}. This results in the closed-loop system GG shown in Figure 2. We simulate a trajectory-following maneuver, wherein we use the PRG to ensure that the output, θ\theta, remains within [45,45][-45^{\circ},45^{\circ}]. The preview horizon, NN, is chosen to be 2525 (i.e., 0.250.25 seconds). We assume that the preview information is available from the given pre-set trajectory.

The comparison between the performance of PRG and SRG is shown in Figure 4. As can be seen, v(t)v(t) given by PRG is closer to r(t)r(t) (less conservative) when t[0.3,0.5]t\in[0.3,0.5]. This is because when t=0.3t=0.3, the PRG has the future information that the reference would drop down to 0 in future 2525 time steps so that it allows a larger v(t)v(t) than SRG. For the same reason, v(t)v(t) given by PRG is less conservative when t[0.7,0.9]t\in[0.7,0.9].

Refer to caption
Figure 4: Comparison of PRG and SRG. The blue lines represent the results of SRG and the red lines refer to the results of PRG. The top plot shows the outputs and the bottom plot shows the control inputs and the setpoint.

Figure 4 shows a limitation of PRG as well. Specifically, it can be seen that when t[0.54,0.64]t\in[0.54,0.64], v(t)v(t) given by PRG can not reach r(t)=0r(t)=0, even though 0 is an admissible input. To explain the root cause of this behavior, note that when t=0.54t=0.54, the preview information available to the PRG is that r(t)r(t) drops down to 69-69^{\circ} at t=0.7t=0.7 and stays constant afterwards (the increase of r(t)r(t) back to 0 at t=0.9t=0.9 is beyond the preview horizon and unavailable to PRG). To enforce the lower constraint for t>0.7t>0.7, the PRG calculates a κ\kappa smaller than 1. However, since κ\kappa affects all elements of vN(t)v_{N}(t) (see (14)), this leads to a v(t)v(t) that is different from r(t)r(t) when t[0.54,0.64]t\in[0.54,0.64], leading to a conservative solution.

Of course, the above limitation of PRG can be addressed by decreasing the preview horizon NN. However, if NN is too short, the tracking performance of the system might not be improved significantly as compared with SRG. In order to have the superior system performance while addressing the above limitation of PRG, we provide an extension of PRG in the following section.

4 Multi-Horizon PRG (Multi-NN PRG)

To overcome the limitation of PRG described in the previous section and improve performance, this section introduces the Multi-Horizon Preview Reference Governor (Multi-NN PRG). As the name suggests, instead of having a single preview horizon, multiple preview horizons are considered. For each horizon, a MAS is characterized, and multiple PRGs are solved at each time step, one for each MAS. A technical challenge for this approach is that vN(t)v_{N}(t)’s for different preview horizons would have different dimensions and different interpretations. In addition, a practical challenge is that storing multiple MASs may lead to a significant increase in the memory requirements. Our novel solution overcomes these challenge by unifying the vNv_{N}’s so that only one MAS is required, and fusing the PRG solutions in a special way to guarantee constraint satisfaction and recursively feasibility.

To begin, consider the following set of qq preview horizons: N1<N2<<NqN_{1}<N_{2}<\ldots<N_{q}. Let ONiO_{\infty}^{N_{i}} be defined as in (13), i.e., the MAS of the lifted system with preview horizon NiN_{i}. We first show that there exists a simple relationship between ONiO_{\infty}^{N_{i}}, i=1,,q1i=1,\ldots,q-1, and ONqO_{\infty}^{N_{q}}. Recall from (13) and (9) that in order to construct ONiO_{\infty}^{N_{i}}, it is assumed that v(t)v(t) is held constant beyond the preview horizon (i.e., after t=Ni{t=N_{i}}). Similarly, to construct ONqO_{\infty}^{N_{q}}, it is assumed that v(t)v(t) is held constant after t=Nq{t=N_{q}}. Thus, ONiO_{\infty}^{N_{i}} and ONqO_{\infty}^{N_{q}} have the following relationship:

(x,vNi)ONi(x,[vNiT,vNi(Ni+1)T,,vNi(Ni+1)TNqNi terms]T)ONq(x,v_{N_{i}})\in O_{\infty}^{N_{i}}\Leftrightarrow(x,[v_{N_{i}}^{T},\underbrace{v_{N_{i}}(N_{i}+1)^{T},\ldots,v_{N_{i}}(N_{i}+1)^{T}}_{N_{q}-N_{i}\text{ terms}}]^{T})\in O_{\infty}^{N_{q}}

where \Leftrightarrow denotes the bidirectional implication and vNi(Ni+1){v_{N_{i}}(N_{i}+1)} is the last element in vNiv_{N_{i}}. Therefore, given this relationship, we only need to compute and store ONqO_{\infty}^{N_{q}}.

We now introduce the Multi-NN PRG, which solves qq PRGs at each time step, one for each NiN_{i}. All PRGs use the same MAS, namely ONqO_{\infty}^{N_{q}}, as justified above. To provide more details, recall from Section 3 that PRG contains an internal state with an update law given by (14). Similarly, we introduce an internal state, denoted here by v~(Nq+1)\widetilde{v}\in\mathbb{R}^{(N_{q}+1)}, for the Multi-NN PRG. PRG ii in the Multi-NN PRG framework assumes the update law:

v~(t)=Mi(A¯v~(t1)+κi(rNq(t)A¯v~(t1))\widetilde{v}(t)=M_{i}(\bar{A}\widetilde{v}(t-1)+\kappa_{i}(r_{N_{q}}(t)-\bar{A}\widetilde{v}(t-1)) (17)

where A¯\bar{A} is defined the same as (12) but with N=NqN=N_{q}, and rNq(t)r_{N_{q}}(t) is the lifted version of rr at time tt (defined as in (9)). The matrix MiM_{i} is introduced above to force the control inputs beyond the preview horizon NiN_{i} to be constant (this is to maintain consistency with the fact that PRG ii has a preview horizon of length NiN_{i}). The matrix MiM_{i} that achieves this is:

Mi=[I(Ni+1)0(Ni+1)×(NqNi)I~(NqNi)×(Ni+1)0(NqNi)×(NqNi)]M_{i}=\begin{bmatrix}I_{(N_{i}+1)}&0_{(N_{i}+1)\times(N_{q}-N_{i})}\\ \widetilde{I}_{(N_{q}-N_{i})\times(N_{i}+1)}&0_{(N_{q}-N_{i})\times(N_{q}-N_{i})}\end{bmatrix}

where I~(NqNi)×(Ni+1)\widetilde{I}_{(N_{q}-N_{i})\times(N_{i}+1)} is a matrix with zeros everywhere except the rightmost columns, which are given by [1,1,,1]T[1,1,\ldots,1]^{T}. In the update law (17), for PRG ii, the scalar κi\kappa_{i} is computed by solving the following LP:

maximizeκi[0,1]κi\displaystyle\underset{\kappa_{i}\in[0,1]}{\text{maximize}}\quad\mathrm{\kappa_{i}} (18)
s.t.v~(t)=Mi(A¯v~(t1)+κi(rNq(t)A¯v~(t1))\displaystyle\hskip 10.0pt\text{s.t.}\quad\widetilde{v}(t)=M_{i}(\bar{A}\widetilde{v}(t-1)+\kappa_{i}(r_{N_{q}}(t)-\bar{A}\widetilde{v}(t-1))
(x(t),v~(t))ONq\displaystyle\quad\quad\quad(x(t),\widetilde{v}(t))\in O_{\infty}^{N_{q}}

To fuse the solutions of the PRGs, the maximum value among {κi},i=1,,q\{\kappa_{i}\},i=1,\ldots,q is selected, denoted by κi\kappa_{i^{*}}. The index that corresponding to κi\kappa_{i^{*}} is denoted by ii^{*}. Then, the final update law of Multi-NN PRG is obtained by fusing the PRGs as follows:

v~(t)=Mi(A¯v~(t1)+κi(rNq(t)A¯v~(t1))\widetilde{v}(t)=M_{i^{*}}(\bar{A}\widetilde{v}(t-1)+\kappa_{i^{*}}(r_{N_{q}}(t)-\bar{A}\widetilde{v}(t-1))

This formulation maintains recursively feasibility. Indeed, suppose PRG ii^{*} is the PRG that computes κi\kappa_{i^{*}} at time step tt. Then, the same PRG can calculate a feasible solution at time t+1t+1, due to the recursively feasibility of the PRG formulation, which was proven in Proposition 1.

Note that not all PRGs in the Multi-NN PRG formulation will have feasible solutions at every time step. If a feasible solution to these PRGs does not exist, κi\kappa_{i}’s for these PRGs are set to be 0. Note also that even though multiple preview horizons are considered in Multi-NN PRG, only ONqO_{\infty}^{N_{q}} is required to be computed and stored offline, implying that if NqN_{q} for Multi-NN PRG is equal to NN for PRG, then the memory requirements of the two formulations are the same. We will study the processing requirements in the next section.

The simulation results of Multi-NN PRG on the one-link arm robot example are shown in Figure 5. For comparison, the results of the implementation of PRG with N=25N=25 is also provided (this is the same as Figure 4). For the sake of illustration, we consider the extreme case where the Multi-NN PRG uses all preview horizons between 0 and 25; i.e., q=26q=26 and N1=0N_{1}=0, N2=1N_{2}=1, …, N26=25N_{26}=25.

Refer to caption
Figure 5: Comparison of Multi-NN PRG and PRG with N=25N=25.

From Figure 5, the outputs for both Multi-NN PRG and PRG satisfy the constraints, as expected. However, from the bottom plot of Figure 5, it can be seen that when t[0.54,0.64]{t\in[0.54,0.64]}, v(t)v(t) given by Multi-NN PRG reaches r(t)r(t) while v(t)v(t) computed by PRG is above r(t)r(t). The reason for this behavior is that when t[0.54,0.64]t\in[0.54,0.64], the PRG corresponding to N1=0N_{1}=0 computes κ=1\kappa=1, which leads to v(t)=r(t)v(t)=r(t). Note that the actual performance improvement (as seen on the output plot) is not large for this specific example but it could be large in general.

Next, we will discuss the impact of the value of qq in the Multi-NN PRG on the system performance. Consider two extreme cases for the sake of illustration: first, N1N_{1} and N2N_{2} are chosen to be 0 and 100100 (i.e., q=2q=2); second, N1,,N100N_{1},\ldots,N_{100} are chosen to be all numbers from 0 to 100100 (i.e., q=101q=101). The reason Nq=100N_{q}=100 is selected is that the preview horizon in this case is 1s1s (recall the sample time is Ts=0.01T_{s}=0.01), which is longer than the variation of the reference in our example, and can clearly show the difference of the system performance between the two cases. The comparison between the two cases implemented on the one-link arm robot example is shown in Figure 6, which demonstrates performance improvements when a larger qq is used. Generally, when the preview horizon is longer than the expected variations of the reference, it is better to use the Multi-NN PRG formulation with a larger qq. However, this leads to an increase in the computational burden, which is discussed next.

Refer to caption
Figure 6: Comparison of Multi-NN PRG with q=2q=2 and q=101q=101.

5 Computational considerations

In this section, we provide a comparison between the computation time of PRG, Multi-NN PRG, and standard SRG by simulating the one-link arm robot example with all three methods. Recall that SRG and PRG require the solution to one linear program (LP) at each time step, while Multi-NN PRG requires the solutions to qq LP’s (q=26q=26 for our example). However, we do not use generic LP solvers to solve them. Instead, we use the Algorithm presented in [15] to solve the LPs in SRG and Algorithm 1 below to solve the LPs in PRG. The LPs in Multi-NN PRG can be solved using a similar algorithm. The notation in Algorithm 1 is as follows. It is assumed that ONO_{\infty}^{N} is finitely determined and given by polytopes of the form (5). In addition, jj^{*} denotes the number of rows of HxH_{x}, HvH_{v}, and hh.

Algorithm 1 Custom Explicit PRG Algorithm
1:  let a=Hv(rN(t)A¯vN(t1))a=H_{v}(r_{N}(t)-\bar{A}v_{N}(t-1))
2:  let b=hHxx(t)HvA¯vN(t1)b=h-H_{x}x(t)-H_{v}\bar{A}v_{N}(t-1)
3:  set κ=1\kappa=1
4:  for i=1i=1 to jj^{*} do
5:     if b(i)<0b(i)<0 then
6:        κ=0\kappa=0
7:     else
8:        if a(i)>0a(i)>0 then
9:           κ=min(κ,b(i)/a(i))\kappa=\min(\kappa,b(i)/a(i))
10:        end if
11:     end if
12:  end for
13:  κ=max(κ,0)\kappa=\max(\kappa,0)

We simulate the one-link arm robot example with all three methods, namely SRG, PRG, and Multi-NN PRG. All simulations were performed for 150 time steps in Matlab on an Apple Macbook Pro with 1.41.4 GHz Intel Core i5 processor and 88 GB memory. In order to eliminate the effects of background processes running on the computer, each of the above experiments were run 1010 times and the averages are calculated. We calculate the per-timestep averages and maximums of each of the three methods. The results are shown in Table 1. As can be seen, PRG runs two orders of magnitude slower than SRG (because the matrices that arise in the computations are larger). The Multi-NN PRG is slower by one order of magnitude (because qq PRGs are solved at each time step).

Finally, to provide a comparison of these computation times with those of other existing preview control methods, we simulate the one-link arm robot example with the PRG replaced by a Command Governor (CG). Similar to MPC, a CG solves a Quadratic Program (QP) at each time step to directly optimize over v(t)v(t). In addition, similar to MPC, it can incorporate preview information into the cost function. In brief, our CG solves the following QP:

minimize (rN(t)vN(t))TQ(rN(t)vN(t))\displaystyle(r_{N}(t)-v_{N}(t))^{T}Q(r_{N}(t)-v_{N}(t))
s.t. (x(t),vN(t))ON\displaystyle(x(t),v_{N}(t))\in O_{\infty}^{N}

where Q=QT>0Q=Q^{T}>0. We simulate the system with above CG. The QP above is solved at every time step using explicit Multi-Parametric Quadratic Programming (MPQP), which is introduced in [23]. The computation times of CG are shown in Table 1. As can be seen, CG is one order of magnitude slower than Multi-NN PRG. Note that we also implemented online QP for the CG with N=25N=25, provided by MPT3 Toolbox in Matlab and Gurobi, and found that the computation times for both cases were longer than that of MPQP.

Table 1: Comparison of the computation time between SRG, PRG, Multi-NN PRG, and CG for one-link arm robot example
SRG PRG (N=25N=25)
avg 6.8×1076.8\times 10^{-7}s 3.1×1053.1\times 10^{-5}s
max 9.2×1079.2\times 10^{-7}s 4.74×1054.74\times 10^{-5}s
Multi-NN PRG (Nq=25)(N_{q}=25) CG (N=25)(N=25)
avg 6.54×1046.54\times 10^{-4}s 6.3×1036.3\times 10^{-3}
max 8.5×1048.5\times 10^{-4}s 0.01620.0162

6 Robust Preview Reference Governor

In this section, PRG is extended to systems with disturbance preview, as well as systems with parametric uncertainties and preview information uncertainties.

6.1 Preview Reference Governor with Disturbance Preview

In previous sections, we considered systems in which the preview information of the reference signal is available. However, there are situations wherein preview information of disturbance signals may be available as well. For example, in printing systems, the effect of paper (i.e., the disturbance) on the heating or charging systems are known with some preview, since the timing of the paper leaving the printing tray is precisely controlled [4]. Hence, in this section, we consider systems where preview information of disturbances is available within a given preview horizon. For simplicity, we do not consider preview for the reference signal, though the results can be combined with those of the previous sections to consider preview on both references and disturbances.

Consider a system with additive bounded disturbance given by:

x(t+1)=Ax(t)+Bv(t)+Bww(t)\displaystyle x(t+1)=Ax(t)+Bv(t)+B_{w}w(t) (19)
y(t)=Cx(t)+Dv(t)+Dww(t)\displaystyle y(t)=Cx(t)+Dv(t)+D_{w}w(t)

where w𝕎w\in\mathbb{W} and 𝕎\mathbb{W} is a compact polytopic set with origin in its interior. Essentially, we incorporate the disturbance preview into the RG formulation as follows: the maximal admissible set (MAS) is characterized as a function of the current state, input, and the known disturbances within the preview horizon. The set is then shrunk to account for the worst-case realization of the unknown disturbance beyond the preview horizon. Specifically, the robust MAS for systems with disturbance preview can be defined as:

Ow=\displaystyle O_{\infty}^{w}= {(x0,v0,w0,,wN):x(0)=x0,v(0)=v0,w(i)=wi,\displaystyle\{(x_{0},v_{0},w_{0},\ldots,w_{N}):x(0)=x_{0},v(0)=v_{0},w(i)=w_{i}, (20)
0iN,y(t)𝕐,t+,w(j)𝕎,j>N}\displaystyle 0\leq i\leq N,y(t)\in\mathbb{Y},\forall t\in\mathbb{Z}_{+},\forall w(j)\in\mathbb{W},j>N\}

To compute this set, define 𝕐t=𝕐\mathbb{Y}_{t}=\mathbb{Y} for t=0,,Nt=0,\ldots,N, 𝕐N+1=𝕐Dw𝕎\mathbb{Y}_{N+1}=\mathbb{Y}\sim D_{w}\mathbb{W}, and 𝕐t+1=𝕐tCAtN1Bw𝕎\mathbb{Y}_{t+1}=\mathbb{Y}_{t}\sim CA^{t-N-1}B_{w}\mathbb{W} for tN+1t\geq N+1, where \sim represents the Pontryagin subtraction [10]. Then, the condition y(t)𝕐y(t)\in\mathbb{Y} in (20) can be characterized equivalently by:

CAtx0+(k=0t1CAkB+D)v0+hd(t)𝕐tCA^{t}x_{0}+\left(\sum\limits_{k=0}^{t-1}CA^{k}B+D\right)v_{0}+h_{d}(t)\in\mathbb{Y}_{t}

where hd(t)h_{d}(t) is defined as:

hd(t)={k=0t1CAt1kBww(k)+Dww(t)if tNk=0NCAt1kBww(k)if t>Nh_{d}(t)=\begin{cases}\sum\limits_{k=0}^{t-1}CA^{t-1-k}B_{w}w(k)+D_{w}w(t)\quad\text{if $t\leq N$}\\ \sum\limits_{k=0}^{N}CA^{t-1-k}B_{w}w(k)\quad\quad\quad\quad\quad\,\,\,\text{if $t>N$}\\ \end{cases}

Note that if N=0N=0, PRG with previewed bounded disturbance reduces to robust SRG with unknown bounded disturbance. In summary, by shrinking the MAS to take the worst case disturbance into consideration, robust PRG guarantees constraints satisfaction for all values of disturbance beyond the preview horizon.

Proposition 2.

The robust PRG formulation to disturbance previews is BIBO stable, recursively feasible, and for a constant rr, v(t)v(t) converges.

Proof.

Similar to the proof for Proposition 1

We now illustrate the above idea with the one-link arm robot example. The disturbance is assumed to come from the joint torque, i.e. Bw=BB_{w}=B and Dw=0D_{w}=0. We also assume that the disturbance satisfies w𝕎:=[0.1,0.1]w\in\mathbb{W}:=[-0.1,0.1]. For the purpose of simulations, the disturbance is generated randomly and uniformly from the interval [0.1,0.1][-0.1,0.1]. The results of PRG with the disturbance as the preview information are shown in Figure 7. Two preview horizons are chosen, namely N=20N=20 and N=50N=50 in order to illustrate the relationship between the system performance and the length of the preview horizon. For comparison, Figure 7 also shows the response of robust SRG with unknown bounded disturbance (i.e., no preview).

Refer to caption
Figure 7: Comparison of PRG with disturbance preview and SRG with bounded unknown disturbance.

The following observations can be made. First, the output from all methods satisfy the constraints for all time steps, as expected. Second, it can be seen that v(t)v(t) given by PRG is closer to r(t)r(t) (less conservative) than that of SRG. The reason is that the constraint set for PRG with disturbance preview is less conservative than that for SRG with unknown disturbance. Third, the longer the preview horizon, the better the performance (less conservative) becomes.

Finally, note that for the case where the future information of both reference and disturbance is available, the methods from Sections 3 and 6.1 can be combined to take the preview of reference and disturbance into consideration simultaneously.

6.2 Robust PRG for systems with Parametric Uncertainties

Reconsider system G(z)G(z) in Figure 2, but now with modeling uncertainty on the AA and BB matrices:

x(t+1)=A(t)x(t)+B(t)v(t)\displaystyle x(t+1)=A(t)x(t)+B(t)v(t) (21)
y(t)=Cx(t)+Dv(t)\displaystyle y(t)=Cx(t)+Dv(t)

where the pair (A(t),B(t))(A(t),B(t)) is assumed to belong to an uncertainty polytope defined by the convex hull of the matrices:

(A(t),B(t))conv{(A(1),B(1)),,(A(L),B(L))}(A(t),B(t))\in\mbox{conv}\{(A^{(1)},B^{(1)}),\ldots,(A^{(L)},B^{(L)})\}

where LL is the number of vertices in the uncertainty polytope. It is shown in [20] that a robust MAS can be constructed for this uncertain system. We note that a similar idea can be implemented for the PRG. Similar to (10), we write the dynamics in terms of the lifted input, but now we consider the uncertainties:

x(t+1)=A(t)x(t)+[B(t)00]B~(t)vN(t),\displaystyle x(t+1)=A(t)x(t)+\underbrace{\begin{bmatrix}B(t)&0&\ldots&0\end{bmatrix}}_{\widetilde{B}(t)}v_{N}(t), (22)
y(t)=Cx(t)+D~vN(t)\displaystyle y(t)=Cx(t)+\widetilde{D}v_{N}(t)

Then, the pair (A(t),B~(t))(A(t),\widetilde{B}(t)) must belong to a convex hull of the following matrices:

(A(t),B~(t))conv{(A(1),B~(1)),(A(L),B~(L))}(A(t),\widetilde{B}(t))\in\mbox{conv}\{(A^{(1)},\widetilde{B}^{(1)}),\ldots(A^{(L)},\widetilde{B}^{(L)})\}

where B~(l)=[B(l)00],l=1,,L.\widetilde{B}^{(l)}=\begin{bmatrix}B^{(l)}&0&\ldots&0\end{bmatrix},\quad l=1,\ldots,L. By doing this, the method in [20] can be used to compute the robust MAS for PRG with system uncertainties. For the sake of brevity, we will not provide numerical examples in this section.

Proposition 3.

The robust PRG formulation described above is BIBO stable, recursively feasible, and for a constant rr, v(t)v(t) converges.

Proof.

As proved in [20], the robust MAS for PRG is positively invariant. The results follow using a similar approach as the proof of Proposition 1. ∎

6.3 PRG for Systems with Uncertain Preview Information

In previous sections, we assumed that the preview information is accurate along the preview horizon. However, this assumption might not hold in practice since the preview information may come from inaccurate measurements or uncertain models. In this section, we present an extension of PRG that can handle inaccurate preview information of references. As can be seen from (15), if rN(t)r_{N}(t) has incorrect values, then vN(t)v_{N}(t) will be calculated incorrectly. The implication of this is that, in the next time step, vN(t+1)v_{N}(t+1) will be computed based on the delayed version of this incorrect vN(t)v_{N}(t), which, for example, might cause v(t)v(t) to change before r(t)r(t) does. This behavior is unacceptable for most systems. Note that the constraints will still be satisfied; however, as argued above, performance may suffer. Thus, our solution in this section focuses on avoiding this loss of performance when the preview information is inaccurate. Essentially, we achieve this goal by modifying the update law for vN(t)v_{N}(t).

To begin, we assume that at time tt, r(t)r(t) is accurately known, but there is uncertainty on the value of rr along the preview horizon, i.e., r(t+1),,r(t+N)r(t+1),\ldots,r(t+N) are inaccurate. To accommodate this uncertainty, we modify (12) to:

A¯=[1λ1λ1001λ1λ1λ2λ201λ1λ1λ2λ2λ3λN1λ1λ1λ2λ2λ3λN]\bar{A}=\begin{bmatrix}1-\lambda_{1}&\lambda_{1}&0&\ldots&0\\ 1-\lambda_{1}&\lambda_{1}-\lambda_{2}&\lambda_{2}&\ldots&0\\ \vdots&\vdots&\vdots&\vdots&\vdots\\ 1-\lambda_{1}&\lambda_{1}-\lambda_{2}&\lambda_{2}-\lambda_{3}&\ldots&\lambda_{N}\\ 1-\lambda_{1}&\lambda_{1}-\lambda_{2}&\lambda_{2}-\lambda_{3}&\ldots&\lambda_{N}\end{bmatrix} (23)

where λi[0,1]\lambda_{i}\in[0,1] are tuning parameters to account for preview uncertainties. This means that instead of the delayed structure of (12), vN(t)v_{N}(t) now evolves such that the value of vv at each time along the preview window is a convex combination of the value at that time and the values in the previous times. This effectively incorporates “forgetting” into the formulation to counteract the uncertainties in preview information. We tune λi\lambda_{i} according to the relative level of uncertainty on the ii-th preview information, r(i)r(i). Specifically, if the uncertainty is large, λi\lambda_{i} is chosen to be close to 0. If this is the case, PRG with the new A¯\bar{A} matrix (i.e., (23)) will turn to SRG. If rir_{i} is very accurate, on the other hand, λi\lambda_{i} will be chosen close to 11. Then, PRG with the new A¯\bar{A} will turn to standard PRG (as shown in Section 3). Thus, robust PRG is a proper extension of both standard PRG and SRG. Note that typically the level of uncertainty on rir_{i} increases along the preview horizon, which means that the sequence of λi\lambda_{i} is increasing.

The construction of ONO_{\infty}^{N} and the computation of vNv_{N} are the same as (13) and (18), except that A¯\bar{A} is changed from (12) to (23). Now, we will illustrate this approach using the one-link arm robot example (see the example in Section 3). Suppose first that the preview horizon, NN, is equal to 11. The slice of ONO_{\infty}^{N} at x=0x=0 is shown in Figure 8. The red region corresponds to the slice of ONO_{\infty}^{N} given by the standard PRG at x=0x=0. The green region represents the slice of ONO_{\infty}^{N} given by the robust PRG at x=0x=0, where we have chosen λ1=0.2\lambda_{1}=0.2. Note that in this case (N=1N=1), the matrix A¯\bar{A} has only one λ\lambda.

Refer to caption
Figure 8: The slice of ONO_{\infty}^{N} at x=0x=0. vN,0v_{N,0} and vN,1v_{N,1} represent the first and second element in vNv_{N}, respectively.

The situation we consider is as follows. Suppose at t=0t=0, the preview information is given by rN(0):=(r(0),r(1))=(0,0.5)r_{N}(0):=(r(0),r(1))=(0,0.5) (yellow dot in Figure 8). However, assume that the actual preview information is (r¯(0),r¯(1))=(0,0)(\bar{r}(0),\bar{r}(1))=(0,0) (purple dot), which is unknown to the PRG. Note that r(0)=r¯(0)r(0)=\bar{r}(0) since we assume that the current information is accurate. Obviously, vN(0)v_{N}(0)’s given by standard PRG and robust PRG (discussed in previous paragraph) will be equal to rN(0)r_{N}(0) (i.e., vN(0)=(0,0.5)v_{N}(0)=(0,0.5)) since rN(0)r_{N}(0) is in both MASs (red and green regions in Figure 8). In the next time step (t=1t=1), if κ1\kappa\neq 1, vN(1)v_{N}(1) given by standard PRG (i.e., (15)) is a convex combination between the delay version of vN(0)v_{N}(0) (i.e., (0.5,0.5)(0.5,0.5)) and rN(1)r_{N}(1). For robust PRG, vN(1)v_{N}(1) is a convex combination between A¯vN(0)=(0.45,0.45)\bar{A}v_{N}(0)=(0.45,0.45) and rN(1)r_{N}(1). Note that if the uncertainty is large, λ1\lambda_{1} would be chosen close to 11 and A¯vN(0)\bar{A}v_{N}(0) will be close to (0,0)(0,0). By doing so, robust PRG decreases the impact of the wrong previous information on the computation of current vNv_{N} by multiplying the previous information with values smaller than 11 (i.e., λ\lambda’s).

Remark 4.

By comparing (23) and (12), it can be seen that, for robust PRG, the last element in vNv_{N} is multiplied by a value less than 11 and the first element in vNv_{N} is multiplied by a value that is not equal to 0, which is different from those in standard PRG. This implies that the MAS for robust PRG will stretch along the vN,Nv_{N,N} axis and shrink along the vN,0v_{N,0} axis as compared with the MAS for standard PRG (as shown in Figure 8). Thus, unlike the robust MAS for disturbances and polytopic uncertainties, it is not the case that the robust MAS for inaccurate preview information is a subset of the MAS for standard PRG.

Refer to caption
Figure 9: Comparison of standard PRG and robust PRG. Red lines represent the simulation results of standard PRG and blue lines refer to the simulation results of robust PRG.

We now perform numerical simulations of the one-link arm robot example. We change the preview horizon to N=4N=4 for the sake of illustration. We consider the scenario where the assumed preview information is larger than the actual preview information along the preview horizon. The A¯\bar{A} is chosen to be:

A¯=[0.10.90000.10.150.75000.10.150.30.4500.10.150.30.350.10.10.150.30.350.1]\bar{A}=\begin{bmatrix}0.1&0.9&0&0&0\\ 0.1&0.15&0.75&0&0\\ 0.1&0.15&0.3&0.45&0\\ 0.1&0.15&0.3&0.35&0.1\\ 0.1&0.15&0.3&0.35&0.1\end{bmatrix} (24)

Note that several sets of λ\lambda’s were tried and the above A¯\bar{A} was found to result in the best performance (will be explained later). We acknowledge that there are other possibilities to choose A¯\bar{A} and finding the optimal set of λ\lambdas will be explored in future work. The comparison between standard PRG and robust PRG is shown in Figure 9. It can be seen that when t[0.21,0.24]t\in~{}[0.21,0.24], v(t)v(t) given by robust PRG (blue line) is closer to r(t)r(t) than that given by standard PRG (red line). The reason for the behavior can be explained as follows. At t=0.20t=0.20, vN(20)v_{N}(20)’s given by standard PRG and robust PRG are both equal to rN(20)r_{N}(20). Recall that the first element in rN(20)r_{N}(20) is accurate and the rest elements in rN(20)r_{N}(20) are inaccurate. Then, in the next time step, for standard PRG, v(21)v(21) is calculated as a convex combination between the delayed version of rN(20)r_{N}(20) (inaccurate) and rN(21)r_{N}(21). With κ=0.25\kappa=0.25, v(21)v(21) is calculated as 0.130.13. For robust PRG, v(21)v(21) is computed as a convex combination between A¯rN(20)\bar{A}r_{N}(20), where A¯\bar{A} is shown in (24), and rN(20)r_{N}(20). With κ=0.69\kappa=0.69, v(21)=0.05v(21)=0.05. Note that by increasing the value of λ1\lambda_{1} in (24) (i.e., 0.10.1), v(21)v(21) would become closer to r(21):=0r(21):=0. However, the tracking performance would not be improved significantly as compared with SRG.

Proposition 4.

The robust PRG formulation to inaccurate preview information is BIBO stable, recursively feasible, and for a constant rr, v(t)v(t) converges.

Proof.

The proof of BIBO stable and recursively feasibility are the same as the proof for Proposition 1. To prove the convergence property, assume r(t)=r,t+r(t)=r,\forall t\in\mathbb{Z}_{+}. Note that limjA¯j=A¯0\lim_{j\to\infty}\bar{A}^{j}=~{}\bar{A}_{0}, where A¯0\bar{A}_{0} is a static matrix, since A¯\bar{A} shown in (23) is a stochastic matrix. Then, from (14), it can be shown that every element in vN(t)v_{N}(t) is monotonic increasing after A¯j\bar{A}^{j} converges and bounded by rr. Thus, vN(t)v_{N}(t) must converge to a limit. ∎

7 PRG for multi-input system

In this section, we will briefly introduce an extension of PRG to multi-input systems. One possible, straightforward solution is to apply the PRG ideas from above directly to multi-input systems. However, as will be shown in an example later, this approach might lead to a conservative response since PRG uses a single decision variable to simultaneously govern all the channels of the multi-input system. To address this shortcoming, we propose another solution, which combines the PRG idea with the Decoupled Reference Governor (DRG) scheme [15]. Detailed information will be introduced below.

To begin, suppose that system G(z)G(z) in Figure 2 has mm inputs, i.e., v(t),r(t)mv(t),r(t)\in\mathbb{R}^{m}. Let us denote the preview horizon for the mm different inputs (i.e., r1,,rmr_{1},\ldots,r_{m}) by N1,,NmN_{1},\ldots,N_{m}, respectively. Define the lifted signals rNr_{N} and vNv_{N} as follows:

rN(t)=(r1(t),,r1(t+N1),,rm(t),,rm(t+Nm))\displaystyle r_{N}(t)=(r_{1}(t),\ldots,r_{1}(t+N_{1}),\ldots,r_{m}(t),\ldots,r_{m}(t+N_{m})) (25)
vN(t)=(v1(t),,v1(t+N1),,vm(t),,vm(t+Nm))\displaystyle v_{N}(t)=(v_{1}(t),\ldots,v_{1}(t+N_{1}),\ldots,v_{m}(t),\ldots,v_{m}(t+N_{m}))

We can select the dynamics of vN(t)v_{N}(t) to be the same as (11) but with A¯\bar{A} constructed as:

A¯=[I¯N10N1×Nm0Nm×N1I¯Nm]\bar{A}=\begin{bmatrix}\bar{I}_{N_{1}}&\ldots&0_{N_{1}\times N_{m}}\\ \vdots&\ddots&\vdots\\ 0_{N_{m}\times N_{1}}&\ldots&\bar{I}_{N_{m}}\end{bmatrix} (26)

where I¯Ni\bar{I}_{N_{i}} (i=1,,mi=1,\ldots,m) is defined the same as (11), with NN replaced by NiN_{i}.

The construction of ONO_{\infty}^{N} and the calculation of vNv_{N} are the same as (13) and (15), except that A¯\bar{A} is modified to (26). Below, we will provide an illustrative example to show that this approach works as required but might lead to a conservative response. Consider a two-link arm robot, which has dynamics as follows [17]:

[x1˙x2˙x3˙x4˙]=[001000010.460.62000.256.6200][x1x2x3x4]+[00000.780.040.040.13][τ1τ2]\displaystyle\begin{bmatrix}\dot{x_{1}}\\ \dot{x_{2}}\\ \dot{x_{3}}\\ \dot{x_{4}}\end{bmatrix}=\begin{bmatrix}0&0&1&0\\ 0&0&0&1\\ -0.46&-0.62&0&0\\ 0.25&-6.62&0&0\\ \end{bmatrix}\begin{bmatrix}x_{1}\\ x_{2}\\ x_{3}\\ x_{4}\end{bmatrix}+\begin{bmatrix}0&0\\ 0&0\\ 0.78&-0.04\\ 0.04&0.13\end{bmatrix}\begin{bmatrix}\tau_{1}\\ \tau_{2}\end{bmatrix} (27)

where τ1\tau_{1} and x1:=θ1x_{1}:=\theta_{1} are the external torque and the joint angle for the first link, respectively. Similarly, τ2\tau_{2} and x2:=θ2x_{2}:=\theta_{2} are the torque and the joint angle for the second link, respectively. The constrained outputs are θ1\theta_{1} and θ2\theta_{2}. The constraints on both joint angles are [60,60][-60,60]. To implement PRG, the system is first discretized at Ts=0.01sT_{s}=0.01s. Then, a state feedback controller is designed to ensure that θ1\theta_{1} and θ2\theta_{2} track desired joint angles, v1v_{1} and v2v_{2}, respectively, that is:

[τ1τ2]=[769.23003333.3][v1v2][7501555919226286718350][x1x2x3x4]\begin{bmatrix}\tau_{1}\\ \tau_{2}\end{bmatrix}=\begin{bmatrix}769.23&0\\ 0&3333.3\end{bmatrix}\begin{bmatrix}v_{1}\\ v_{2}\end{bmatrix}-\begin{bmatrix}750&155&59&19\\ -226&2867&-18&350\end{bmatrix}\begin{bmatrix}x_{1}\\ x_{2}\\ x_{3}\\ x_{4}\end{bmatrix}

The preview horizons for both references are chosen to be 4040 (i.e., N1=N2=40N_{1}=N_{2}=40). The simulation results of PRG of this multi-input system are shown in Figure 10. As can be seen, the outputs both satisfy the constraints, as required. However, when t[0.8,1.2]t\in[0.8,1.2], v2v_{2} can not reach r2r_{2}, which is shown by the purple dashed line in the bottom plot, even though y2y_{2} (i.e., red line in the top plot) is far from the lower constraint. This is caused by the fact that y1y_{1} (i.e., the blue line in the top plot of Figure 10) reaches the constraint when t[0.8,1.2]t\in[0.8,1.2], which results in κ\kappa being equal to 0. Since a single κ\kappa is used in PRG scheme, v2v_{2} can not reach r2r_{2}.

Refer to caption
Figure 10: Simulation results of PRG for the two-link arm robot. The blue lines represent the response of joint 11 and the red lines represent the response of joint 22.
F1(z)F^{-1}(z)PRG1PRG_{1}PRGmPRG_{m}F(z)F(z)G(z)G(z)r1,N1r_{1,N_{1}}rm,Nmr_{m,N_{m}}r1,N1r_{1,N_{1}}^{\prime}rm,Nmr_{m,N_{m}}^{\prime}u1u_{1}umu_{m}v1v_{1}vmv_{m}y1y_{1}ymy_{m}W(z)W(z)x1x_{1}xmx_{m}
Figure 11: PRG block diagram for square MIMO systems. ri,Ni(t)r_{i,N_{i}}(t) represents the lifted rir_{i} over the preview horizon, i.e., ri,Ni(t)=(ri(t),,ri(t+Ni))r_{i,N_{i}}(t)=(r_{i}(t),\ldots,r_{i}(t+N_{i})).

From the above discussion, it can be seen that this approach might lead to a conservative response. To address this shortcoming, we propose another method, which combines the PRG theory with the DRG scheme in [16]. As a quick review, DRG is based on decoupling the input-output dynamics of the system, followed by the application of SRG to each decoupled channel. In our solution, instead of using SRGs to govern the decoupled channels, we use the PRG presented in Section 3. This leads to the block diagram shown in Figure 11. For ease of presentation, we will assume the system is square (i.e., equal number of inputs and outputs). Non-square systems can be handled as well by considering the DRG scheme for non-square systems presented in [16].

Thus, we suppose the closed-loop system G(z)G(z) is described by a m×mm\times m transfer function system matrix with elements GijG_{ij}. As shown in Figure 11, we decouple G(z)G(z) by introducing F(z)F(z), leading to a diagonal system: W(z)W(z). As discussed in [15], there are several ways to construct W(z)W(z). For the sake of brevity, we only consider the case where W(z)W(z) is given by: W(z)=diag(G11,G22,,Gmm)W(z)=\mathrm{diag}(G_{11},G_{22},\ldots,G_{mm}). Note that the same process to combine PRG idea and DRG scheme can be applied to other formulations of W(z)W(z) as well. Then, mm different PRGs for single-input systems (see Section 3) are implemented, one for each WiiW_{ii}. Finally, as discussed in [15], F1F^{-1} is introduced to ensure that vv and rr are close if rr is not constraint-admissible. Simulation results of the second approach on the two-link arm robot are shown in Figure 12. As can be seen, the outputs satisfy the constraints, as required. Also, when t[0.8,1.2]t\in[0.8,1.2], v2v_{2} reaches r2r_{2}, which is represented by the purple dashed line in the bottom plot. This behavior can be explained as follows. When t=0.8t=0.8, the PRGs have the future information that r2r_{2} will drop down to 56-56 at t=1t=1 and then go up towards 20-20 at t=1.2t=1.2 (recall that N1=N2=40N_{1}=N_{2}=40). Also, from the top plot of Figure 12, it can be seen that when t[0.8,1.2]t\in[0.8,1.2], y2y_{2} (red line in the top plot) does not reach the lower constraint, which leads to κ2=1\kappa_{2}=1 (recall that κ2\kappa_{2} refers to the optimization variable given by the second PRG). Hence, v2v_{2} reaches r2r_{2}.

Refer to caption
Figure 12: Simulation results of PRG for the two-link arm robot. The blue lines represent the response of joint 11 and the red lines represent the response of joint 22.

Note that both approaches discussed above can be easily extended to multi-NN PRG by combining DRG scheme and Multi-N PRG idea.

8 CONCLUSIONS AND FUTURE WORKS

In this work, a reference governor-based method for constraint management of linear systems is proposed. The method is referred to as Preview Reference Governor (PRG) and can systematically account for the preview information of reference and disturbance signals. The method is based on lifting the input of the system to a space of higher dimension and designing maximal admissible sets based on the system with lifted input. We showed a limitation of PRG and proposed an alternative method, which we refered to as Multi-horizon PRG (multi-NN PRG), to overcome the limitation. Disturbance previews, parametric uncertainties, and inaccurate preview reference information were also addressed. We also showed that the PRG for multi-input systems using the lifting idea (i.e., first solution in Section 7) might cause conservative response. Thus, we proposed another method, which combines the Decoupled Reference Governor scheme and PRG, to overcome this limitation.

Future work will explore preview control in the context of Vector Reference Governors, as well as finding the optimal set of λ\lambdas that gives the best performance in our robust PRG formulation. We will also investigate the extension of PRG to nonlinear systems.

References

  • [1] Alberto Bemporad, Francesco Borrelli, Manfred Morari, et al. Model predictive control based on linear programming, the explicit solution. IEEE transactions on automatic control, 47(12):1974–1985, 2002.
  • [2] Nidhika Birla and Akhilesh Swarup. Optimal preview control: A review. Optimal Control Applications and Methods, 36(2):241–268, 2015.
  • [3] Eduardo F Camacho and Carlos Bordons Alba. Model predictive control. Springer Science & Business Media, 2013.
  • [4] ShiNung Ching, Yongsoon Eun, Eric Gross, Eric Hamby, Pierre Kabamba, Semyon Meerkov, and Amor Menezes. Modeling and control of cyclic systems in xerography. In Proceedings of the 2010 American Control Conference, pages 4283–4288, 2010.
  • [5] Stefano Di Cairano. An industry perspective on mpc in large volumes applications: Potential benefits and open challenges. IFAC Proceedings Volumes, 45(17):52–59, 2012.
  • [6] Asif Farooq and David JN Limebeer. Path following of optimal trajectories using preview control. In Proceedings of the 44th IEEE Conference on Decision and Control, pages 2787–2792. IEEE, 2005.
  • [7] Emanuele Garone, Stefano Di Cairano, and Ilya Kolmanovsky. Reference and command governors for systems with constraints: A survey on theory and applications. Automatica, 75:306–328, 1 2017.
  • [8] Emanuele Garone and Marco M Nicotra. Explicit reference governor for constrained nonlinear systems. IEEE Transactions on Automatic Control, 61(5):1379–1384, 2015.
  • [9] E. G. Gilbert and K. T. Tan. Linear systems with state and control constraints: the theory and application of maximal output admissible sets. IEEE Transactions on Automatic Control, 36(9):1008–1020, Sep 1991.
  • [10] Elmer G Gilbert and Ilya Kolmanovsky. Discrete-time reference governors for systems with state and control constraints and disturbance inputs. In Proceedings of 1995 34th IEEE Conference on Decision and Control, volume 2, pages 1189–1194. IEEE, 1995.
  • [11] C. Gohrle, A. Schindler, A. Wagner, and O. Sawodny. Design and vehicle implementation of preview active suspension controllers. IEEE Transactions on Control Systems Technology, 22(3):1135–1142, May 2014.
  • [12] Christoph Göhrle, Andreas Wagner, Andreas Schindler, and Oliver Sawodny. Active suspension controller using mpc based on a full-car model with preview information. In 2012 American Control Conference (ACC), pages 497–502. IEEE, 2012.
  • [13] Arne Koerber and Rudibert King. Combined feedback–feedforward control of wind turbines using state-constrained model predictive control. IEEE Transactions on Control Systems Technology, 21(4):1117–1128, 2013.
  • [14] I. Kolmanovsky, E. Garone, and S. Di Cairano. Reference and command governors: A tutorial on their theory and automotive applications. In 2014 American Control Conference, pages 226–241, June 2014.
  • [15] Yudan Liu, Joycer Osorio, et al. Decoupled reference governors for multi-input multi-output systems. In 2018 IEEE Conference on Decision and Control (CDC), pages 1839–1846. IEEE, 2018.
  • [16] Yudan Liu, Joycer Osorio, and Hamid R. Ossareh. Decoupled reference governors: A constraint management technique for mimo systems, 2020.
  • [17] Samia M Mahil and Ahmed Al-Durra. Modeling analysis and simulation of 2-dof robotic manipulator. In 2016 IEEE 59th International Midwest Symposium on Circuits and Systems (MWSCAS), pages 1–4. IEEE, 2016.
  • [18] Manfred Morari and Jay H Lee. Model predictive control: past, present and future. Computers & Chemical Engineering, 23(4-5):667–682, 1999.
  • [19] Hamid R Ossareh. Reference governors and maximal output admissible sets for linear periodic systems. International Journal of Control, 93(1):113–125, 2020.
  • [20] Bert Pluymers, John A Rossiter, Johan AK Suykens, and Bart De Moor. The efficient computation of polyhedral invariant sets for linear systems with polytopic uncertainty. In Proceedings of the 2005, American Control Conference, 2005., pages 804–809, 2005.
  • [21] Shuhei Shimmyo, Tomoya Sato, and Kouhei Ohnishi. Biped walking pattern generation by using preview control based on three-mass model. IEEE transactions on industrial electronics, 60(11):5137–5147, 2012.
  • [22] Kiyotsugu Takaba. A tutorial on preview control systems. In SICE 2003 Annual Conference (IEEE Cat. No. 03TH8734), volume 2, pages 1388–1393. IEEE, 2003.
  • [23] Petter Tøndel, Tor Arne Johansen, and Alberto Bemporad. An algorithm for multi-parametric quadratic programming and explicit mpc solutions. Automatica, 39(3):489–497, 2003.