Preview Reference Governors: A Constraint Management Technique for Systems With Preview Information
aa r X i v : . [ ee ss . S Y ] M a r Preview Reference Governors:A Constraint Management Techniquefor Systems With Preview Information
Yudan Liu a , Hamid. R. Ossareh a a 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 previewhorizons are used. An extension of PRG, referred to as Multi-horizon PRG, is proposed to remedy this issue. Quantitativecomparisons between SRG, PRG, and Multi-horizon PRG on a one-link robot arm example are presented to illustrate theirperformance and computation time. Furthermore, extensions of PRG are presented to handle systems with disturbancepreview and multi-input systems. The robustness of PRG to parametric uncertainties and inaccurate preview informationis also explored.
Keywords:
Constraints management, Reference governors, Preview control, Predictive control
1. INTRODUCTION
Preview control has been a subject of study in the fieldof control theory for many decades. The main idea be-hind preview control is to incorporate known or estimatedinformation on the future values of the disturbances or ref-erences (i.e., “preview” information) in the computation ofthe current control command. Such preview may be com-puted from models or may be available from measurements.For example, in a wind turbine control application, previewinformation on wind velocity may be available from mea-surements taken elsewhere in the wind farm. Incorporatingthis information in the calculation of the control commandcan result in improved system performance [13].Common methods for preview control are H ∞ previewcontrol [22], LQR preview control [6], and mixed H - H ∞ method, just to mention a few (see [2] for a comprehensivereview). These methods, however, are not able to enforcepointwise-in-time state and control constraints, which is im-portant to ensure safe and efficient system operation. Apreview control method that can, in fact, enforce these con-straints is Model Predictive Control (MPC) [1, 18, 3], whichis an optimization-based method that can naturally incor-porate preview information in the cost function [12]. Someapplications of preview-MPC can be found in active suspen-sion [11], swing leg trajectories of biped walking robots [21], Email addresses: [email protected] (Yudan Liu),
[email protected] (Hamid. R. Ossareh) Funding for this work was generously provided by Ford under theURP Award 2016-8004R, and NASA under grant 80NSSC20M0213. ReferenceGovernor Closed-LoopPlant, G ( z ) r ( t ) v ( t ) y ( t ) x ( t ) Figure 1:
Scalar reference governor block diagram. Thesignals are as follows: y ( t ) is the constrained output, r ( t ) is thereference, v ( t ) is the governed reference, and x ( t ) is the systemstate (measured or estimated). and wind turbines [13]. Since MPC is computationally de-manding, its applicability has been limited to systems withslow or low-order dynamics, or systems controlled by fastprocessors [5]. A relatively new constraint managementstrategy, which alleviates the above computational chal-lenges of MPC, is the Reference Governor, also referred toas the Scalar Reference Governor (SRG) [10, 7, 14, 16, 8, 19].It is an add-on mechanism that enforces pointwise-in-timestate and control constraints by governing, whenever is re-quired, the reference signal of a pre-stabilized closed-loopsystem (see Figure 1). However, standard SRG uses only thevalue of the reference signal at the current time and is unableto take preview information into account. This paper fillsthis gap and presents a novel reference governor-based solu-tion, referred to as the Preview Reference Governor (PRG),to enforce the constraints while incorporating the previewinformation of the reference and disturbance signals, whichyields superior transient performance as compared to SRG.To explain PRG, we first summarize the main ideas be-hind SRG. The SRG employs the so-called Maximal Admis-sible set (MAS) [9], which is defined as the set of all initialconditions and inputs that ensure constraint satisfaction forall times. This set is computed offline. In real-time, SRG Preprint submitted to Elsevier March 3, 2021 omputes an optimal v ( t ) (See Figure 1) to maintain the sys-tem state inside the MAS and, thus, enforce the constraints.This is achieved by solving, at every time step, a simple lin-ear program, whose solution can be computed explicitly.Now reconsider the closed-loop plant G ( z ) in Figure 1,but assume that the preview information of the referencesignal is available. More specifically, r ( t ) ,r ( t +1) ,...,r ( t + N ),are known to the controller at time t , where N is the “pre-view horizon”. We initially assume that G ( z ) has a singleinput (we will extend the theory to multi-input systems inSection 7). Similar to SRG, the goal of PRG is to select v ( t )as close as possible to r ( t ) (to ensure that the tracking per-formance does not suffer) such that the output constraintsare satisfied for all times. However, the PRG must takeinto consideration the preview information of r ( t ) in orderto improve the tracking performance as compared to SRG.To achieve these goals, we first lift r ( t ) and v ( t ) from R to R ( N +1) in order to describe them over the entire previewhorizon. Next, the system G is represented based on thelifted input, and a new MAS is calculated based on this newrepresentation. Finally, PRG is formulated as an extensionof SRG, where a new optimization problem is solved basedon the new MAS and a new update law is used to compute v ( t ). A high-level block diagram of the PRG is shown inFigure 2, where the availability of the preview informationof the reference is explicitly displayed.As we show in this paper, PRG guarantees constraintsatisfaction, recursively feasibility, and closed-loop stabil-ity. However, it may calculate conservative inputs undercertain conditions, especially for long preview horizons. Toovercome this issue and further improve performance, wepresent an extension of PRG. The extension, which we referto as Multi-horizon PRG (abbreviated as Multi- N PRG),is based on solving multiple PRGs with different previewhorizons and optimally fusing the outputs of the PRGs.We next consider the case where the system is affectedby disturbances, whose preview information is available (inaddition to the reference preview). The PRG solution forthis case involves formulating a new MAS, wherein the dis-turbance preview appears explicitly as parameters of theMAS. To guarantee constraint satisfaction, the MAS is ro-bustified to the worst-case realization of disturbances be-yond the preview horizon.In practice, systems are affected by uncertainties in themodel as well as the preview information. Therefore, wealso consider systems under parametric uncertainties andinaccurate preview information (in either reference or dis-turbance). We propose a “robust” PRG formulation to ro-bustify the design against these uncertainties.Finally, we propose two solutions to handle multi-inputsystems. The first solution comprises the same ideas asin PRG for single-input systems, except that we lift r ( t )and v ( t ) from R m to R ( N +1) m , where m is the number ofinputs. However, as will be shown by an example, this so-lution might lead to a conservative response since a singleoptimization variable is used to govern all input channels.To overcome this shortcoming, we propose another solu- PreviewRG Closed-LoopPlant, G ( z ) r N ( t ) v ( t ) y ( t ) x ( t ) Figure 2:
Preview Reference Governor block diagram. r N ( t )represents the lifted reference over the preview horizon, i.e., r N ( t ) = ( r ( t ) ,...,r ( t + N )). tion, which combines the Decoupled Reference Governorscheme [15] and PRG theory. Detailed information will beexplained in Section 7.In summary, the original contributions of this work are: • A novel RG-based constraint management scheme withpreview capabilities, namely the PRG, which incor-porates preview information of the references into thereference governor framework and is more computa-tionally efficient than existing methods such as MPCor Command Governors (CG) [7]; • An extension of PRG (Multi- N PRG) to further im-prove the performance of PRG; • Analysis of recursively feasibility, closed-loop stabil-ity, and convergence under constant inputs. • Comparison of the computational footprint and per-formance of these schemes. • Extensions of PRG to systems with disturbance pre-view, parametric uncertainties, inaccurate previewinformation, and multi-input systems.The following notations are used in this paper. Z and Z + denote the set of all integers and non-negative integers,respectively. The identity matrix with dimension p × p isdenoted by I p . The variable t ∈ Z + is the discrete time. Forvectors x and y , x ≤ y is to be interpreted component-wise.A zero matrix with dimension p × q is denoted as 0 p × q .
2. Review of Maximal Admissible Sets And ScalarReference Governors
Consider Figure 1, where G represents the closed-loopsystem whose dynamics are described by: x ( t +1) = Ax ( t )+ Bv ( t ) y ( t ) = Cx ( t )+ Dv ( t ) (1)where x ( t ) ∈ R n is the state vector, v ( t ) ∈ R m is the in-put, and y ( t ) ∈ R p is the constrained output vector. Since G represents the closed-loop system with a stabilizing con-troller, it is assumed that G is asymptotically stable. Overthe output, the following polyhedral constraint is imposed: y ( t ) ∈ Y := { y : Sy ≤ s } (2)iihe MAS, denoted by O ∞ , is the set of all initial states andconstant control inputs that satisfy (2) for all future timesteps: O ∞ := { ( x ,v ) ∈ R n + m : x (0) = x ,v ( t ) = v ,y ( t ) ∈ Y , ∀ t ∈ Z + } (3)As seen in (3), to construct MAS, v ( t ) = v is held constantfor all t ∈ Z + . Using this assumption, the evolution of theoutput y ( t ) can be expressed explicitly as a function of theinitial state x (0) = x and the constant input v as: y ( t ) = CA t x + C ( I − A ) − ( I − A t ) Bv + Dv . (4)Therefore, the MAS in (3) can be characterized by apolytope defined by an infinite number of inequalities, i.e., O ∞ := { ( x ,v ) ∈ R n + m : H x x + H v v ≤ h } (5)where H x = [ CA t ] ,H v = [ C ( I − A ) − ( I − A t ) B + D ], and h = [ s ⊤ ,s ⊤ ,... ] ⊤ . Reference [9] shows that under mild as-sumptions on C and A , it is possible to make the set (5)finitely determined (i.e., the matrices H x , H v and h are fi-nite dimensional) by constraining the steady-state value of y , denoted by y ( ∞ ), to the interior of the constraint set, i.e., y ( ∞ ) := ( C ( I − A ) − B + D ) v ∈ (1 − ǫ ) Y (6)where ǫ > t ∗ , where the inequal-ities corresponding to all future prediction times ( t > t ∗ )are redundant. This yields an inner approximation of (5),denoted by ¯ O ∞ , which is finitely determined. The SRG calculates v ( t ) based on ¯ O ∞ by introducingan internal state, whose dynamics are governed by: v ( t ) = v ( t − κ ( r ( t ) − v ( t − , (7)where κ is found by solving the following linear program(LP): maximize κ ∈ [0 , κ s.t. ( x ( t ) ,v ( t )) ∈ ¯ O ∞ v ( t ) = v ( t − κ ( r ( t ) − v ( t − v ( t ) based on the con-vex combination of the previous admissible input value (i.e., v ( t − r ( t ) in order to guaran-tee constraint satisfaction. Also, if the pair ( x ( t ) ,v ( t − x ( t +1) ,v ( t )) is also admissible, implyingrecursively feasibility of the SRG [7].
3. Preview Reference Governors (PRG) for single-input systems
In this section, the PRG for single-input systems is in-troduced and analyzed. In addition, PRG is compared with SRG using a numerical example to show that it can signif-icantly improve the closed-loop system performance whileenforcing the constraints. An extension of PRG to multi-input systems will be explained in Section 7. As mentionedin the Introduction, PRG is based on lifting the reference(i.e., r ( t )) and the governed reference (i.e., v ( t )) from R to R ( N +1) and representing the system using the lifted in-put. Based on the new representation, a modified maximaladmissible set is characterized and a new formulation of ref-erence governor is proposed, as explained in detail below.Consider the system shown in Figure 2. Assume r ( t ), r ( t +1), ... , r ( t + N ) are available at time t , where r ( t ) ∈ R isthe current value of the setpoint and r ( t +1) ,...,r ( t + N ) ∈ R are the preview information, and N ≥ N = 0 corresponds to the casewhere no preview information is available. We now definethe lifted signals r N ( t ) ∈ R ( N +1) (shown in Figure 2) and v N ( t ) ∈ R ( N +1) , as follows: r N ( t ) = ( r ( t ) ,...,r ( t + N )) , v N ( t ) = ( v ( t ) ,...,v ( t + N )) (9)Using the lifted signals, G ( z ) can be equivalently expressedas: x ( t +1) = Ax ( t )+[ B ... | {z } e B v N ( t ) ,y ( t ) = Cx ( t )+[ D ... | {z } e D v N ( t ) (10)We now describe the Maximal Admissible Set (MAS)for this system. Recall from (3) that in order to character-ize MAS in the SRG framework, it is assumed that v ( t ) isheld constant for all time. This will ensure that the opti-mization problem (8) will always have a feasible solution,namely κ = 0. In order to extend these ideas to PRG, weassume that v ( t ) may vary within the preview horizon, butis held constant beyond the preview horizon. Therefore, thedynamics of v N ( t ) are chosen to be: v N ( t +1) = ¯ Av N ( t ) (11)with initial condition v N (0) = v N , where ¯ A is defined by:¯ A = ... ...
10 0 ...
00 0 ... | {z } N (12)This choice of ¯ A , together with the definition of v N ( t ) in(9), enforce that for all t ≥ N , v ( t ) = v ( N ). With thesedynamics, the new MAS is defined by: O N ∞ := { ( x ,v N ) ∈ R n +( N +1) : x (0) = x ,v N (0) = v N v N ( t +1) = ¯ Av N ( t ) ,y ( t ) ∈ Y , ∀ t ∈ Z + } (13)Similar to (6), a finitely determined inner approximationof this set can be computed by tightening the steady-stateiiionstraint (to prove finite determinism, note that after N time steps, v ( t ) converges to a constant, which reduces theproblem to that in the standard MAS theory). In the restof this paper, with an abuse of notation, we use O N ∞ to de-note the finitely determined inner approximation (insteadof using ¯ O N ∞ ).With the new MAS defined, we are now ready to presentthe PRG formulation. Recall that the SRG computes v ( t )using the update law in (7), where κ is obtained by solvingthe linear program (LP) in (8). Note from (7) that v ( t ) ∈ R can be regarded as the internal state of the SRG (i.e., theSRG strategy consists of a single internal state). To extendthese ideas to PRG, we introduce ( N +1) new states in theformulation, where the state update law is as follows: v N ( t ) = ¯ Av N ( t − κ ( r N ( t ) − ¯ Av N ( t − κ is the solution of the following linear program:maximize κ ∈ [0 , κ s.t. v N ( t ) = ¯ Av N ( t − κ ( r N ( t ) − ¯ Av N ( t − x ( t ) ,v N ( t )) ∈ O N ∞ (15)An explicit algorithm, similar to the one in SRG [15], canbe developed to solve this LP efficiently (see Section 5 fordetails). The PRG solves the above LP at every time step tocompute κ , updates v N ( t ) using (14), and applies the firstelement of v N ( t ) to the system G . Note that the variables inthe LP in (15) at time step t are v N ( t − r N ( t ), and x ( t ). Remark 1.
When N = 0 , PRG reduces to SRG because ¯ A turns into the scalar with value in this case. Therefore,PRG is a proper extension of SRG. Several important properties of the PRG are describedin the following proposition.
Proposition 1.
The PRG formulation is recursively feasi-ble, bounded-input and bounded-output stable (BIBO), andfor a constant r , v ( t ) converges.Proof. To show recursively feasibility, consider the updatelaw (14). As can be seen, κ = 0 implies that v N ( t ) =¯ Av N ( t − v N that is as-sumed in O N ∞ (see (13)). Positive invariance of O N ∞ im-plies that if the pair ( x ( t − ,v N ( t − x ( t ) ,v N ( t − κ = 0 isalways a feasible solution to the LP in (8), implying recur-sively feasibility of the PRG. As for BIBO stability, recallthat v N ( t ) is the convex combination of ¯ Av N ( t −
1) and thecurrent reference r N ( t ). Thus, if r ( t ) is bounded, then sois v N ( t ). This, together with the asymptotic stability of G ,implies BIBO stability of the system. To prove the conver-gence property, assume r ( t ) = r, ∀ t ∈ Z + . From (14), it canbe shown that every element in v N ( t ) is monotonic ∀ t ≥ N and bounded by r . Thus, v N ( t ) must converge to a limit.Note that, since the closed-loop system G is asymptoticallystable, x ( t ) and y ( t ) would also converge. YX θ τ g
Figure 3:
One-link arm.
Remark 2.
Note that the definition of v N in (9) is con-sistent with the delay structure in the dynamics (11) – (12) .However, the definition in (9) may appear inconsistent withthe update law in (14) because the delay structure vanisheswhen κ = 0 . We remark that this is not an error. The defi-nition in (9) and the dynamics in (11) – (12) are only intro-duced to construct O N ∞ . For real-time implementation, v N should not be thought of as defined by (9) , but instead shouldbe thought of as the PRG’s internal states. Remark 3.
For the case where the state of G ( z ) (i.e., x ( t ) shown in Figure 2) is not measured, standard Luenbergerobservers can be designed to estimate the state. We now illustrate the PRG using a numerical simulationof a one-link arm robot, shown in Figure 3. A state-spacemodel of the arm is given by: h ˙ x ˙ x i = h − . ih x x i + h i τ, y = [1 0] h x x i (16)where x , θ , x , ˙ θ are the states and τ (i.e., externaltorque) is the control input. For this example, we assumethat both states are measured (if not, an observer can bedesigned).In order to design a controller and consequently imple-ment the PRG, the system model (16) is first discretizedat T s = 0 . s . Then, a state-feedback controller with apre-compensator is applied to ensure that the output, θ ,tracks the desired angle, v , perfectly, that is: τ = 66 . v − . x − . x . This results in the closed-loop system G shown in Figure 2. We simulate a trajectory-following ma-neuver, wherein we use the PRG to ensure that the output, θ , remains within [ − ◦ , ◦ ]. The preview horizon, N , ischosen to be 25 (i.e., 0 .
25 seconds). We assume that thepreview information is available from the given pre-set tra-jectory.The comparison between the performance of PRG andSRG is shown in Figure 4. As can be seen, v ( t ) given byPRG is closer to r ( t ) (less conservative) when t ∈ [0 . , . t = 0 .
3, the PRG has the future infor-mation that the reference would drop down to 0 in future 25time steps so that it allows a larger v ( t ) than SRG. For thesame reason, v ( t ) given by PRG is less conservative when t ∈ [0 . , . t ∈ [0 . , . v ( t ) given by PRGcan not reach r ( t ) = 0, even though 0 is an admissible in-iv j o i n t ang l e ( deg r ee ) y: SRGy: PRG (N=25)constraint time -50050 de s i r ed j o i n t ang l e v: SRGv: PRG (N=25)r Figure 4:
Comparison of PRG and SRG. The blue linesrepresent the results of SRG and the red lines refer to the resultsof PRG. The top plot shows the outputs and the bottom plotshows the control inputs and the setpoint. put. To explain the root cause of this behavior, note thatwhen t = 0 .
54, the preview information available to the PRGis that r ( t ) drops down to − ◦ at t = 0 . r ( t ) back to 0 at t = 0 . t > .
7, the PRG calculatesa κ smaller than 1. However, since κ affects all elements of v N ( t ) (see (14)), this leads to a v ( t ) that is different from r ( t ) when t ∈ [0 . , . N . However, if N is tooshort, the tracking performance of the system might not beimproved significantly as compared with SRG. In order tohave the superior system performance while addressing theabove limitation of PRG, we provide an extension of PRGin the following section.
4. Multi-Horizon PRG (Multi- N PRG)
To overcome the limitation of PRG described in theprevious section and improve performance, this section in-troduces the Multi-Horizon Preview Reference Governor(Multi- N PRG). As the name suggests, instead of having asingle preview horizon, multiple preview horizons are con-sidered. For each horizon, a MAS is characterized, and mul-tiple PRGs are solved at each time step, one for each MAS.A technical challenge for this approach is that v N ( t )’s fordifferent preview horizons would have different dimensionsand different interpretations. In addition, a practical chal-lenge is that storing multiple MASs may lead to a significantincrease in the memory requirements. Our novel solutionovercomes these challenge by unifying the v N ’s so that onlyone MAS is required, and fusing the PRG solutions in a spe-cial way to guarantee constraint satisfaction and recursivelyfeasibility.To begin, consider the following set of q preview hori-zons: N < N < ... < N q . Let O N i ∞ be defined as in (13), i.e., the MAS of the lifted system with preview horizon N i .We first show that there exists a simple relationship be-tween O N i ∞ , i = 1 , ... , q −
1, and O N q ∞ . Recall from (13)and (9) that in order to construct O N i ∞ , it is assumed that v ( t ) is held constant beyond the preview horizon (i.e., after t = N i ). Similarly, to construct O N q ∞ , it is assumed that v ( t )is held constant after t = N q . Thus, O N i ∞ and O N q ∞ have thefollowing relationship:( x,v N i ) ∈ O N i ∞ ⇔ ( x, [ v TN i ,v N i ( N i +1) T ,...,v N i ( N i +1) T | {z } N q − N i terms ] T ) ∈ O N q ∞ where ⇔ denotes the bidirectional implication and v N i ( N i +1)is the last element in v N i . Therefore, given this relationship,we only need to compute and store O N q ∞ .We now introduce the Multi- N PRG, which solves q PRGs at each time step, one for each N i . All PRGs usethe same MAS, namely O N q ∞ , as justified above. To providemore details, recall from Section 3 that PRG contains an in-ternal state with an update law given by (14). Similarly, weintroduce an internal state, denoted here by e v ∈ R ( N q +1) , forthe Multi- N PRG. PRG i in the Multi- N PRG frameworkassumes the update law: e v ( t ) = M i ( ¯ A e v ( t − κ i ( r N q ( t ) − ¯ A e v ( t − A is defined the same as (12) but with N = N q , and r N q ( t ) is the lifted version of r at time t (defined as in (9)).The matrix M i is introduced above to force the control in-puts beyond the preview horizon N i to be constant (this is tomaintain consistency with the fact that PRG i has a previewhorizon of length N i ). The matrix M i that achieves this is: M i = (cid:20) I ( N i +1) ( N i +1) × ( N q − N i ) e I ( N q − N i ) × ( N i +1) ( N q − N i ) × ( N q − N i ) (cid:21) where e I ( N q − N i ) × ( N i +1) is a matrix with zeros everywhere ex-cept the rightmost columns, which are given by [1 , ,..., T .In the update law (17), for PRG i , the scalar κ i is computedby solving the following LP:maximize κ i ∈ [0 , κ i s.t. e v ( t ) = M i ( ¯ A e v ( t − κ i ( r N q ( t ) − ¯ A e v ( t − x ( t ) , e v ( t )) ∈ O N q ∞ (18)To fuse the solutions of the PRGs, the maximum valueamong { κ i } , i = 1 , ... , q is selected, denoted by κ i ∗ . Theindex that corresponding to κ i ∗ is denoted by i ∗ . Then, thefinal update law of Multi- N PRG is obtained by fusing thePRGs as follows: e v ( t ) = M i ∗ ( ¯ A e v ( t − κ i ∗ ( r N q ( t ) − ¯ A e v ( t − i ∗ is the PRG that computes κ i ∗ at time step t . Then, the same PRG can calculate a feasible solutionv j o i n t ang l e ( deg r ee ) y: PRG (N=25)y: Multi-N PRG (N=0,...25)constraint0 0.2 0.3 0.4 0.5 0.7 0.9 1-50050 de s i r ed j o i n t ang l e v: PRG (N=25)v: Multi-N PRG (N=0,...25)rtime Figure 5:
Comparison of Multi- N PRG and PRG with N = 25. at time t + 1, due to the recursively feasibility of the PRGformulation, which was proven in Proposition 1.Note that not all PRGs in the Multi- N PRG formulationwill have feasible solutions at every time step. If a feasiblesolution to these PRGs does not exist, κ i ’s for these PRGsare set to be 0. Note also that even though multiple pre-view horizons are considered in Multi- N PRG, only O N q ∞ isrequired to be computed and stored offline, implying that if N q for Multi- N PRG is equal to N for PRG, then the mem-ory requirements of the two formulations are the same. Wewill study the processing requirements in the next section.The simulation results of Multi- N PRG on the one-linkarm robot example are shown in Figure 5. For comparison,the results of the implementation of PRG with N = 25 isalso provided (this is the same as Figure 4). For the sake ofillustration, we consider the extreme case where the Multi- N PRG uses all preview horizons between 0 and 25; i.e., q = 26 and N = 0, N = 1, . . . , N = 25.From Figure 5, the outputs for both Multi- N PRG andPRG satisfy the constraints, as expected. However, fromthe bottom plot of Figure 5, it can be seen that when t ∈ [0 . , . v ( t ) given by Multi- N PRG reaches r ( t ) while v ( t ) com-puted by PRG is above r ( t ). The reason for this behavior isthat when t ∈ [0 . , . N = 0computes κ = 1, which leads to v ( t ) = r ( t ). Note that the ac-tual performance improvement (as seen on the output plot)is not large for this specific example but it could be large ingeneral.Next, we will discuss the impact of the value of q in theMulti- N PRG on the system performance. Consider twoextreme cases for the sake of illustration: first, N and N are chosen to be 0 and 100 (i.e., q = 2); second, N ,...,N are chosen to be all numbers from 0 to 100 (i.e., q = 101).The reason N q = 100 is selected is that the preview horizonin this case is 1 s (recall the sample time is T s = 0 . j o i n t ang l e ( deg r ee ) y: Multi-N PRG (N=0,100)y: Multi-N PRG (N=0,...100)constraint0 0.2 0.3 0.4 0.5 0.7 0.8 0.9 1 time -50050 de s i r ed j o i n t ang l e v: Multi-N PRG (N=0,100)v: Multi-N PRG (N=0,...100)r Figure 6:
Comparison of Multi- N PRG with q = 2 and q = 101. provements when a larger q is used. Generally, when thepreview horizon is longer than the expected variations ofthe reference, it is better to use the Multi- N PRG formula-tion with a larger q . However, this leads to an increase inthe computational burden, which is discussed next.
5. Computational considerations
In this section, we provide a comparison between thecomputation time of PRG, Multi- N PRG, and standardSRG by simulating the one-link arm robot example with allthree methods. Recall that SRG and PRG require the so-lution to one linear program (LP) at each time step, whileMulti- N PRG requires the solutions to q LP’s ( q = 26 forour example). However, we do not use generic LP solversto solve them. Instead, we use the Algorithm presented in[15] to solve the LPs in SRG and Algorithm 1 below to solvethe LPs in PRG. The LPs in Multi- N PRG can be solvedusing a similar algorithm. The notation in Algorithm 1 isas follows. It is assumed that O N ∞ is finitely determined andgiven by polytopes of the form (5). In addition, j ∗ denotesthe number of rows of H x , H v , and h . Algorithm 1
Custom Explicit PRG Algorithm let a = H v ( r N ( t ) − ¯ Av N ( t − let b = h − H x x ( t ) − H v ¯ Av N ( t − set κ = 1 for i = 1 to j ∗ do if b ( i ) < then κ = 0 else if a ( i ) > then κ = min( κ,b ( i ) /a ( i )) end if end if end for κ = max( κ, N PRG. Allviimulations were performed for 150 time steps in Matlabon an Apple Macbook Pro with 1 . N PRGis slower by one order of magnitude (because q PRGs aresolved at each time step).Finally, to provide a comparison of these computationtimes with those of other existing preview control methods,we simulate the one-link arm robot example with the PRGreplaced by a Command Governor (CG). Similar to MPC,a CG solves a Quadratic Program (QP) at each time step todirectly optimize over v ( t ). In addition, similar to MPC, itcan incorporate preview information into the cost function.In brief, our CG solves the following QP:minimize ( r N ( t ) − v N ( t )) T Q ( r N ( t ) − v N ( t ))s.t. ( x ( t ) ,v N ( t )) ∈ O N ∞ where Q = Q T >
0. We simulate the system with aboveCG. The QP above is solved at every time step using ex-plicit Multi-Parametric Quadratic Programming (MPQP),which is introduced in [23]. The computation times of CGare shown in Table 1. As can be seen, CG is one order ofmagnitude slower than Multi- N PRG. Note that we alsoimplemented online QP for the CG with N = 25, providedby MPT3 Toolbox in Matlab and Gurobi, and found thatthe computation times for both cases were longer than thatof MPQP. Table 1:
Comparison of the computation time between SRG,PRG, Multi- N PRG, and CG for one-link arm robot example
SRG PRG ( N = 25 ) avg 6 . × − s 3 . × − smax 9 . × − s 4 . × − s Multi- N PRG ( N q = 25) CG ( N = 25)avg 6 . × − s 6 . × − max 8 . × − s 0 .
6. Robust Preview Reference Governor
In this section, PRG is extended to systems with distur-bance preview, as well as systems with parametric uncer-tainties and preview information uncertainties.
In previous sections, we considered systems in whichthe preview information of the reference signal is available.However, there are situations wherein preview informationof disturbance signals may be available as well. For exam-ple, in printing systems, the effect of paper (i.e., the dis-turbance) on the heating or charging systems are known with some preview, since the timing of the paper leavingthe printing tray is precisely controlled [4]. Hence, in thissection, we consider systems where preview information ofdisturbances is available within a given preview horizon.For simplicity, we do not consider preview for the referencesignal, though the results can be combined with those of theprevious sections to consider preview on both references anddisturbances.Consider a system with additive bounded disturbancegiven by: x ( t +1) = Ax ( t )+ Bv ( t )+ B w w ( t ) y ( t ) = Cx ( t )+ Dv ( t )+ D w w ( t ) (19)where w ∈ W and W is a compact polytopic set with originin its interior. Essentially, we incorporate the disturbancepreview into the RG formulation as follows: the maximaladmissible set (MAS) is characterized as a function of thecurrent state, input, and the known disturbances within thepreview horizon. The set is then shrunk to account for theworst-case realization of the unknown disturbance beyondthe preview horizon. Specifically, the robust MAS for sys-tems with disturbance preview can be defined as: O w ∞ = { ( x ,v ,w ,...,w N ) : x (0) = x ,v (0) = v ,w ( i ) = w i , ≤ i ≤ N,y ( t ) ∈ Y , ∀ t ∈ Z + , ∀ w ( j ) ∈ W ,j > N } (20)To compute this set, define Y t = Y for t = 0 ,...,N , Y N +1 = Y ∼ D w W , and Y t +1 = Y t ∼ CA t − N − B w W for t ≥ N + 1,where ∼ represents the Pontryagin subtraction [10]. Then,the condition y ( t ) ∈ Y in (20) can be characterized equiva-lently by: CA t x + t − X k =0 CA k B + D ! v + h d ( t ) ∈ Y t where h d ( t ) is defined as: h d ( t ) = t − P k =0 CA t − − k B w w ( k )+ D w w ( t ) if t ≤ N N P k =0 CA t − − k B w w ( k ) if t > N Note that if N = 0, PRG with previewed bounded dis-turbance reduces to robust SRG with unknown boundeddisturbance. In summary, by shrinking the MAS to takethe worst case disturbance into consideration, robust PRGguarantees constraints satisfaction for all values of distur-bance beyond the preview horizon. Proposition 2.
The robust PRG formulation to distur-bance previews is BIBO stable, recursively feasible, and fora constant r , v ( t ) converges.Proof. Similar to the proof for Proposition 1We now illustrate the above idea with the one-link armrobot example. The disturbance is assumed to come fromvii j o i n t ang l e a y: robsust SRGy: robust PRG (N=20)constraint time -50050 de s i r ed j o i n t ang l e c v: robsust SRGv: robust PRG (N=20)r b y: robsust SRGy: robust PRG (N=50)constraint time -50050 d v: robsust SRGv: robust PRG (N=50)r Figure 7:
Comparison of PRG with disturbance preview andSRG with bounded unknown disturbance. the joint torque, i.e. B w = B and D w = 0. We also as-sume that the disturbance satisfies w ∈ W := [ − . , . − . , . N = 20 and N = 50 in order to illustratethe relationship between the system performance and thelength of the preview horizon. For comparison, Figure 7 alsoshows the response of robust SRG with unknown boundeddisturbance (i.e., no preview).The following observations can be made. First, the out-put from all methods satisfy the constraints for all timesteps, as expected. Second, it can be seen that v ( t ) givenby PRG is closer to r ( t ) (less conservative) than that ofSRG. The reason is that the constraint set for PRG withdisturbance preview is less conservative than that for SRGwith unknown disturbance. Third, the longer the previewhorizon, the better the performance (less conservative) be-comes.Finally, note that for the case where the future infor-mation of both reference and disturbance is available, themethods from Sections 3 and 6.1 can be combined to takethe preview of reference and disturbance into considerationsimultaneously. Reconsider system G ( z ) in Figure 2, but now with mod-eling uncertainty on the A and B matrices: x ( t +1) = A ( t ) x ( t )+ B ( t ) v ( t ) y ( t ) = Cx ( t )+ Dv ( t ) (21)where the pair ( A ( t ) ,B ( t )) is assumed to belong to an uncer-tainty polytope defined by the convex hull of the matrices:( A ( t ) ,B ( t )) ∈ conv { ( A (1) ,B (1) ) ,..., ( A ( L ) ,B ( L ) ) } where L is the number of vertices in the uncertainty poly-tope. It is shown in [20] that a robust MAS can be con- structed for this uncertain system. We note that a similaridea can be implemented for the PRG. Similar to (10), wewrite the dynamics in terms of the lifted input, but now weconsider the uncertainties: x ( t +1) = A ( t ) x ( t )+[ B ( t ) 0 ... | {z } e B ( t ) v N ( t ) ,y ( t ) = Cx ( t )+ e Dv N ( t ) (22)Then, the pair ( A ( t ) , e B ( t )) must belong to a convex hull ofthe following matrices:( A ( t ) , e B ( t )) ∈ conv { ( A (1) , e B (1) ) ,... ( A ( L ) , e B ( L ) ) } where e B ( l ) = (cid:2) B ( l ) ... (cid:3) , l = 1 ,...,L. By doing this,the method in [20] can be used to compute the robust MASfor PRG with system uncertainties. For the sake of brevity,we will not provide numerical examples in this section.
Proposition 3.
The robust PRG formulation describedabove is BIBO stable, recursively feasible, and for a con-stant r , v ( t ) converges.Proof. As proved in [20], the robust MAS for PRG is posi-tively invariant. The results follow using a similar approachas the proof of Proposition 1.
In previous sections, we assumed that the preview in-formation is accurate along the preview horizon. However,this assumption might not hold in practice since the pre-view information may come from inaccurate measurementsor uncertain models. In this section, we present an extensionof PRG that can handle inaccurate preview information ofreferences. As can be seen from (15), if r N ( t ) has incorrectvalues, then v N ( t ) will be calculated incorrectly. The im-plication of this is that, in the next time step, v N ( t +1) willbe computed based on the delayed version of this incorrect v N ( t ), which, for example, might cause v ( t ) to change before r ( t ) does. This behavior is unacceptable for most systems.Note that the constraints will still be satisfied; however, asargued above, performance may suffer. Thus, our solutionin this section focuses on avoiding this loss of performancewhen the preview information is inaccurate. Essentially, weachieve this goal by modifying the update law for v N ( t ).To begin, we assume that at time t , r ( t ) is accuratelyknown, but there is uncertainty on the value of r along thepreview horizon, i.e., r ( t +1) ,...,r ( t + N ) are inaccurate. Toaccommodate this uncertainty, we modify (12) to:¯ A = − λ λ ... − λ λ − λ λ ... − λ λ − λ λ − λ ... λ N − λ λ − λ λ − λ ... λ N (23)where λ i ∈ [0 ,
1] are tuning parameters to account for pre-view uncertainties. This means that instead of the delayedviii igure 8:
The slice of O N ∞ at x = 0. v N, and v N, representthe first and second element in v N , respectively. structure of (12), v N ( t ) now evolves such that the value of v at each time along the preview window is a convex combina-tion of the value at that time and the values in the previoustimes. This effectively incorporates “forgetting” into theformulation to counteract the uncertainties in preview in-formation. We tune λ i according to the relative level ofuncertainty on the i -th preview information, r ( i ). Specifi-cally, if the uncertainty is large, λ i is chosen to be close to0. If this is the case, PRG with the new ¯ A matrix (i.e., (23))will turn to SRG. If r i is very accurate, on the other hand, λ i will be chosen close to 1. Then, PRG with the new ¯ A will turn to standard PRG (as shown in Section 3). Thus,robust PRG is a proper extension of both standard PRGand SRG. Note that typically the level of uncertainty on r i increases along the preview horizon, which means that thesequence of λ i is increasing.The construction of O N ∞ and the computation of v N arethe same as (13) and (18), except that ¯ A is changed from(12) to (23). Now, we will illustrate this approach using theone-link arm robot example (see the example in Section 3).Suppose first that the preview horizon, N , is equal to 1. Theslice of O N ∞ at x = 0 is shown in Figure 8. The red regioncorresponds to the slice of O N ∞ given by the standard PRGat x = 0. The green region represents the slice of O N ∞ givenby the robust PRG at x = 0, where we have chosen λ = 0 . N = 1), the matrix ¯ A has only one λ . The situation we consider is as follows. Suppose at t = 0,the preview information is given by r N (0) := ( r (0) ,r (1)) =(0 , .
5) (yellow dot in Figure 8). However, assume that the actual preview information is (¯ r (0) , ¯ r (1)) = (0 ,
0) (purpledot), which is unknown to the PRG. Note that r (0) = ¯ r (0)since we assume that the current information is accurate.Obviously, v N (0)’s given by standard PRG and robust PRG(discussed in previous paragraph) will be equal to r N (0)(i.e., v N (0) = (0 , . r N (0) is in both MASs (red andgreen regions in Figure 8). In the next time step ( t = 1),if κ = 1, v N (1) given by standard PRG (i.e., (15)) is a con-vex combination between the delay version of v N (0) (i.e.,(0 . , . r N (1). For robust PRG, v N (1) is a convexcombination between ¯ Av N (0) = (0 . , .
45) and r N (1). Note time -50050 j o i n t ang l e ( deg r ee ) y: robust PRG (N=4)y: standard PRG (N=4)constraint0 0.2 0.4 0.6 0.8 1 time -50050 de s i r ed j o i n t ang l e v: robust PRG (N=4)v: standard PRG (N=4)r0.240.24 Figure 9:
Comparison of standard PRG and robust PRG. Redlines represent the simulation results of standard PRG and bluelines refer to the simulation results of robust PRG. that if the uncertainty is large, λ would be chosen close to 1and ¯ Av N (0) will be close to (0 , v N by multiplying the previousinformation with values smaller than 1 (i.e., λ ’s). Remark 4.
By comparing (23) and (12) , it can be seenthat, for robust PRG, the last element in v N is multipliedby a value less than and the first element in v N is multi-plied by a value that is not equal to , which is different fromthose in standard PRG. This implies that the MAS for ro-bust PRG will stretch along the v N,N axis and shrink alongthe v N, axis as compared with the MAS for standard PRG(as shown in Figure 8). Thus, unlike the robust MAS fordisturbances and polytopic uncertainties, it is not the casethat the robust MAS for inaccurate preview information isa subset of the MAS for standard PRG. We now perform numerical simulations of the one-linkarm robot example. We change the preview horizon to N = 4for the sake of illustration. We consider the scenario wherethe assumed preview information is larger than the actualpreview information along the preview horizon. The ¯ A ischosen to be:¯ A = . . . .
15 0 .
75 0 00 . .
15 0 . .
45 00 . .
15 0 . .
35 0 . . .
15 0 . .
35 0 . (24)Note that several sets of λ ’s were tried and the above ¯ A wasfound to result in the best performance (will be explainedlater). We acknowledge that there are other possibilities tochoose ¯ A and finding the optimal set of λ s will be exploredin future work. The comparison between standard PRGand robust PRG is shown in Figure 9. It can be seen thatwhen t ∈ [0 . , . v ( t ) given by robust PRG (blue line) iscloser to r ( t ) than that given by standard PRG (red line).The reason for the behavior can be explained as follows. At t = 0 . v N (20)’s given by standard PRG and robust PRGare both equal to r N (20). Recall that the first element inix N (20) is accurate and the rest elements in r N (20) are in-accurate. Then, in the next time step, for standard PRG, v (21) is calculated as a convex combination between thedelayed version of r N (20) (inaccurate) and r N (21). With κ = 0 . v (21) is calculated as 0 .
13. For robust PRG, v (21)is computed as a convex combination between ¯ Ar N (20),where ¯ A is shown in (24), and r N (20). With κ = 0 . v (21) = 0 .
05. Note that by increasing the value of λ in(24) (i.e., 0 . v (21) would become closer to r (21) := 0.However, the tracking performance would not be improvedsignificantly as compared with SRG. Proposition 4.
The robust PRG formulation to inaccu-rate preview information is BIBO stable, recursively feasi-ble, and for a constant r , v ( t ) converges.Proof. The proof of BIBO stable and recursively feasibilityare the same as the proof for Proposition 1. To prove theconvergence property, assume r ( t ) = r, ∀ t ∈ Z + . Note thatlim j →∞ ¯ A j = ¯ A , where ¯ A is a static matrix, since ¯ A shownin (23) is a stochastic matrix. Then, from (14), it can beshown that every element in v N ( t ) is monotonic increasingafter ¯ A j converges and bounded by r . Thus, v N ( t ) mustconverge to a limit.
7. PRG for multi-input system
In this section, we will briefly introduce an extensionof PRG to multi-input systems. One possible, straightfor-ward solution is to apply the PRG ideas from above directlyto multi-input systems. However, as will be shown in anexample later, this approach might lead to a conservativeresponse since PRG uses a single decision variable to simul-taneously 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 Refer-ence Governor (DRG) scheme [15]. Detailed informationwill be introduced below.To begin, suppose that system G ( z ) in Figure 2 has m inputs, i.e., v ( t ) ,r ( t ) ∈ R m . Let us denote the preview hori-zon for the m different inputs (i.e., r ,...,r m ) by N ,...,N m ,respectively. Define the lifted signals r N and v N as follows: r N ( t ) = ( r ( t ) ,...,r ( t + N ) ,...,r m ( t ) ,...,r m ( t + N m )) v N ( t ) = ( v ( t ) ,...,v ( t + N ) ,...,v m ( t ) ,...,v m ( t + N m )) (25)We can select the dynamics of v N ( t ) to be the same as (11)but with ¯ A constructed as:¯ A = ¯ I N ... N × N m ... . . . ...0 N m × N ... ¯ I N m (26)where ¯ I N i ( i = 1 ,...,m ) is defined the same as (11), with N replaced by N i .The construction of O N ∞ and the calculation of v N arethe same as (13) and (15), except that ¯ A is modified to (26).Below, we will provide an illustrative example to show that time -50050 j o i n t ang l e constraint0 0.5 0.8 1 1.2 1.5 2 time -50050 de s i r ed j o i n t ang l e v v r r Figure 10:
Simulation results of PRG for the two-link armrobot. The blue lines represent the response of joint 1 and thered lines represent the response of joint 2. this approach works as required but might lead to a conser-vative response. Consider a two-link arm robot, which hasdynamics as follows [17]: ˙ x ˙ x ˙ x ˙ x = − . − .
62 0 00 . − .
62 0 0 x x x x + . − . .
04 0 . h τ τ i (27)where τ and x := θ are the external torque and thejoint angle for the first link, respectively. Similarly, τ and x := θ are the torque and the joint angle for the second link,respectively. The constrained outputs are θ and θ . Theconstraints on both joint angles are [ − , T s = 0 . s . Then, astate feedback controller is designed to ensure that θ and θ track desired joint angles, v and v , respectively, that is: h τ τ i = h .
23 00 3333 . ih v v i − h
750 155 59 19 −
226 2867 −
18 350 i x x x x The preview horizons for both references are chosen to be 40(i.e., N = N = 40). The simulation results of PRG of thismulti-input system are shown in Figure 10. As can be seen,the outputs both satisfy the constraints, as required. How-ever, when t ∈ [0 . , . v can not reach r , which is shownby the purple dashed line in the bottom plot, even though y (i.e., red line in the top plot) is far from the lower con-straint. This is caused by the fact that y (i.e., the blue linein the top plot of Figure 10) reaches the constraint when t ∈ [0 . , . κ being equal to 0. Since asingle κ is used in PRG scheme, v can not reach r .From the above discussion, it can be seen that this ap-proach might lead to a conservative response. To addressthis shortcoming, we propose another method, which com-bines the PRG theory with the DRG scheme in [16]. As aquick review, DRG is based on decoupling the input-outputdynamics of the system, followed by the application of SRGto each decoupled channel. In our solution, instead of usingSRGs to govern the decoupled channels, we use the PRGpresented in Section 3. This leads to the block diagramshown in Figure 11. For ease of presentation, we will as-x − ( z ) P RG ...... ... ... ...... P RG m F ( z ) G ( z ) r ,N r m,Nm r ′ ,N r ′ m,Nm u u m v v m y y m W ( z ) x x m Figure 11:
PRG block diagram for square MIMO systems. r i,N i ( t ) represents the lifted r i over the preview horizon, i.e., r i,N i ( t ) = ( r i ( t ) ,...,r i ( t + N i )). sume the system is square (i.e., equal number of inputs andoutputs). Non-square systems can be handled as well byconsidering the DRG scheme for non-square systems pre-sented in [16].Thus, we suppose the closed-loop system G ( z ) is de-scribed by a m × m transfer function system matrix withelements G ij . As shown in Figure 11, we decouple G ( z ) byintroducing F ( z ), leading to a diagonal system: W ( z ). Asdiscussed in [15], there are several ways to construct W ( z ).For the sake of brevity, we only consider the case where W ( z )is given by: W ( z ) = diag( G ,G ,...,G mm ). Note that thesame process to combine PRG idea and DRG scheme canbe applied to other formulations of W ( z ) as well. Then, m different PRGs for single-input systems (see Section 3)are implemented, one for each W ii . Finally, as discussed in[15], F − is introduced to ensure that v and r are close if r isnot constraint-admissible. Simulation results of the secondapproach on the two-link arm robot are shown in Figure12. As can be seen, the outputs satisfy the constraints, asrequired. Also, when t ∈ [0 . , . v reaches r , which isrepresented by the purple dashed line in the bottom plot.This behavior can be explained as follows. When t = 0 .
8, thePRGs have the future information that r will drop downto −
56 at t = 1 and then go up towards −
20 at t = 1 . N = N = 40). Also, from the top plot of Figure 12,it can be seen that when t ∈ [0 . , . y (red line in thetop plot) does not reach the lower constraint, which leadsto κ = 1 (recall that κ refers to the optimization variablegiven by the second PRG). Hence, v reaches r .Note that both approaches discussed above can be easilyextended to multi- N PRG by combining DRG scheme andMulti-N PRG idea.
8. CONCLUSIONS AND FUTURE WORKS
In this work, a reference governor-based method for con-straint management of linear systems is proposed. Themethod is referred to as Preview Reference Governor (PRG)and can systematically account for the preview informationof reference and disturbance signals. The method is basedon lifting the input of the system to a space of higher di-mension and designing maximal admissible sets based onthe system with lifted input. We showed a limitation ofPRG and proposed an alternative method, which we referedto as Multi-horizon PRG (multi- N PRG), to overcome the time -50050 j o i n t ang l e constraint0 0.5 0.8 1 1.2 1.5 2 time -50050 de s i r ed j o i n t ang l e v v r r Figure 12:
Simulation results of PRG for the two-link armrobot. The blue lines represent the response of joint 1 and thered lines represent the response of joint 2. limitation. Disturbance previews, parametric uncertain-ties, and inaccurate preview reference information were alsoaddressed. We also showed that the PRG for multi-inputsystems using the lifting idea (i.e., first solution in Section7) might cause conservative response. Thus, we proposedanother method, which combines the Decoupled ReferenceGovernor scheme and PRG, to overcome this limitation.Future work will explore preview control in the contextof Vector Reference Governors, as well as finding the opti-mal set of λ s that gives the best performance in our robustPRG formulation. We will also investigate the extension ofPRG to nonlinear systems. References [1] Alberto Bemporad, Francesco Borrelli, Manfred Morari, et al.Model predictive control based on linear programming, theexplicit solution.
IEEE transactions on automatic control ,47(12):1974–1985, 2002.[2] Nidhika Birla and Akhilesh Swarup. Optimal preview con-trol: A review.
Optimal Control Applications and Methods ,36(2):241–268, 2015.[3] Eduardo F Camacho and Carlos Bordons Alba.
Model predictivecontrol . Springer Science & Business Media, 2013.[4] ShiNung Ching, Yongsoon Eun, Eric Gross, Eric Hamby, PierreKabamba, Semyon Meerkov, and Amor Menezes. Modeling andcontrol of cyclic systems in xerography. In
Proceedings of the2010 American Control Conference , pages 4283–4288, 2010.[5] Stefano Di Cairano. An industry perspective on mpc in largevolumes applications: Potential benefits and open challenges.
IFAC Proceedings Volumes , 45(17):52–59, 2012.[6] Asif Farooq and David JN Limebeer. Path following of optimaltrajectories using preview control. In
Proceedings of the 44thIEEE 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 referencegovernor for constrained nonlinear systems.
IEEE Transactionson Automatic Control , 61(5):1379–1384, 2015.[9] E. G. Gilbert and K. T. Tan. Linear systems with state andcontrol constraints: the theory and application of maximaloutput admissible sets.
IEEE Transactions on AutomaticControl , 36(9):1008–1020, Sep 1991. xi
10] Elmer G Gilbert and Ilya Kolmanovsky. Discrete-time referencegovernors for systems with state and control constraints and dis-turbance inputs. In
Proceedings of 1995 34th IEEE Conferenceon Decision and Control , volume 2, pages 1189–1194. IEEE,1995.[11] C. Gohrle, A. Schindler, A. Wagner, and O. Sawodny. Designand vehicle implementation of preview active suspension con-trollers.
IEEE Transactions on Control Systems Technology ,22(3):1135–1142, May 2014.[12] Christoph G¨ohrle, Andreas Wagner, Andreas Schindler, andOliver Sawodny. Active suspension controller using mpc basedon a full-car model with preview information. In , pages 497–502. IEEE, 2012.[13] Arne Koerber and Rudibert King. Combined feedback–feedforward control of wind turbines using state-constrainedmodel predictive control.
IEEE Transactions on ControlSystems Technology , 21(4):1117–1128, 2013.[14] I. Kolmanovsky, E. Garone, and S. Di Cairano. Reference andcommand governors: A tutorial on their theory and automotiveapplications. In , pages226–241, June 2014.[15] Yudan Liu, Joycer Osorio, et al. Decoupled reference governorsfor multi-input multi-output systems. In , pages 1839–1846. IEEE, 2018.[16] Yudan Liu, Joycer Osorio, and Hamid R. Ossareh. Decoupledreference governors: A constraint management technique formimo systems, 2020.[17] Samia M Mahil and Ahmed Al-Durra. Modeling analysis andsimulation of 2-dof robotic manipulator. In , 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 outputadmissible sets for linear periodic systems.
International Journalof Control , 93(1):113–125, 2020.[20] Bert Pluymers, John A Rossiter, Johan AK Suykens, and BartDe Moor. The efficient computation of polyhedral invariant setsfor linear systems with polytopic uncertainty. In
Proceedings ofthe 2005, American Control Conference, 2005. , pages 804–809,2005.[21] Shuhei Shimmyo, Tomoya Sato, and Kouhei Ohnishi. Bipedwalking pattern generation by using preview control based onthree-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 andexplicit mpc solutions.
Automatica , 39(3):489–497, 2003., 39(3):489–497, 2003.