A robust offline precomputed optimal feedforward control action for the real time feedback/feedforward control of double pendulum gantry cranes

This paper deals with FeedBack/ FeedForward (FB/FF) control of double pendulum gantry crane systems with payloads taking values over arbitrarily large intervals. The new proposed 2DoF control architecture is aimed at: 1) to speed up the horizontal payload transportation while minimizing the tracking error with respect to a desired trajectory, 2) to minimize the sway angles amplitude. The main features of the control design procedure are: 1) the dynamic output FB control is designed in order to ensure the robust stability of the closed loop system and the steady-state exact payload positioning; 2) the FF control action is given by the optimally weighted sum of the two contributions due to FF Plant Inversion a (FFPI) and FF Closed Loop Inversion (FFCLI) control schemes; 3) the optimal robust FF control input is obtained as the solution of a min max optimization problem that can be solved offline with numerically efficient procedures; 4) the provided analytical closed form of the FF input in terms of a linear combination of polynomial B-splines basis functions allows an easy implementation on commercial devices.


I. INTRODUCTION
The two main control requirements for a gantry crane system are: 1) a fast and very accurate point-to-point payload transition, 2) the minimization of the sway angles amplitude. Reconciling these two opposite control specifications calls for particular control techniques that can be summarily classified as FF, FB and FB/FF techniques. FF open-loop techniques are mainly based on input-shaping algorithms [1]- [9] and are the most used both for their simplicity and because they do not require sensors for measuring the sway angles. However, these techniques are sensitive to external disturbances and parametric uncertainties. FB control techniques [10]- [14] reduce these inconveniences exploiting the information carried by sway angle measures but may produce a slow overall response due to the input delay in the FB loop [15]. Recent FB control techniques [16], [17] have been proposed to also handle actuator deadzones/constraints. To avoid the need of velocity sensors, the recent FB control methods proposed in [27] and [19] realize the output action without involving any velocity signals, which are replaced by suitably constructed auxiliary signals. The 2DoF structure of a combined FB/FF action introduces significant advantages: the FB controller enhances robustness and damping properties, the FF control reduces the payload oscillations forcing the closed-loop system with a suitably shaped reference input [20]- [25]. An extensive review of both linear and non linear crane control techniques can be found in [15], [26]. Very recent references based on a linear approach can be found in [27]- [29]. The present contribution situates in the category of 2DoF FF/FB, where the FF input is obtained through a dynamic inversion procedure [30]- [33]. Control techniques based on linear (or linearized) model inversion have already been successfully used for the openloop control of oscillatory systems [4] and applied to a single pendulum crane model in [34]. The method proposed in [35] is applied to a single oscillatory mode gantry crane and the command input is determined assuming null initial conditions and inverting the transfer function of nominal linearized closed loop system. Reference [36] proposes the application of a simplified input-output inversion technique for the openloop control of an overhead crane modeled as a double pendulum. Underlying assumptions are negligible zero dynamics and null initial conditions. The inversion procedure is applied to the nominal plant and robustness with respect to possible model uncertainties is tested "a posteriori" by simulations. As in [4] and [34]- [36], reference is here made to a linearized model to allow the application of optimization methods without excessive numerical complications.
The main differences with respect to the two latter references consist in: 1) the proposed approach does not require either the exact knowledge of the plant or null initial conditions, 2) the robustness requirement is "a priori" taken into account in the control design procedure, 3) the minimization of the sway angles amplitude is addressed.
The method proposed in this paper follows the lines of [37], [38]: the FF input is shaped through an offline inversion procedure based on an optimality criterion. The important novelties are: 1) a new and more general 2DoF control architecture is here proposed, 2) to take into account payloads taking values over arbitrarily large intervals, a minmax optimization approach is adopted: the knowledge on the payload bounds is exploited to define an optimal robust FF action with reference to the worst case scenario, 3) the FF input is parametrized as a B spline function. Point 1 deserves some considerations. The most widely used 2DoF control schemes for inverse control can be classified as FF Plant Inversion (FFPI) architectures (see e.g. [33], [39]- [44] and references therein), or FF Closed Loop Inversion (FFCLI) architectures (see e.g. [35] , [45]- [48]). With reference to some SISO plants, the performances of the two architectures are discussed and compared in [49]- [53]. For example, in disk drive applications FFCLI seems to provide better settle time performance than FFPI under low frequency parametric uncertainty [49]. For high-speed scanning probe microscopes, FFPI tends to have better positioning performance than FFCLI, [50]. In atomic force microscope applications, the FFCLI yields better tracking performance than FFPI even in the presence of model uncertainties, [51]- [53]. As each of the two architectures has advantages over the other depending on the specific problem, it would be very useful to define a more general 2DoF control architecture optimally combining the FFPI and FFCLI control actions independently of the particular application. Unfortunately, this problem can not be solved with the guidelines stated in the above papers because they refer to some definite applications and their qualitative nature makes it difficult any generalization. The inversion procedure proposed in this paper is a way to settle the issue because the resulting FF control law is always given by an optimal combination of the FFPI and FFCLI control actions independently of the particular application.
For this reason the new inversion procedure is referred to as FF Optimally Balanced Inversion (FFOBI). The design of the FFOBI architecture proposed in this paper can be summarized in the two following steps.
Step 1. Given a linearized state-space model of a double pendulum gantry crane where the payload may take values over a given bounded interval, a full-state observer based FB controller is designed to guarantee the robust stability of the closed-loop system Σ f . Only the cart displacement measure is assumed to be available.
The controller is also endowed with an internal model of constant signals. The observer provides a virtual measure of the two swing angles, of their derivatives and of the cart velocity, making superfluous the relative sensors. The internal model needs to guarantee an exact steady-state tracking. The extension of Step 1 to the case of payloads taking values over arbitrarily large, bounded intervals is discussed in Section V.A.
Step 2. Σ f is forced by two inputs r 1 (t) and r 2 (t) affinely depending on the outputs s 1 (t) and s 2 (t) of two FF input estimators IE 1 and IE 2 simultaneously operating according to the FFCLI and FFPI schemes respectively. The two signals s 1 (t) and s 2 (t) are computed so that the corresponding r 1 (t) and r 2 (t) minimize a worst-case quadratic cost functional of the transient tracking error and of the sway angles amplitude and are searched in the linear space generated by polynomial B-spline basis functions of a fixed degree. Remark 1. It is here stressed that the purpose of the paper is not designing the FB controller (Step 1). As far as the FB controller can be well designed, it is well known that for a significant improvement of the transient tracking performance, a 2DoF control structure should be used (see e.g. [54]). Hence, the major breakthrough of this paper is precisely to define a new approach for the design of the precomputed optimal FF control input (Step 2) acting in the proposed 2DoF control scheme. Remark 2. Parametrizing s 1 (t) and s 2 (t) as polynomial Bsplines involves significant advantages deriving from the following properties:1) B-spline functions are continuously differentiable universal approximators which admit a parsimonious parametric representation, 2) B-splines functions belong to the convex hull defined by the relative control points [55]. Property 1 significantly reduces the number of parameters (the control points) with respect to which the functional is minimized and simplifies the minimization problem by reformulating it as a robust least square estimation problem (see Section IV.B.1 ). Property 2 guarantees the asymptotic internal stability of the overall control scheme (see Remark 8 in Section IV.B.1 ). The resulting optimal FF action is given by the optimal balance of the two contributions produced by FFPI and FFCLI control schemes because the estimated control points univocally define the corresponding polynomial B-splines and hence the corresponding inputs to Σ f , r 1 (t) and r 2 (t). The weights of the two contributions are given by the 2-norms of the estimated B-splines.
Remark 3. A preliminary simplified version of the above outlined method has been applied to a single pendulum model [56]. The main substantial improvements introduced here are: 1) a double pendulum model is considered; 2) the payload is allowed to take values over arbitrarily large intervals; 3) the sway angle minimization problem is taken into account, 4) the real time implementation of the proposed offline optimization procedure is discussed.
The paper is organized in the following way. Some preliminaries are recalled in Section II. The FFOBI control architecture and problem statement are given in Section III. The solution procedure is explained in Section IV. Some extensions are discussed in Section V. Several numerical simulations are reported in Section VI. Some concluding remarks are reported in Section VII. Reference is here made to the gantry crane system shown in Fig. 1 whose linearized state-space model is derived under the following usual assumptions (see e.g. [15], [57], [58]): 1) point-masses cart and payload, 2) horizontal movement of the payload on the x − y plane, 3) the rope is stretched and its elasticity is in fact negligible. The system shown in Fig. 1 consists of a concentrated payload and a hook with relevant mass. In the model, x represents the position of the cart, F is the force applied to the cart, m,m 1 ,m 2 are the mass of the cart, of the hook and of the payload respectively and c c , c 1 , c 2 are the viscous friction coefficients of the cart, of the first and of the second cable, respectively. The variables θ 1 and θ 2 are the hook and payload angles with respect to the vertical line. The lengths of the first and of the second cable are denoted as l 1 and l 2 respectively. Using Lagrange method the following equation is obtained:

A. THE LINEARIZED GANTRY CRANE MODEL
The mathematical expression of M (q), C(q,q) and G(q) can be easily derived from the system of equations (3) in [36]. By linearizing (1) around the equilibrium point θ 1 = θ 2 = 0 andθ 1 =θ 2 = 0, the following state space representation is obtainedẋ where x p = xẋ θ 1θ1 θ 2θ2 T ∈ R n , n = 6, C m = 1 0 0 0 0 0 y L (t) ∈ R q , q = 1, is the controlled output , y m (t) ∈ R s , VOLUME 4, 2016 s = 1, is the measured output and u(t) = F ∈ R v , v = 1, is the control effort. Note that the controlled output y L (t) (the payload position) does not coincide with the measured output y m (t) = x(t), (the cart position), because, to avoid additional sensors, it is assumed that the sway angles and are not measured. This problem can be overcome replacing y L (t) with its virtual measureŷ L (t) = x(t) + l 1θ1 (t) + l 2θ2 (t), where the angle estimatesθ 1 (t) andθ 2 (t) are provided by a full state observer. The observer also allows the reconstruction of the velocity signalsẋ(t),θ 1 (t),θ 2 (t) which are usually difficult to obtain in practice. The payload mass m 2 may take values on a given interval I = [m − 2 , m + 2 ] of arbitrary amplitude. Defining the unit simplex Λ 2 = {α ∈ R 2 s.t. α 1 + α 2 = 1, α 1 , α 2 ≥ 0}, the dynamical matrix of the linearized state space model (2)-(4) can be expressed in the following form: namely A(α) is an element of the polytopic set A given by the convex hull of vertices A i . It can be easily verified that ∀m 2 ∈ I, (i.e. ∀α ∈ Λ 2 ) the two following properties hold: P1) the pairs (A(α), B) and (C m , A(α)) are, respectively, reachable and observable, P2) the system matrix sI − A(α) B −C L D of the triplet (C L , A(α), B) relating the control input u(t) to the controlled output y L (t) has rank = n + v = n + 1 at s = 0, ∀α ∈ Λ 2 , namely the triplet (C L , A(α), B) has no transmission zeros at s = 0, ∀α ∈ Λ 2 . For ease of notation in future developments, the following assumption is momentarily introduced: A1) the amplitude of the interval I is such as to guarantee that Σ ≡ (C m , C L , A(α), B) is robustly stabilizable by a unique observed based controller. The existence of such an interval is guaranteed by the above properties. Assumption A1 will be removed in Section V.A. where the extension to the case of arbitrarily large I will be considered. Property P2 also implies that the stabilized closed loop system Σ f is able to track constant input signals with a null steady-state error provided the stabilizing controller is also endowed with an internal model of such a class of signals [60].

B. B-SPLINE FUNCTIONS
A polynomial, B-spline time function is defined as a linear combination of polynomial B-splines basis time functions and control points: where the c i 's are real numbers representing the control points of s(t), the integer d is the degree of the B-spline, are the non decreasing knot points and the B i,d (t) ∈ R are the B-spline basis functions which can be computed by the Cox-de Boor recursion formula [55]. An equivalent representation of s(t) in (12) is Smoothness property. Suppose thatt i <t i+1 = · · · = t i+m <t i+m+1 , with 1 ≤ m ≤ d + 1 then the B-spline function s(t) has continuous derivative up to order d − m at knott i+1 . This property implies that the spline smoothness can be changed using multiple knot points. It is common choice to set m = d+1 multiple knot points for the initial and the last knot points and to evenly distribute the other ones. In this way (12) assumes the first and the final control points as initial and final values.
For a p-component vector whereB is defined as in (13). The dimensions ofc are (p × 1). The dimensions of the block diagonal matrixB d (t) are (p × p ). Remark 4. From (13) it is apparent that, once the degree d and the knot pointst i have been fixed, the scalar B spline function s(t), t ∈ [t 1 ,t +d+1 ], is completely determined by the corresponding vector c of control points. There is no systematic way to fix the degree of a B spline. In theory the higher the degree the better. In practice, pertinent literature [55] suggests that cubic splines represent a good compromise between computational complexity and modeling accuracy.

C. THE ROBUST LEAST SQUARES PROBLEM
Given an overdetermined set of linear equations Df ≈ g, with D ∈ R r×m , g ∈ R r , subject to unknown but bounded errors: δD s ≤ ρ and δg s ≤ ξ, the robust least squares estimatef ∈ R m is the value of f minimizing where · s denotes the spectral norm. As shown in ( [59], p. 206), problem (15) is equivalent to minimizing a sum of Euclidean norms The FFOBI control scheme for the gantry crane model Possible constraints on f of the kind can be taken into account by imposing all the scalar linear inequalities deriving from the above vector constraint.

III. THE FFOBI CONTROL SCHEME AND PROBLEM STATEMENT
The new 2DoF control scheme proposed in this paper is shown in Fig. 2 where, without any loss of generality, a unitary FB from the virtual measureŷ L (t) of the controlled output is assumed. The two blocks IE 1 and IE 2 are two FF input estimators operating according to the FFCLI and FFPI schemes respectively. The inputs of both FF filters are the desired output y d (t) to be tracked and an estimatex f (0) of the initial state of Σ f . The outputs of IE 1 and IE 2 are the two B-splines s 1 (t) ∈ R q (q = 1) and s 2 (t) ∈ R v (v = 1) respectively. The two scalars µ 1 and µ 2 are two binary variables. The FFOBI control scheme optimally combining the FFCLI and FFPI architectures corresponds to µ 1 = µ 2 = 1.
The block Σ f is the FB connection of the polytopic linearized Gantry Crane model Σ = (C m , C L , A(α), B) with an LTI robustly stabilizing dynamic output FB controller. A detailed description of the FB controller structure and the resulting state space representation (C f , A f (α), B f ) of the closed loop system Σ f are given in section III.A. Before formulating the problem statement, the following definitions and notation are introduced. The desired output trajectory y d (t) for the payload transition y L (t) is partitioned in a transient and steady state component as follows: where y d,t (t) andỹ d denote the transient and steady state behavior of y d (t), respectively, T y is the time interval over which y d,t (t) is required to converge towardsỹ d . The desired transient response y d,t (t) is pre-specified on the basis of common requirements for point to point payload positioning like a fast and smooth transition towards the desired steady state valueỹ d . Also the signals T are partitioned in a transient and steady state components defined as follows: , i = 1, 2) and the actual controlled output y L (t) under the action of r t (t) has almost achieved the desired set pointỹ d . Definition 1. The optimal combination of FFPI and FFCLI is the one giving a minimum 2-norm tracking error and a minimum 2-norm sway angles. By the above definition, the problem of finding the optimal FF control law acting in the FFOBI scheme can be restated as the following equivalent Robust Almost Exact Output Tracking (RAEOT) problem.
be a robustly asymptotically stable closed loop system. Given a desired y d (t) defined as in (18), it is required to find a FF control input r(t) defined as in (20) satisfying the following conditions ∀A f (α) ∈ A f : Transient condition: r t (t) is a continuous function smoothly converging tor(t r ) over T r and yielding: 1) an actual controlled output y L (t) which is an optimal approximation (in the robust least square sense) of y d (t), t ∈ T r , 2) minimal sway angles θ 1 (t), θ 2 (t). Steady-state condition:r(t) yields a tracking error e(t) = y d (t) − y L (t), asymptotically converging to zero. Boundedness condition: r(t) is uniformly bounded for any uniformly bounded y d (t).

A. THE STATE SPACE REPRESENTATIONS OF THE FB CONTROLLER AND OF THE CLOSED LOOP SYSTEM
The dynamic output FB controller includes a full state observer Σ o of x p (t) and the internal model Σ c of constant signals. The observer Σ o has the forṁ whereĀ is the assumed nominal dynamical matrix of Σ and L is the observer gain matrix. Recalling thatŷ L (t) = x(t)+l 1θ1 (t)+l 2θ2 (t) is a measure of the actual controlled output provided by Σ o , the state-space where x c ∈ R, A c = 0 and B c = 1, [60]. The control effort u(t) forcing the gantry crane model Σ is given by The state space representation How to compute the controller gain matrices L, K c and K, which guarantee the robust stability of the closed loop system Σ f given by (24)- (25), is explained in section VI.A.

IV. COMPUTATION OF THE FF CONTROL INPUT
In accordance with definition (20), this step is performed through a separate computation of the steady stater(t) and transient r t (t) components of r(t).

A. COMPUTATION OF THE STEADY-STATE COMPONENT
As by A1) Σ f is robustly asymptotically stable, then, by P2, the steady-state and boundedness conditions can be automatically satisfied as a direct consequence of endowing the dynamic output FB controller with the internal model of constant signals, [60]. Recalling the assumption of a unitary FB, it is enough to chooses 1 (t) =s 2 (t) = 0, for t ≥ t r , which, by (20),

B. COMPUTATION OF THE TRANSIENT COMPONENT
The transient component r t (t) of r(t) is obtained as the solution of a min-max optimization problem where the quadratic cost functional also includes the quadratic norm of the sway angles. For real time applications, this problem must necessarily be solved offline. As the payload is not "a priori" known, robustness with respect to parametric uncertainty must be considered an essential feature of the solving procedure.
The optimization problem is numerically solved imposing to r t,1 (t) = y d (t) + µ 1 s 1,t (t) and to r t,2 (t) = µ 2 s 2,t (t) the structure deriving from the assumption of modeling the transient components of s 1 (t) and s 2 (t) respectively as polynomial B-spline functions given by (14). The parameter vector defining r t (t) is computed as the solution of the constrained optimization problem defined beneath. Let T r = [0, t r ) be partitioned as T r = nr k=1 T k , where T k = [t k−1 , t k ), k = 1, · · · , n r , with t k = k∆ and ∆ = tr nr are disjoint sub-intervals such that: t 0 = 0, t nr = n r ∆ = t r . The transient r t (t) is determined from the off-line minimization of the following quadratic cost functional of the augmented residual vector e(t k |0) given by (27) where e y L (t k |0) is the predicted tracking error between the desired y d (t k ) and predicted payload position y L (t k |0). An analogous definition holds for the remaining components e θi (t k |0), i = 1, 2 of the augmented residual vector where the desired θ i,d (t k ), i = 1, 2 are null functions. According to (9)-(10) the matrices C f,i are defined as C f,i = C i 0 0 , for i = 1, 2. The explicit dependence on α of e(t k |0) has been omitted for simplicity of notation. By definition of r t (t) and according to (14) one has where the integers d 1 and d 2 indicate the degrees of the scalar B spline functions composing r t,1 (t) and r t,2 (t) respectively.
compact expression of e(t k |0) results to be given by The input function r t (t), t ∈ T r , affinely dependent on s 1,t (t) and s 2,t (t), is robustly estimated minimizing the worst case error due to the "a priori" uncertainty on the exact payload value m 2 ∈ [m − 2 m + 2 ]. More precisely r t (t), t ∈ T r , is obtained solving off-line the following Min-Max Constrained Optimization (MMCO) problem subject toc min ≤c ≤c max .
where J α , by (26), is defined over [0, t r ) and the corresponding minimizingc defines r t (t) over the same interval. Remark 6. The constraints (37) onc = c T 1c T 2 T are chosen so as to impose the convergence of the smooth functions s 1,t (t) and s 2,t (t) to the respective null steady state components within T r according to (19). Consequently the convergence of r t (t) towardsr(t) is guaranteed. Exploiting the convex hull property of B spline functions, a simple way to assure this convergence is to impose a null value to the last (d i + 1) control points of eachc i defining the respective B spline function s i,t (t), i = 1, 2. As for the first i − (d i + 1) control points of eachc i , they are allowed to vary within a prescribed arbitrarily large interval.

1) Offline solution of the MMCO problem
This section shows how the MMCO problem stated in Section IV.B can be reformulated as a robust least square problem. The starting point is to rewrite the closed loop dynamical is the nominal closed loop plant. Using the matrix identity e (A+E)t = e At + t 0 e A(t−s) Ee (A+E)s ds and replacing A and E withĀ f and δA f (α) respectively, one has (38) Then, by (38), the predicted e(t k |0) given by (35), can be rewritten as or, equivalently, f =c Define the following vectors and matrices e = [e T (t 1 |0), · · · , e T (t nr |0) From (41)- (45), it is evident that only δb and δD are depending on α. This dependence is now explicitly reintroduced to better clarify the formulation of the MMCO problem as a robust least square problem. Exploiting the above defined vectors and matrices, equations subject to f min ≤ f ≤ f max (49) where (48) is of the kind (15) which, in turn, is equivalent to minimizing (16), and (49) is of the kind (17). Remark 7. The numerical calculation of ρ and ξ can be greatly simplified taking into account the following: 1 As the term ξ of (16) is independent of f , it cannot be minimized. Hence it can be removed from the objective function. This, in turn, implies that in (48) only the upper bound ρ on δD (α) s needs to be determined. This avoids computing the involved r.h.s. of (43). 2 The calculation of ρ can be entirely executed off-line by performing a gridding on the parameter vector α ∈ Λ 2 .
Remark 8. The internal asymptotic stability of the proposed FFOBI control scheme is a direct consequence of the internal asymptotic stability of Σ f and of the way r(t) is computed, which evidently implies the uniform boundedness of r(t) for any uniformly bounded y d (t).

V. SOME EXTENSIONS A. REMOVING ASSUMPTION A1
In the case of arbitrarily large uncertainty intervals I = [m − 2 , m + 2 ], a unique dynamic FB controller stabilizing the entire uncertainty range may not exist. In this case, a simple solution to the robust stabilization problem is to partition I into sufficiently small subintervals I l , l = 1, · · · ,l. Over each I l the linearized uncertain plant is robustly stabilized by a unique corresponding dynamic FB controller which also guarantees exact asymptotic tracking. It can be also seen that the smaller the amplitude of each I l , the smaller the state estimation error due to the observer. The existence of these controllers is guaranteed by properties P1 and P2. The proper FB controller to be actually applied is selected once a measure of the payload is available.

B. REDUCING THE UNCERTAINTY ON THE MIN-MAX OPTIMIZATION PROBLEM
In the case of a large "a priori" uncertainty on the actual payload, the min-max optimization-problem may yield conservative results due to solutions which are far from being optimal . As a consequence a degraded tracking performance can be obtained. This drawback can be greatly reduced arguing similarly to Section V.A. Each subinterval I l , l = 1, · · · ,l, over which the plant is robustly stabilized by a unique FB controller, is itself partitioned into subintervals I (j) l , j = 1, · · · j l . Then, the offline procedure of Section IV.B.1) is applied over each I l . This procedure provides l l=1 j l different possible FF inputs r t (t) obtained as offline solutions of as many min-max optimization problems. The advantage is that over each I

VI. SIMULATION RESULTS
Similarly to very recent papers [65]- [67] only numerical simulations are here reported. Their purpose is to put in evidence the two main appealing features of the proposed method: its generality of application and its robustness with respect to parameter variations. With reference to the linearized gantry crane model of Section II.A, the following values of the physical parameters are taken from [36], Table 1: l 1 = l 2 = 3 (m), m = 100 (kg), m 1 = 10 (kg), c c = 0.1, (N s/m), c 1 = c 2 = 3, (N ms/rad) and g = 9.8 (m/s 2 ). Unlike [36], m 2 is here allowed to take values in the interval I = [m − 2 , m + 2 ] = [5,15](Kg). Consequently, the vertex matrices of the polytopic dynamical matrix (11) result to be The nominalĀ corresponds to the centroid of the polytope A. The proposed 2DoF control scheme is required to drive the controlled output y L (t) (payload position) from 0 to 10 according to the desired output trajectory y d (t) shown in Fig.  6 (red dashed line) and to minimize the sway angles θ 1 (t) and θ 2 (t). The desired output trajectory is defined according to (18), where the transient component y d,t (t) is the S-shaped function given by y d,t (t) = 10ȳ(t, τ ) whereȳ(t, τ ) is the normalized transition polynomial function reported in (14) of [35] and τ is the transition time which coincides with t y in (18).

A. STEP 1: DESIGN OF THE GAIN MATRICES OF THE ROBUSTLY STABILIZING DYNAMIC OUTPUT FB CONTROLLER.
The step by step procedure used to compute the gain matrices of the FB controller, defined in section III.A, is reported beneath: 1 Applying the transformation matrix T = and the corresponding closed loop dynamical matrixÃ f (α) = T A f (α)T −1 has the form: The closed loop dynamical matrixÃ f (α) can be rewritten asÃ f (α) =Â(α) −BK witĥ The above equations are exploited to apply a sort of separation principle. LMI conditions are used to compute the gain matrices L, K and K c . The feasibility of the obtained LMI conditions is guaranteed by A1). 3 The observer gain matrix L is chosen such that A(α) − LC m is quadratically stable ∀α ∈ Λ 2 . From [61], the LMI conditions to be satisfied with respect to the unknowns S = S T > 0 and Z are : T has been found. 4 Once L has been designed, the gain matrixK = K −K c 0 is chosen such thatÃ f (α) =Â(α) − BK is quadratically stable ∀α ∈ Λ 2 . From [61], the LMI conditions to be satisfied with respect to the un-

B. STEP 2. COMPUTATION OF THE FF CONTROL INPUT SOLVING THE RAEOT PROBLEM
As stated in Remark 5, r t (t) has to be defined over a sufficiently large transition interval T r = [0, t r ). A practical way to fix a lower bound on t r is: t r ≥ t s , where t s is the settling time relative to the output of the nominal In this case the value t r = 20 ≥ t s = 18 has been chosen. The steady-state componentr(t) can be directly obtained as explained in section IV.A. In this case one hasr(t) = [ỹ d , 0] T = [10, 0] T , ∀t ≥ t r . By (26), as T r = [0, t r ) with t r = 20, choosing ∆ = 0.01 one has n r = 2000. As the plant is stabilized by a unique FB controller over the whole uncertainty interval I = [5,15] then, according to section V.A, one hasl = 1, so that I ≡ I 1 , and the symbol I will be used in the sequel of this section. According to section V.B, I is in turn partitioned into subintervals I (j) , j = 1, · · · , j 1 . In this case j 1 = 20 subintervals of the same amplitude M=0.5 have been chosen. Over each subinterval I (j) , j = 1, · · · , 20, the respective offline FF input r (j) t (t) has been computed as the solution of the associated BCLRS problem (48), (49). Each of the 20 BCLRS problems has been solved with reference to a closed loop dynamical matrixĀ (j) f corresponding to the middle point of each I (j) , j = 1, · · · , 20 and to the weight matrix Q = diag[Q, · · · , Q] where Q = diag[1, 2, 2] is chosen. The BCRLS problems have been numerically solved using the software Yalmip [62]. The transient components s have been modeled as two scalar B spline functions of order d 1 = d 2 = d = 3 and 1 = 2 = = 100 (number of control points). The corresponding + d + 1 = 104 knot pointst i have been chosen according to the smoothness property recalled in Section II.B. The chosen values of j 1 , d and guarantee a sufficient degree of uncertainty reduction as well as of smoothness and approximation continuity with a relative VOLUME 4, 2016 ease of solution of the corresponding BCRLS. However, as the BCRLS problem is solved offline, higher values of j 1 , d and can be chosen without compromising the on-line implementability of the overall FFOBI method. As q = 1 and v = 1, by (34) it directly follows that over each interval d2 (t) has dimensions 1 × 2 . According to Remark 6 and recalling definition (45), the  Table 1 reports the 2-norms of the B splines s    t (t) for j = 1, · · · , 20. The last column of Table 1 report the values of the corresponding ρ (j) . The values of the estimated control points are not reported for brevity.

C. THE RESULTS OF NUMERICAL SIMULATIONS
This section illustrates in detail the results of several numerical simulations under three different Operating Conditions (OPs). All the simulations have been performed applying the FB/FF control law to the nonlinear gantry crane model given in (1) using Matlab/Simulink software (Release R2018b,Simulink 9.2). To evidence the differences among the various curves, only the first part (the most significant) of the simulation is reported in all the figures. Namely each diagram is truncated at the time instant from which the steady state is practically attained.  (20) has been used to force the robustly stabilized closed loop system Σ f starting from the following non null initial values of the sway angles θ 1 (0) = 0.01 and θ 2 (0) = 0.001. Initial non null values of the sway angles have been chosen to account for a possible initial misalignment between payload and cart and between payload and hook. The 2-norms of the tracking error e y L (t) = y d (t) − y L (t) and of the sway angles θ 1 (t) and θ 2 (t) over T r = [0, 20) for m 2 = 5, m 2 = 10, and m 2 = 15 are reported in Table 2. The B spline functions      Fig. 6 evidences that all trajectories are almost overlapping. This means that the payload variation does not lead to an appreciable degradation of the output tracking performance. This is a direct consequence of the fact that the FF input has been robustly calculated taking "a priori" into account the payload uncertainty interval. Differently, Fig. 7 .a) in [36] evidences a not negligible degradation of the output tracking performance in terms of max oscillation of the payload for τ = 1 +  2) OP 2: exact knowledge of the payload, ty = τ = 4.21 (s), and null initial conditions.
In order to perform a fair comparison with [36], this simulation has been performed assuming an exactly known m 2 and null initial conditions (all the other model parameters are set as in OP 1). As in [36], the value m 2 = 10(Kg) is chosen. As m 2 = 10 ∈ [5,15], the same robust FB controller designed in section VI.A can be used. As [36] does not deal with the problem of minimizing the sway angles, the FF input must be now computed taking into account that • both e(t k |0) given by (27) and Q reported in (26) reduce to e(t k |0) = e y L (t k |0) and Q = Q y respectively. • the BCRLS problem given in (48) classic least square problem (ρ = ξ = 0) of the form The behavior of the controlled output y L (t) of Σ f is despited in Fig. 7. The 2 norm of the output tracking error over T r = [0, 20) is 0.6257. The maximum absolute value of the tracking error is 0.0522 attained at time t = 2.1 (s).
The comparison of Fig. 7 with the first subfigure of Fig. 5 in [36] (see dashed orange line) shows that the proposed FFOBI and the simplified input output inversion procedure in [36] provide comparable output tracking performance. 3) OP 3: Like OP 2 but non negligible zeros dynamics.
OP 3 aims to highlight the applicability of the proposed method also in the case of non negligible zero dynamics. To this purpose a double pendulum crane model with higher friction coefficients is considered. The values c 1 = c 2 = 50 are chosen (all other model parameters and the initial conditions are set as in OP 2). This implies that the system zeros (see formula (21) in [36]) occur at smaller frequencies and hence the assumption underlying the simplified inversion procedure is no longer valid and consequently the FF command given by (23) in [36] cannot be used. Differently, the proposed FF/FB control action can be recomputed on the basis of the different parameters values of the double pendulum crane model. As the value of the payload is exactly known, Step 1 of section VI.A is executed setting all the vertex matrices A i of A(α) equal to the nominal dynamical matrixĀ (matrix corresponding to m 2 = 10). The following controller gain matrices are obtained: Remark 9. Future developments of the present approach will concern the setup of an experimental platform.

D. SUGGESTIONS AND COMMENTS FOR REAL TIME IMPLEMENTATION
Recent literature shows how sophisticated control algorithms (e.g. LQR, MPC, nonlinear control) for oscillatory mode systems can be successfully implemented in real time even introducing hard real time constraints on embedded microcontrollers setting a closed loop cycle of 20ms, [63]. Such an order of magnitude of sampling time is considered suitable for the gantry crane system, and is widely feasible on commercial micro-controllers. The features of the proposed control algorithm for gantry crane systems that make it suitable for real time implementation on micro controllers are: 1) the transient FF input r t (t) is obtained as the solution of a min max optimization problem that can be solved offline with numerically efficient procedures; 2) as r t (t) has an analytical expression in closed form, it can be generated very easily by means of a function written in any standard language (e.g C, C + +); 3) only the computation of the FB control action needs to be performed on line. The output dynamic FB controller given by (21)-(23) includes a Luenberger state observer of dimension 6, the internal model of a scalar constant signal and the computation of the scalar control effort. A real time Luenberger observer of dimension 4 has already been implemented in [64] on an STM32F0 microcontroller, belonging to the ST Microelectronics family of 32-bit micro-controllers. Rather than the outdated and possibly commercially unavailable F0 series, the higherperformance STM32F4 series is here suggested as entry level micro-controller for the proposed control algorithm. The F4 series is more up-to-date, quite inexpensive, and includes most of the on-chip peripherals useful for control tasks such as the PWM channels, Timers, ADCs, GPIO and so on. In a possible experimental set up, the micro-controller must be able to perform the following operations: to manage the data gathering from sensors, to acquire the value of the FF input, to solve the discretized version of equations (21)- (23) and to generate the control signal forcing the actuator, within the closed loop cycle time chosen for the gantry crane system.

VII. CONCLUSIONS
This paper has presented a new approach to the robust FB/FF control of double-pendulum gantry cranes where the payload can take values over a given arbitrarily large interval. The merits of the proposed method can be summarized in the following four points: 1) the FB controller is designed exploiting only the measure of the cart displacement, 2) the overall feedforward action is given by an optimally weighted combination of FFPI and FFCLI control schemes, 3) the FF action can be computed offline as the solution of a robust least square problem, 4) an analytical expression in closed form of the FF input is provided in terms of a linear combination of polynomial B-splines basis functions. Point 1 answers the criticism raised against the technical complexity and economic cost of FB control. Point 2 answers the fundamental longstanding question concerning the best choice for the inversion scheme to be applied in FB/FF control. Points 3 and 4 allow an easy and real time implementation of the overall robust FF/FB controller on commercial devices. The numerical results confirmed the validity of the approach. As a final remark it is mentioned the the present approach can be extended to the case of polytopic uncertainty affecting any other physical parameters of the considered gantry crane system. However, if this uncertainty also affects the controlled output matrix C L (4) and the input matrix B (6), then the calculation of ρ would require the computation of a very large number of terms. This is due to the replacement of B f and C f with B f +δB f (α) and C f +δC f (α) respectively, in all terms of (39). The consequent calculations would not be conceptually difficult but very long and tedious. For simplicity of exposition, this situation has not been considered here. There is also another reason: while it reasonable to assume that a given gantry crane should be able to work with a payload taking values over a very large interval, in general the same does not hold for the other physical parameters.

VIII. ACKNOWLEDGMENT
The author sincerely wishes to thank Prof. A. Bonci for his kind support in proposing constructive suggestions regarding the possible real-time implementation of the proposed control strategy.