Next Article in Journal
Robot Navigation in Complex Workspaces Employing Harmonic Maps and Adaptive Artificial Potential Fields
Previous Article in Journal
Dual-Modal Electrical Imaging of Two-Phase Flow—Experimental Evaluation of the State Estimation Approach
Previous Article in Special Issue
Wind Preview-Based Model Predictive Control of Multi-Rotor UAVs Using LiDAR
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Computationally Efficient Continuous-Time Model Predictive Control of a 2-DOF Helicopter via B-Spline Parameterization

by
Boris Rohaľ-Ilkiv
1,*,
Martin Gulan
1,* and
Peter Minarčík
1,2
1
Institute of Automation, Measurement and Applied Informatics, Faculty of Mechanical Engineering, Slovak University of Technology in Bratislava, 812 31 Bratislava, Slovakia
2
Prosystemy, s.r.o. (Ltd.), 900 86 Budmerice, Slovakia
*
Authors to whom correspondence should be addressed.
Sensors 2023, 23(9), 4463; https://doi.org/10.3390/s23094463
Submission received: 20 March 2023 / Revised: 17 April 2023 / Accepted: 27 April 2023 / Published: 3 May 2023

Abstract

:
This paper investigates one way to reduce the computational burden of continuous-time model predictive control (MPC) laws by representing the input/output signals and related models using B-spline functions. Such an approximation allows to implement the resulting feedback control law more efficiently, requiring less online computational effort. As a result, the proposed controller formulates the control signals as continuous polynomial spline functions. All constraints assumed over the prediction horizon are then expressed as constraints acting on the B-splines control polygon vertices. The performance of the proposed theoretical framework has been demonstrated with several real-time experiments using the well-known 2-DOF laboratory helicopter setup. The aim of the presented experiments was to track given step-like reference trajectories for pitch and yaw angles under notable parameter uncertainties. In order to suppress the influence of uncertainties, the control algorithm is implemented in an adaptive mode, equipped with the recursive least squares (RLS) estimation of model parameters and with the adaptation of stabilizing terminal set and terminal cost calculations. Thanks to the presented framework, it is possible to significantly reduce the computational burden, measured by the number of decision variables and input constrains, indicating the potential of the proposed concept for real-time applications, even when using embedded control hardware.

1. Introduction

The notion of spline has become an important and well-established tool in the modern approximation theory. At present, splines are successfully applied in an increasing number of scientific and technical disciplines, as can be seen, e.g., in [1,2,3]. Splines are, roughly speaking, functions which serve the purpose of approximating or modeling other functions or discrete data. Originally, splines were defined by I.J. Schoenberg in 1946 as univariate piecewise polynomial functions. One of the fundamental contributions to the theory of polynomial splines represents the discovery of compactly supported basis functions, the so-called B-splines, by Curry and Schoenberg in 1966. B-splines are piecewise polynomial functions which form a basis for the space of polynomial splines. Their importance arises from the fact that their properties make them highly suitable for practical computations. Being polynomial, they can be evaluated very quickly; being piecewise polynomial, they are very flexible. The number and profile of the B-spline functions is clearly determined by the distribution of the so-called knot points and it is possible to change their behavior by changing the position of these knots. The ability of splines to achieve a very high quality of approximation in various technical applications inspired the authors to use them when looking for alternative ways to reduce the computational complexity of continuous-time MPC laws.
For studying and the real-time testing of the performance of various control techniques and strategies, 2-DOF laboratory helicopters of different constructions and designs have become increasingly popular platforms, see, e.g., [4,5,6,7]. These physical models represent typically nonlinear mechatronic systems with strong cross-couplings and parameters uncertainties which make control of the systems much more complicated. Moreover, according to the design, these systems can have time-varying dynamics and some parameters have to be estimated online using, e.g., recursive least squares. In this article, using such a laboratory system, we will investigate the computational efficiency of the B-spline parameterization technique in designing a practical continuous-time model predictive control (CMPC) procedure. The techniques for the efficient design and implementation of CMPC schemes are the subject of systematic research, motivated by many advantages that these techniques offer compared with common discrete-time MPC formulations. Some well-known schemes for designing such CMPC strategies can be found, for example, in [8,9,10,11,12,13], where different ways to preserve the time-continuity properties of the design and its independence on the chosen sampling rate are discussed.
In the works by [14,15,16,17], the authors of this paper have proposed an alternative approach to the CMPC problem solution based on B-spline functions parameterization. It can be shown that if we assume a finite number of B-spline basis functions, we may appropriately parameterize the control signal as a continuous spline curve with a predefined degree of continuity. The solution can provide some new benefits in CMPC problem formulation, such as the intersample satisfaction of constraints and the formulation of smooth control signals. In this procedure, the user selects the orders of the splines used to approximate the input and output signals in the prediction horizon and also determines the number and distribution of their knot points. The appropriate selection of these parameters thus significantly reduces the dimensionality of the corresponding optimization problem, i.e., the length of the optimizer, which becomes the control polygon of B-spline functions. The advantage of the spline formulation of the CMPC is also the possibility to preserve the original continuous boundaries appearing in the optimization problem by simply rewriting them to the boundaries of the elements of the control polygon.
In predictive control applications, the ability of the control law to follow predefined reference values is very often required. Possible approaches to solving this problem for the usual discrete-time MPC formulations are discussed, e.g., in [18,19,20]. As a novelty in this article, the authors present an extension of the spline velocity version of the CMPC algorithms, cited in their previous works [15,16,17], to multivariable nonlinear systems with an adaptation of the model parameters. The intention here is to achieve offset-free tracking of a set of piecewise-constant reference values in the presence of random disturbances. In addition, for the first time, we present the real-time deployment of the proposed algorithm to control a real-world system—a 2-DOF laboratory helicopter.
As already mentioned, these laboratory systems, same as the real-world helicopters, are in fact nonlinear and nonstationary systems, with their properties changing with the operating point over trajectory and time. These changes can be so significant that fixed feedback control may be unacceptable or even impossible. The effort to employ more advanced controllers—capable of adapting their setup according to the changing conditions or effects of random disturbances—is therefore a subject of constant interest in practice. Because we do not consider a more complex, nonlinear model of the controlled system, the adaptive approach appears as a feasible and simple solution. In terms of control, the explicit solution approaches to CMPC proposed by the authors in [16,17] seek an efficient representation of the predictive control law which, however, in implementation stays fixed, i.e., time-invariant. This paper therefore puts forward an implicit form of the spline-based CMPC in an adaptive mode, i.e., with adaptive parameter estimation, using the recursive identification and adaptive calculation of a stabilizing terminal set at each sampling instant.
In this work, the helicopter is modeled online using the RLS library [21]. The resulting helicopter multi-input multi-output (MIMO) model is created using the well-known technique of multi-input single-output (MISO) models [22]. In view of the real-time implementation, the developed adaptive B-spline-based CMPC controllers were deployed by means of the MATLAB/Simulink Desktop Real-Time software environment.

2. Spline and B-Spline Functions

In this section, we provide a brief summary of the basic properties of B-spline functions, conversions between B- and pp-spline representations, as well as their essential shape properties. For a comprehensive theory of splines, we refer the interested reader to [23,24,25,26]. In terms of content, the following mathematical background is mainly recalled from [16].

2.1. Basic Definitions

Let us first state some formal definitions.
Definition 1. 
Let ( ξ 0 = ) 0 < ξ 1 < < ξ q < T x ( = ξ q + 1 ) be the subdivision of a closed finite-time interval [ 0 , T x ] by q distinct (time) points. A function s ( t ) , defined on the interval [ 0 , T x ] , is called a spline function of the order r > 0 (degree r 1 ) and the defect d ef if the following two conditions hold:
  • In each open interval ξ i , ξ i + 1 , i = 0 , , q , s ( t ) is a polynomial of degree r 1 ;
  • It has continuous derivatives up to the order r d ef 1 in the open interval 0 , T x .
The points ξ i , i = 1 , , q are referred to as interior knots or breakpoints of the spline function. For each fixed set ξ = ( ξ 1 , ξ q ) of the knots, the class of splines is a linear space of functions with dimension
z = ( α 1 + α 2 + + α q ) + r ,
where α i denotes a multiplicity (or defect d ef ) of the knot ξ i . Let P r , ξ , α denote the linear space of spline functions for α = ( α 1 , α q ) . If all interior knots, ξ i , are simple, i.e., α i = 1 , i = 1 , , q , then P r , ξ , α = C r 2 [ 0 , T x ] . In order to perform computations with splines, one must first choose a suitable representation, in which any member of P r , ξ , α can be written as a unique linear combination of properly chosen z basis functions such that Definition 1 is satisfied. A common choice is to use B-spline functions.
Definition 2. 
A B-spline function N i , r , ξ ( t ) of order r > 0 , with knots ξ i , , ξ i + r , can be defined using the following recurrence relation:
N i , 1 , ξ ( t ) : = 1 i f ξ i t < ξ i + 1 , 0 o t h e r w i s e , N i , k , ξ ( t ) : = ξ i + k t ξ i + k ξ i + 1 N i + 1 , k 1 , ξ ( t ) + t ξ i ξ i + k 1 ξ i N i , k 1 , ξ ( t ) , for k = 2 , , r ,
where the two fraction terms are interpreted as zero whenever ξ i + k ξ i + 1 = 0 and ξ i + k 1 ξ i = 0 , respectively.
From Definition 2, one can observe that N i , r , ξ ( t ) , i = 0 , 1 (i) have a local support, (ii) are positive on their supports and (iii) form a partition of unity. Every function s ( t ) satisfying Definition 1 then has a unique representation:
s ( t ) = i = 1 z c i N i , r , ξ ( t ) = n ( t ) T c ,
with n ( t ) = [ N 1 , r , ξ ( t ) , , N z , r , ξ ( t ) ] T , c = [ c 1 , , c z ] T , where N i , r , ξ ( t ) or shortly N i ( t ) , i = 1 , , z , denote base functions of the spline space P r , ξ , α , and c i denotes the i-th B-spline coefficient of s ( t ) . They are commonly referred to as control coefficients or control points, and the collection { c i } i = 1 z of all control points is referred to as the control polygon of the spline. In the following, we will assume the spline represented as a linear combination of basis B-spline functions (2) as the approximation function. The spline design parameters thus are the following:
  • The order r and defect d ef of the spline;
  • The number q and location ξ of its knots;
  • The control coefficients (control polygon) { c i } i = 1 z .

2.2. Conversion from B- to pp-Representation

A polynomial spline can be, by definition, written as
s ( t ) = p i ( t ) : = j = 1 r p i j ( t ξ i ) j 1 , t [ ξ i , ξ i + 1 ] , i = 0 , , q ,
where p i ( t ) are polynomial pieces or segments which represent the spline s ( t ) on interval [ 0 , T x ] . The relation (3) is called a piecewise polynomial (pp-)representation of the spline s ( t ) . Clearly, the pp-representation of spline s ( t ) is completely determined by the ( q + 1 ) r -dimensional vector of the polynomial coefficients p = [ p 01 , , p 0 r , , p q 1 , , p q r ] T . Given the B-representation (2) of the spline s ( t ) , the vector p of its pp-representation can be easily computed according to
p = P c ,
where rows of matrix P can be obtained by the differentiation of vector n T ( t ) in knots { ξ i } i = 1 q :
P = 1 ( j 1 ) ! n [ j 1 ] T ( t ) t = ξ i j = 1 , , r i = 0 , , q
with
n [ j 1 ] T ( t ) = [ N 1 [ j 1 ] ( t ) , , N z [ j 1 ] ( t ) ] ,
where notation f [ i ] ( t ) stands for the i-th derivative of f ( t ) with respect to t, with f [ 0 ] ( t ) f ( t ) ; see [23,27] for details.
Given the vector p , the conversion from pp-representation to B-representation can be performed as follows:
c = P L 1 p ,
which is more difficult because of the left inverse of matrix P ; however, if it is a priori known that the approximated function lies in P r , ξ , α for a certain r , ξ , α , then P L 1 can be determined uniquely.

2.3. Shape Properties of B-Spline Curves

The fundamental shape properties of B-spline curves that we rely on in this article may be summarized using the following theorem. The reader is referred to, e.g., [26] for more details and proofs.
Theorem 1 
(Shape properties of B-spline curves). Let s ( t ) be a B-spline curve of order r over the knot sequence ξ. Then, the following properties hold:
(i
In general, there is no endpoint interpolation;
(ii
For ξ i t < ξ i + 1 , s ( t ) lies in the convex hull of the r control points c i r + 1 , , c i ;
(iii
Local control: for t [ ξ i , ξ i + 1 ] , the curve is independent of c j for j < i r + 1 and j > i ;
(iv
If r 1 control points coincide, then the spline curve passes through this point and is tangent to the control polygon;
(v
If r 1 control points are on a line, then the spline curve touches this line;
(vi
If r control points are on a line L, then s ( t ) L for ξ i t < ξ i + 1 , i.e., an entire segment of the curve s ( t ) coincides with L;
(vii
Its derivative is
s ( t ) = i = 1 z 1 c ¯ i N i , r 1 , ξ ( t ) with c ¯ i = r 1 ξ i + r 1 ξ i ( c i c i + 1 ) ;
(viii
If r 1 knots t = ξ i + 1 = = ξ i + r 1 coincide, then s ( t ) = c i , i.e., the spline curve passes through a control point and is tangent to the control polygon.

3. Problem Formulation

The problem formulation will be presented using the example of the aforementioned laboratory 2-DOF helicopter, the hardware of which will be described later in Section 4. In some passages, it will follow formulations presented by the authors in [17] which led to the explicit solution to the spline-based CMPC problem.
Let us in general consider the laboratory 2-DOF helicopter as a continuous-time MIMO system described near a given operating point by the following linear time-invariant state-space form (in reality, in our application, it will be a two-input two-output (TITO) system):
x ˙ h ( t ) = A h x h ( t ) + B h u ( t ) ,
y ( t ) = C h x h ( t ) ,
where A h , B h and C h are state-space matrices of appropriate dimensions and the elements of the state vector x h ( t ) R r u ( r u denoted the order of the spline input signal) can be directly calculated from the spline derivatives of input/output signals u ( t ) R n u , y ( t ) R n y by using the multi-input single-output (MISO) technique formulated below.

3.1. Phase-Variable State-Space Description

Let us consider the MIMO system description (5) in the deterministic framework and apply it over the spline output and input signals, s y i ( t ) and s u j ( t ) , i = 1 n y , j = 1 n u . Then, for the i-th spline output signal, s y i ( t ) , of the system, the following MISO differential equation can be written:
s y i [ ρ α ] ( t ) + α i , 1 s y i [ ρ α 1 ] ( t ) + + α i , ρ α s y i ( t ) = = j = 1 n u [ β 0 i , j s u j [ ρ β ] ( t ) + β 1 i , j s u j [ ρ β 1 ] ( t ) + + β ρ β i , j s u j ( t ) ] , ρ β ρ α ,
where coefficients α i , k and β l i , j , k = 1 ρ α , l = 1 ρ β , are real constant scalars. For the degrees ρ α and ρ β , it holds that ρ α ( r y 1 ) and ρ β ( r u 1 ) , respectively.
Having specified spline input–output derivatives, by applying a common technique of moving data windows it is easy to estimate the vector of unknown parameters of (6) through linear regression:
s y i [ ρ α ] ( t ) = θ s i T φ s i ( t ) ) + ϵ s i ( t ) , θ s i = [ α i , 1 , α i , ρ α , β 0 i , 1 , β ρ β i , 1 β 0 i , n u , β ρ β i , n u ] T , φ s i ( t ) = [ s y i [ ρ α 1 ] ( t ) , s y i ( t ) , s u 1 [ ρ β ] ( t ) , s u 1 ( t ) s u n u [ ρ β ] ( t ) , s u n u ( t ) ] T ,
and a linear square approach where ϵ s i ( t ) denotes an equation error.
Several methods are available for finding possible state-space forms from the input–output map (6). The well-known phase-variable canonical forms, see, e.g., [28], are particularly useful for our purposes because state variables can be defined in terms of the plant variables and their derivatives. With this, we can choose the ρ α -dimensional state vector x i ( t ) = [ x 1 i ( t ) x ρ α i ( t ) ] T , of a phase-variable canonical form related to the i-th spline output, as
x i ( t ) = S y i s ¯ y i [ ρ α 1 ] ( t ) + j = 1 n u S u j i s ¯ u j [ ρ β 1 ] ( t )
with ( ρ α × ρ α ) square matrices S y i , S u i , j defined as
S y i = 1 α i , 1 α i , 2 α i , ρ α 1 0 1 α i , 1 α i , ρ α 2 0 0 1 α i , ρ α 3 0 0 0 1 , S u j i = 0 β 0 i , j β 1 i , j β ρ β 1 i , j 0 0 β 0 i , j β ρ β 2 i , j β 0 i , j 0 0 0 0 ,
and with ρ α -dimensional vectors s ¯ y i [ ρ α 1 ] ( t ) , s ¯ u j [ ρ β 1 ] ( t ) containing spline derivatives of the i-th plant output and the j-th plant input in a backward location, compared with s y i [ ρ α 1 ] ( t ) , s u j [ ρ β 1 ] ( t ) . In the case of s ¯ u j [ ρ β 1 ] ( t ) , the missing entries to the dimension ρ α are completed by a corresponding amount of zeros:
s ¯ u j [ ρ β 1 ] ( t ) = [ 0 , , 0 , s u j [ ρ β 1 ] ( t ) , , s u j [ 1 ] ( t ) , s u j ( t ) ] T .
The foregoing equations can be arranged in the following MISO state-space form:
x ˙ i ( t ) = A i x i ( t ) + B i s u ( t ) ,
s y i ( t ) = c x i ( t ) ,
where
A i = 0 0 0 0 α i , ρ α 1 0 0 0 α i , ρ α 1 0 1 0 0 α i , ρ α 2 0 0 0 0 α i , 2 0 0 0 1 α i , 1 , B i = β ρ β i , 1 β ρ β i , n u β 0 i , 1 β 0 i , n u 0 0 0 0 , s u ( t ) = s u 1 ( t ) s u n u ( t ) , c = 0 0 0 1 .
By assuming i = 1 n y , the set of MISO realizations (9) can be used to create the following simple MIMO state-space realization of the system which is valid near the given operating point:
x ˙ m ( t ) = A m x m ( t ) + B m s u ( t ) ,
s y ( t ) = C m x m ( t ) ,
with order n = n y . ρ α , and the state and output vectors defined as
x m ( t ) = x 1 ( t ) x n y ( t ) , s y ( t ) = s y 1 ( t ) s y n y ( t ) .
It is easy to verify that
A m = A 1 A 2 A n y , B m = B 1 B 2 B n y , C m = c c c .
The realization (10) is a straightforward connection of canonical realizations (9) for each system output and therefore is not the minimal one. Nevertheless, in this realization, the n-dimensional state vector x m ( t ) is accessible to direct measurement.
If the system’s operating point varies in time—and this is our case—then the description (10) also becomes time-variant and can be written as:
x ˙ m ( t ) = A m ( t ) x m ( t ) + B m ( t ) s u ( t ) ,
s y ( t ) = C m ( t ) x m ( t ) ,
where the matrices A m ( t ) and B m ( t ) can be easily identified online using, e.g., algorithms of the recursive least squares method; thus, the overall design of the control scheme will enter the adaptive mode.

3.2. B-Spline Parameterization of CMPC Formulation

In this subsection, we discuss the CMPC formulation from the viewpoint of the application of B-spline parameterization as a starting point for obtaining computationally efficient control algorithms. In order to be able to introduce the integral action in the resulting formulations, we are further more interested in the derivatives of control input signals contained in the vector u ˙ ( τ ) . Using the expansion (2) with the same choice of B-spline function parameters for all inputs (i.e., u i ( τ ) s u i ( τ ) = n ( τ ) T c u i , u i ( τ ) P r u , ξ , α , i = 1 , , n u ), these can be obtained as
u ˙ ( τ ) = N ˙ ( τ ) c u ,
where
N ˙ ( τ ) = n ˙ T ( τ ) n ˙ T ( τ ) , c u = c u 1 c u n u ,
with c u i = [ c 1 i , , c z i ] T , i = 1 , , n u and n ˙ ( τ ) denoting a vector of the first derivatives of the used B-spline functions.
By taking the derivative of both sides of (11) with u ( t ) s u ( t ) and y ( t ) s y ( t ) , the state-space model can be rewritten in the following augmented form:
x ˙ ( t ) = A ( t ) x ( t ) + B ( t ) u ˙ ( t ) ,
y ( t ) = C x ( t ) ,
where
x ( t ) = z T ( t ) y T ( t ) T , z ( t ) = x ˙ m ( t ) , A ( t ) = A m ( t ) 0 C m 0 , B ( t ) = B m ( t ) 0 , C = 0 I .
Assuming a time window given by τ [ t k , t k + T h ] , where t k is the current time and T h denotes the prediction horizon, the predicted state at time t k + τ can be obtained by solving the differential Equation (13a) as follows:
x ( t k + τ ) = e A k τ x ( t k ) + 0 τ e A k ( τ γ ) B k u ˙ ( t k + γ ) d γ ,
where for simplicity we used the notation A k = A ( t k ) and B k = B ( t k ) . Now, if we employ the B-spline functions-based expansion (12) to approximate the control input derivatives, we can substitute them into the prediction Equation (14), which thus becomes parameterized in c u :
x ( t k + τ ) = e A k τ x ( t k ) + Γ k ( τ ) c u
with Γ k ( τ ) = 0 τ e A k ( τ γ ) B k N ˙ ( γ ) d γ .
The objective of the velocity-form CMPC design considered in this work is to drive the predicted system outputs, y ( τ ) , as close as possible to predefined reference trajectories y s ( τ ) , ideally to solve the following infinite-horizon control problem:
min u ( · ) 0 y ( τ ) y s ( τ ) Q y ( τ ) 2 + u ˙ ( τ ) Q u ( τ ) 2 d τ
s . t . u min u ( τ ) u max , τ 0 ,
u ˙ min u ˙ ( τ ) u ˙ max , τ 0 ,
where within the quadratic objective (16a), Q y ( τ ) 0 and Q u ( τ ) 0 denote the output and input weighting matrix, respectively. In the constraints (16b) and (16c), ( u min , u max ) and ( u ˙ min , u ˙ max ) denote bounds imposed on control signals and their derivatives, respectively.
Now, applying the quasi-infinite horizon approach to guarantee the closed-loop stability, our goal is to solve the following finite-horizon continuous-time MPC problem:
min u ( · ) t k t k + T h x ( t k + τ | t k ) x s ( t k + τ | t k ) Q x ( τ ) 2 + u ˙ ( t k + τ | t k ) Q u ( τ ) 2 d τ + x ˜ ( t k + T h | t k ) Q h , k 2
s . t . u min u ( t + τ | t ) u max , τ t ,
u ˙ min u ˙ ( t + τ | t ) u ˙ max , τ t ,
x ˜ ( t k + T h | t k ) Ω k ,
where Q x ( τ ) = C T Q y ( τ ) C , x s ( τ ) denotes the state reference trajectories defined by the setpoints, and x ˜ ( t k + T h | t k ) denotes a deviation from the steady-state target calculated for the current reference state x s ( τ ) at τ = T h . In addition, the stability and recursive feasibility of the control problem are ensured by assuming a terminal cost weighted with Q h , k 0 in (17a), and by assuming a terminal set Ω k constraint (17d). This set has to be invariant under a local linear state feedback u = F x , virtually acting for τ [ t k + T h , [ and feasible with (17b) and (17c). For the calculation of Ω k and Q h , k , a simple computational procedure proposed in [29] can be adopted.
The adaptive CMPC problem (17) can be tackled using B-spline parameterization which leads to the following formulation:
min c u ( k ) c u ( k ) T H k c u ( k ) + 2 c u ( k ) T G k x ( t k ) Q s , k c s ( t k ) ,
s . t . c u min c u ( k ) c u max ,
c u , Δ min A Δ c u ( k ) c u , Δ max ,
x Ω k min A Ω k c u ( k ) x Ω k max ,
n ( 0 ) T c u ( k ) = n ( T h ) T c u ( k 1 ) ,
n ˙ ( 0 ) T c u ( k ) = n ˙ ( T h ) T c u ( k 1 ) ,
n ˙ ( T h ) T c u ( k ) = 0 .
The reformulated objective (18a) was obtained by substituting (12) and (15) into (17a), while expressing the setpoints as spline functions using the relation (2) as follows:
y s ( t k + τ | t k ) = N s ( τ ) c s ( t k ) ,
where
N s ( τ ) = n s T ( τ ) n s T ( τ ) , c s ( t k ) = c s 1 ( t k ) c s n y ( t k ) ,
with c s i ( t k ) = [ c s 1 i ( t k ) , , c s z i ( t k ) ] T , i = 1 , , n y , and c s ( t k ) is a vector of the splines’ control points expressing the trajectories of setpoints prescribed by the user for the desired system outputs’ behavior over the prediction horizon τ [ t k , t k + T h ] . The matrices H k , G k and Q h , k can be calculated, using numerical integration, as follows:
H k = t k t k + T h Γ k ( τ ) T Q x ( τ ) Γ k ( τ ) d τ + t k t k + T h N ( τ ) T Q u ( τ ) N ( τ ) d τ + Γ k ( T h ) T Q h , k Γ k ( T h ) , G k = t k t k + T h Γ k ( τ ) T C T Q y ( τ ) C e A k τ d τ + Γ k ( T h ) T Q h , k e A k T h , Q s , k = t k t k + T h Γ k ( τ ) T C T Q y ( τ ) N s ( τ ) d τ .
Note that the continuous-time constraints (17b) and (17c) had to be reformulated to suitable finite-dimensional forms given by (18b) and (18c), respectively. These must guarantee the intersample behavior of the spline control signal, which is achieved by a proper bounding of its control polygon c u ( k ) . Taking into account the basic shape properties of B-splines, (18b) represents the amplitude constraints (17b) of the control signal u ( t ) imposed over a horizon [ t k , t k + T h ] , where c u min and c u max are the min and max values of the spline control coefficients c u ( k ) computed using the B-spline approximation of the given u min and u max values. Similarly, (18c) approximates the constraints (17c) on the derivative of the control signal u ˙ ( t ) , where c u , Δ min and c u , Δ max are the min and max values of the differences in the spline control coefficients, which can, together with entries of matrix A Δ , be computed based on the location of the spline knots. Next, (18d) represents the terminal constraints transformed from (17d) using the prediction model (15), where x Ω k min , x Ω k max denote the vectors bounding the terminal set Ω k . In order to keep the spline function s u i ( t ) in the space P r u , ξ , α for the given ( r u , ξ , α ), the equality constraints (18e) and (18f) are used to enforce continuity between the implemented and the projected spline control signals at the beginning of the prediction horizon [ t k , t k + T h ] . Finally, the constraint (18g) is added to improve the stability of the control signals by requiring a zero derivative of the projected spline control signal at the end of the prediction horizon [ t k , t k + T h ] .
From the optimization perspective, the adaptive spline-based stabilizing CMPC problem in velocity form, (18), is a quadratic program (QP), which can be recast in the following simplified form:
min c u ( k ) 1 2 c u ( k ) T H k c u ( k ) + c u ( k ) T G k x ( t k ) Q s , k c s ( t k ) ,
s . t . A ineq c u ( k ) b ineq ,
A eq c u ( k ) = b eq .
Solving QP (19) implicitly for a current state x ( t k ) and given setpoints c s ( t k ) yields a vector of optimal control coefficients c u ( k ) = [ c 1 T , , c n u T ] T , c i R z , i = 1 , , n u . According to [15,16], c u ( k ) is subsequently converted to piecewise polynomial (pp)-representation of the individual optimal spline control signals s u i ( τ ) , τ [ t k , t k + T h ] , i = 1 , , n u given by their polynomial coefficients contained in a vector p ( k ) = P c u ( k ) .
The optimization problem (18) implies that we are looking at the control signals u i ( t ) from the viewpoint of a selected distance T between the knot points of the spline function s u i ( t ) . In real-time implementation, the distance T corresponds to the control period, in which the first polynomial segments of the respective optimal spline input signals, i.e., s u i ( τ ) , τ [ t k , t k + T ] , are applied for control. This is usually performed with a much shorter implementation period T g T ; see Figure 1 for illustration. This means that we calculate the values of the control signal s u i ( t k + τ ) for the relative time variable τ = j T g , j = 1 , , n g , T = n g T g , i = 1 , , n u and implement them for control using a common zero-order hold. The parameter n g is user-defined and its choice is important because it determines the degree of continuity of the generated signal.

3.3. Number of Polynomial Segments of Projected Spline Control Signals

Note that during the prediction horizon [ t k , t k + T h ] the distance T between the knots of the projected spline input signal s u i ( τ ) , τ [ t k , t k + T h ] can be chosen as β T , β = 1 , 2 , , introducing a property comparable with the well-known move-blocking techniques used in MPC.
This is an important design parameter which—in conjunction with spline continuity conditions and the spline defect—allows us to tune various controller setups. Essentially, the number q of the polynomial segments in the projected spline control signal determines the degrees of freedom for a given task. A higher value of q provides a more active control signal, while a lower value leads to control which is more smooth and sluggish. Note that small values of q , q 1 significantly reduce the QP computational effort.
The projected polynomial segments are interconnected in the interior knot points of the sequence ξ h which spans over the prediction horizon, [ t k , t k + T h ] . In general, the placement of these knots may be considered as another design tool. As mentioned earlier, we prefer a uniform location of these knots with a selected distance T u , taken as T u = β T . The distance then becomes a remarkable tuning knob for setting the overall length T h of the prediction horizon under the same number q of its segments. Using the distance T u as a variable, we can extend or shorten the prediction horizon satisfying the same computational burden due to the same dimension of the decision vector c u . The chosen length of T u considerably dominates the activity of the projected spline control signal. Consequently, there is no need for any control weighting in the cost and it is possible to set w u ( t ) = 0 , even for control of non-minimum phase plants. The setting w u ( t ) = 0 was assumed in all the experiments reported in this work.
One may tune different controllers via alternating continuity conditions and the spline defect in selected knots of the projected spline control signal. For example, it is possible to make—like in generalized predictive control—an assumption of zero increments of the projected control signal, starting from a certain time instant in the horizon, and thereby to impose an actual control horizon within the given prediction horizon. This can be simply achieved by constraining the knot derivatives of a certain number of last polynomial segments to zero while setting spline defects in the involved joining knots to zero as well. Applying the above procedure to a chosen number of segments, we can set a proper length of the control horizon, see, e.g., Figure 2a,b. For illustrative purposes, in these figures, two arrangements of third-order polynomial spline segments within the prediction horizon are presented. In Figure 2a, the derivatives of the last segment are set to zero, while in a similar arrangement in Figure 2b, a zero defect in the next-to-last knot is added. The impact on the actual control horizon length is evident.
Following the receding horizon strategy, only that piece of the first polynomial segment of the spline control signal which corresponds to the first sampling period T is really applied to the controlled system, as per Figure 1.
Overall, the proposed adaptive B-spline-based stabilizing CMPC algorithm boils down to performing the following steps at each time instant t k :
  • For current plant data y k , c u ( k ) , and reference values c s ( t k ) , using a recursive least squares algorithm update the model (10) and calculate the state vector x ( t k ) ; use it to
  • adapt the calculation of bounds x Ω k min and x Ω k max of the terminal set Ω k , and terminal cost Q h , k ; and to
  • update the matrices H k , G k and Q s , k ;
  • solve the optimal control problem (18) as the QP (19) to obtain the vector of optimal control coefficients c u ( k ) ; which is then used to
  • calculate the vector p ( k ) containing polynomial coefficients of all segments, using the relation (4) as p ( k ) = P c u ( k ) ; and
  • following the receding horizon strategy apply with the possibly shortest implementation period T g , T g T the first polynomial segments of p ( k ) to control the system during the time interval [ t k , t k + T ] , which means calculate the control signals s u i ( t k + τ ) for a relative time variable τ = j T g , j = 1 , , n g , T = n g T g , i = 1 , , n u , as spline polynomial segments of order r u , and implement them for control using a common zero-order hold; and finally
  • repeat the procedure from step 1. for the next sampling instant t k + 1 = t k + T .
Figure 3 shows a simplified block scheme of the above algorithm.

4. Experimental Results and Discussion

This section describes the experiments carried out to verify the functionality and efficiency of the proposed concept of the B-spline CMPC algorithm. In the following subsections, we briefly explain the experimental 2-DOF helicopter platform and software tools, and after that, we illustrate some of the obtained results on four examples of tracking the predefined reference trajectories for the pitch and yaw angles. Similar platforms are well-known in the literature and are commonly used as benchmarks for testing various control techniques. In our case, the platform allows to easily demonstrate the basic features of the design and performance of the proposed B-spline-based CMPC controller.

4.1. Experimental Setup

Our laboratory helicopter physical model [7] consists of a base and a beam carrying at its ends two propellers—the main and the tail one—driven by DC motors; see Figure 4. The beam is attached to its base via an articulated joint which allows the beam to rotate so that its ends move on spherical surfaces. This connection enables two degrees of freedom of the helicopter body movement—rotation around the horizontal axis, described by the pitch angle, and rotation around the vertical axis, described by the yaw angle. Both angles are measured using high-resolution incremental encoders. The model was designed at the authors’ workplace and represents a low-cost alternative to the commercially available models, such as [30], except for its limited rotation around the vertical axis imposed by power and data cables.
The axes of the main and the tail propellers as well as the vertical and the horizontal helicopter axes are usually perpendicular to each other so that the movement in the vertical plane and the movement in the horizontal plane are each affected by the thrust of only one propeller. A counter-weight fixed to the beam determines a stable equilibrium position. The system is balanced in such a way that when the motors are not powered, the main propeller end of the beam is lowered. As is usual for similar small-scale laboratory helicopter setups, the control is achieved exclusively by controlling the speeds of the propellers at a fixed angle of attack. The range of the helicopter body rotation is ± 30 in the pitch angle and ± 145 in the yaw angle. The plane of our main propeller is also slightly (∼ 2 ) deviated from the horizontal one to strengthen the coupling effect with the tail propeller. The main source of random uncertainties in our laboratory helicopter design is the persistent vibration of the tail endpoint of the beam, which manifests itself in the increased fluctuation of the measured value of the helicopter yaw angle during the experiments.
The described laboratory helicopter model can be represented as a nonlinear multivariable system with two inputs:
  • u 1 —voltage driving propeller speed of the main motor;
  • u 2 —voltage driving propeller speed of the tail motor.
These are manipulated in the interface range of 0 V to 10 V. There are also two outputs:
  • y 1 —pitch (elevation) angle;
  • y 2 —yaw (azimuth) angle.
These are measured in degrees.
The interface voltages u 1 and u 2 applied for setting the helicopter inputs are converted to appropriate voltage values that drive the propeller motors. The output y 1 denotes the pitch angle in the vertical plane between the longitudinal axis of the helicopter body and the horizontal axis, and the output y 2 denotes the yaw angle in the horizontal plane between the longitudinal axis of the helicopter body and its zero (initial) position.
The voltage driving the main motor and the voltage driving the tail motor affect both the pitch angle and the yaw angle; hence, we can say that the interaction makes the system multivariable. It is also worth mentioning that the used mechanical simplification with fixed-angle propeller blades does not necessarily translate into simplified dynamics. On the contrary, the input torques and forces are applied via aerodynamical effects, as well as additional coupling effects appearing between the helicopter body and propellers dynamics, due to the reaction forces and torques arising at the acceleration or deceleration of the propellers. These increased cross-coupling effects have important implications on the control of the helicopter system and make its dynamics, as already mentioned, partially uncertain and time-variable. This is the reason why we consider the design of the control in an adaptive mode with RLS estimation of the model parameters and the adaptation of the calculation of the stabilizing terminal set. To solve the problem of RLS estimator wind-up, the estimator with directional forgetting from [21] was implemented. This estimator ensures the convergence of the estimation and avoids large changes in the model parameters.
The proposed spline-based CMPC scheme to control the laboratory helicopter shown in Figure 4 was implemented using the MATLAB/Simulink Desktop Real-Time prototyping suite on a mini PC equipped with a 2.8   G Hz CPU and 16 G of RAM. Communication with the helicopter testbed was handled using the Humusoft’s MF644 multifunction desktop I/O card. The underlying QP (19) of the MPC problem is solved repeatedly at each control instant T using a parametric active-set algorithm implemented in the open-source software package qpOASES [31].

4.2. Experimental Results

In order to demonstrate the functionality and computational efficiency of the proposed spline-based CMPC scheme, we present four experiments assuming values of the design parameters listed in Table 1. These parameters are complemented by the selection of weighing matrices in the objective function (18), which were set as follows:
  • As outlined, the input weighing matrix Q u was set as zero for all experiments.
  • The output weighing matrix Q y was chosen as an exponential type with different exponential factors, λ 1 = 0.995 for the pitch angle and λ 2 = 0.967 for the yaw angle.
The parameters of the adaptive directional forgetting used in the experiments were chosen as follows:
  • The minimum value of the adaptive forgetting factor was set to 0.97 .
  • The expected value of the adaptive forgetting factor in a steady state was set to 0.99 .
All four controllers were tested to follow the same sequence of nonsimultaneous step changes in the pitch angle and yaw angle references. The experiments were conducted for a selection of two different implementation periods, namely T g = 0.04   s (experiments E1 and E2) and T g = 0.02   s (experiments E3 and E4). In doing so, the chosen setting of the quality parameters of the B-spline representation (spline orders, number and location of interior knots) in these experiments led to the number n u ( r u + q ) of decision variables (i.e., the length of the optimizer vector) varying in the range of 10 to 14, as listed in Table 1.
The obtained tracking results for experiments E1 and E2 are presented in Figure 5a. One may notice the quite expected consequence that increasing the length of the optimizer improves the overall tracking performance, which is also evidenced by means of standard deviations of the tracking errors listed in Table 2. The comparison of the experiments is also supplemented by the profiles of the applied spline input signals, see Figure 5b, respecting the constraints imposed on the amplitude and the derivative. Finally, Figure 5c shows the numbers of iterations of the employed QP solver. Its addition is merely illustrative but to an extent confirms that lengthening the optimizer leads (under the same conditions) to lower numbers of required iterations.
The experiments were repeated with the implementation period T g = 0.02   s (experiments E3 and E4). As evidenced by Figure 6a and Table 1, the shorter implementation period contributed to an increase in the quality of tracking. Figure 6b,c illustrate the corresponding profiles of the spline input signals and solver iterations, respectively.
We can also observe from the performed experiments that the quality of tracking the reference trajectories was significantly affected by the existing cross-couplings, characteristic for the controlled helicopter system. This is owed mainly to the mutual link between the pitch angle and the yaw angle, which in this state of the solution we tried to suppress by the mentioned selection of the output weighing matrix Q y .
We also remark that the zero input weighing matrix sufficed to ensure a stabilizing control. This observation is a by-product of the conditions (18e)–(18g) imposed on the continuity and zero derivative of the splines at the end of the prediction horizon.
In terms of evaluating the computational complexity, the main intention of this article is not to compare the proposed approach with other MPC formulations. Nevertheless, if we want to assess the computational burden of the proposed B-spline-based CMPC procedure compared with the standard discrete-time MPC procedure virtually acting on the same prediction horizon, we can approach it by comparing the sizes of the parameterizations that would be required by these procedures within the implementation, see Table 3, Table 4 and Table 5. They show that the B-spline parameterization is markedly leaner, i.e., computationally more efficient than the parameterization of a comparable standard discrete-time formulation, either in the case of parameterization assuming faster sampling given by control period T g (Table 5) or slower sampling given by T (Table 4). Regarding these comparisons, we may also point out that the CMPC procedure in addition enables to guarantee the intersample behavior—a property that may be approximated by the discrete-time formulation with shorter sampling time T g , presented in Table 5.

5. Conclusions

This paper presented a numerically efficient approach to the synthesis of an adaptive velocity integration version of a continuous-time MPC based on B-spline parameterization. The design procedure is shown for multivariate systems represented by a set of MISO models. The implementation itself was carried out in an adaptive mode, with the adaptation of the model and the stabilizing terminal set, in order to improve the tracking capabilities of the controlled system in an uncertain and stochastic environment.
The resulting control strategy was applied for the pitch and yaw angle control of a 2-DOF laboratory helicopter. The performed real-time experiments demonstrated that the proposed B-spline CMPC by design represents a computationally viable alternative to the standard discrete-time MPC implementation. The obtained results are documented both graphically and numerically by capturing the standard deviations of the control errors. At the same time, they allow the reader or user to clearly understand the impact of optional parameters of the B-spline parameterization on the resulting tracking performance.
Finally, we remark that the proposed algorithm is typically coded on a single processor, although a dual-processor implementation would enable to separate the generation of the input polynomial segment from the optimization process, which could further contribute to the reduction in the tracking error.

Author Contributions

Conceptualization, B.R.-I. and M.G.; methodology, B.R.-I. and M.G.; software, B.R.-I., M.G. and P.M.; validation, B.R.-I., M.G. and P.M.; formal analysis, B.R.-I. and M.G.; investigation, B.R.-I. and M.G.; resources, B.R.-I. and M.G.; data curation, B.R.-I., M.G. and P.M.; writing—original draft preparation, B.R.-I. and M.G.; writing—review and editing, B.R.-I. and M.G.; visualization, M.G. and P.M.; supervision, B.R.-I.; project administration, B.R.-I. and M.G; funding acquisition, B.R.-I. and M.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Slovak Research and Development Agency under the grants APVV-18-0023 and APVV-20-0046, by the Cultural and Educational Grant Agency of the Ministry of Education of Slovak Republic under the grant KEGA 012STU-4/2021 and by the European Union’s Horizon Europe under the grant no. 101079342 (Fostering opportunities towards Slovak excellence in advanced control for smart industries).

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the corresponding author. The data are not publicly available due to privacy.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Wang, G.; Chen, J.; Zhou, K.; Pang, Z. Industrial robot contouring control based on non-uniform rational B-spline curve. Symmetry 2022, 14, 2533. [Google Scholar] [CrossRef]
  2. Usman, M.; Ali, A.; Tahir, A.; Rahman, M.Z.U.; Khan, A.M. Efficient approach for extracting high-level B-spline features from LIDAR data for light-weight mapping. Sensors 2022, 22, 9168. [Google Scholar] [CrossRef] [PubMed]
  3. Wang, G.; Xu, F.; Zhou, K.; Pang, Z. S-velocity profile of industrial robot based on NURBS curve and Slerp interpolation. Processes 2022, 10, 2195. [Google Scholar] [CrossRef]
  4. Belmonte, L.M.; Morales, R.; Fernández-Caballero, A.; Somolinos, J.A. Robust decentralized nonlinear control for a twin rotor MIMO system. Sensors 2016, 16, 1160. [Google Scholar] [CrossRef] [PubMed]
  5. Rohaľ-Ilkiv, B.; Volenský, T.; Pavlík, L. LQ control of a laboratory helicopter model using subspace identification. In Proceedings of the 16th International Conference on Process Control, Štrbské Pleso, Slovakia, 11–14 June 2007; pp. 202–207. [Google Scholar]
  6. Abdelmaksoud, S.I.; Mailah, M.; Abdallah, A.M. Practical real-time implementation of a disturbance rejection control scheme for a twin-rotor helicopter system using intelligent active force control. IEEE Access 2021, 9, 4886–4901. [Google Scholar] [CrossRef]
  7. Gulan, M.; Minarčík, P.; Lizúch, M. Real-time stabilizing MPC of a 2DOF helicopter. In Proceedings of the 22nd International Conference on Process Control, Štrbské Pleso, Slovakia, 11–14 June 2019; pp. 215–221. [Google Scholar]
  8. Demircioğlu, H.; Gawthrop, P.J. Continuous-time generalised predictive control. Automatica 1991, 27, 55–74. [Google Scholar] [CrossRef]
  9. Ronco, E.; Arsan, T.; Gawthrop, P.J. Open-loop intermittent feedback control: Practical continuous-time GPC. IEEE Proc.-Control Theory Appl. 1999, 146, 426–434. [Google Scholar] [CrossRef]
  10. Wang, L. Model Predictive Control System Design and Implementation Using MATLAB; Springer: London, UK, 2009. [Google Scholar]
  11. Pannocchia, G.; Rawlings, J.B.; Mayne, D.Q.; Marquardt, W. On computing solutions to the continuous time constrained linear quadratic regulator. IEEE Trans. Autom. Control 2010, 55, 2192–2198. [Google Scholar] [CrossRef]
  12. Pannocchia, G.; Rawlings, J.B.; Mayne, D.Q.; Mancuso, G.M. Whither discrete time model predictive control? IEEE Trans. Autom. Control 2015, 60, 246–252. [Google Scholar] [CrossRef]
  13. Ferreau, H.J.; Almér, S.; Peyrl, H.; Jerez, J.L.; Domahidi, A. Survey of industrial applications of embedded model predictive control. In Proceedings of the 15th European Control Conference, Aalborg, Denmark, 29 June–1 July 2016; p. 601. [Google Scholar]
  14. Rohaľ-Ilkiv, B. One approach to continuous-time predictive control. IFAC Proc. Vol. 1997, 30, 107–114. [Google Scholar] [CrossRef]
  15. Rohaľ-Ilkiv, B.; Gulan, M.; Minarčík, P. Implementation of continuous-time MPC using B-spline functions. In Proceedings of the 22nd International Conference on Process Control, Štrbské Pleso, Slovakia, 11–14 June 2019; pp. 222–227. [Google Scholar]
  16. Rohaľ-Ilkiv, B.; Gulan, M.; Minarčík, P. Explicit spline-based continuous-time MPC: A study on design and performance. In Proceedings of the 21st IFAC World Congress, Berlin, Germany, 11–17 July 2020. [Google Scholar]
  17. Rohaľ-Ilkiv, B.; Gulan, M.; Minarčík, P. Velocity-form spline-based continuous-time MPC: Explicit solution. In Proceedings of the 23rd International Conference on Process Control, Štrbské Pleso, Slovakia, 1–4 June 2021; pp. 261–265. [Google Scholar]
  18. Betti, G.; Farina, M.; Scattolini, R. An MPC algorithm for offset-free tracking of constant reference signals. In Proceedings of the 51st Conference on Decision and Control, Maui, HI, USA, 10–13 December 2012; pp. 5182–5187. [Google Scholar]
  19. Pannocchia, G. Offset-free tracking MPC: A tutorial review and comparison of different formulations. In Proceedings of the 14th European Control Conference, Linz, Austria, 15–17 July 2015; pp. 527–532. [Google Scholar]
  20. Jimoh, I.A.; Küçükdemiral, I.B.; Bevan, G.; Orukpe, P.E. Offset-free model predictive control: A study of different formulations with further results. In Proceedings of the 28th Mediterranean Conference on Control and Automation, Saint-Raphael, France, 15–18 September 2020; pp. 671–676. [Google Scholar]
  21. Navrátil, P.; Bobál, V. Recursive Identification Algorithms Library. In Proceedings of the 17th International Conference on Process Control, Štrbské Pleso, Slovakia, 9–12 June 2009; pp. 516–523. [Google Scholar]
  22. Erdoğan, H.; Gülal, E. Identification of dynamic systems using multiple input–single output (MISO) models. Nonlinear Anal. Real World Appl. 2009, 10, 1183–1196. [Google Scholar] [CrossRef]
  23. de Boor, C. A Practical Guide to Splines; Springer: New York, NY, USA, 1978. [Google Scholar]
  24. Schumaker, L.L. Spline Functions: Basic Theory; John Wiley & Sons: New York, NY, USA, 1981. [Google Scholar]
  25. Piegl, L.; Tiller, W. The NURBS Book; Springer: Berlin/Heidelberg, Germany, 1995. [Google Scholar]
  26. Höllig, K.; Hörner, J. Approximation and Modeling with B-Splines; SIAM: Philadelphia, PA, USA, 2013. [Google Scholar]
  27. Bartels, R.H.; Beatty, J.C.; Barsky, B.A. An Introduction to Splines for Use in Computer Graphic and Geometric Modeling; Morgan Kaufman Publishers, Inc.: San Francisco, CA, USA, 1987. [Google Scholar]
  28. Gopal, M. Modern Control System Theory; Wiley Eastern Limited: New Delhi, India, 1985. [Google Scholar]
  29. Rohaľ-Ilkiv, B. A note on calculation of polytopic-invariant feasible sets for linear continuous-time systems. Annu. Rev. Control 2004, 28, 59–64. [Google Scholar] [CrossRef]
  30. Quanser. Aero 2. Available online: https://www.quanser.com/products/aero-2/ (accessed on 9 January 2023).
  31. Ferreau, H.J.; Kirches, C.; Potschka, A.; Bock, H.G.; Diehl, M. qpOASES: A parametric active-set algorithm for quadratic programming. Math. Program. Comput. 2014, 6, 327–363. [Google Scholar] [CrossRef]
Figure 1. Illustration of how a spline control signal is generated. ∘ denotes a knot point, T—sampling period, T g —implementation (generation) period.
Figure 1. Illustration of how a spline control signal is generated. ∘ denotes a knot point, T—sampling period, T g —implementation (generation) period.
Sensors 23 04463 g001
Figure 2. Illustration of a projected spline control signal with (a) 3 and (b) 4 polynomial segments.
Figure 2. Illustration of a projected spline control signal with (a) 3 and (b) 4 polynomial segments.
Sensors 23 04463 g002
Figure 3. A simplified block scheme of the adaptive spline-based stabilizing CMPC feedback loop.
Figure 3. A simplified block scheme of the adaptive spline-based stabilizing CMPC feedback loop.
Sensors 23 04463 g003
Figure 4. Photograph of the laboratory 2-DOF helicopter setup.
Figure 4. Photograph of the laboratory 2-DOF helicopter setup.
Sensors 23 04463 g004
Figure 5. Experimental results of spline-based CMPC, compared for optimizer lengths 12 (experiment E1) and 14 (experiment E2), assuming T g = 0.04   s . (a) Tracking of reference trajectories for pitch and yaw angles. (b) Voltage inputs applied to the helicopter rotors. (c) QP solver iterations.
Figure 5. Experimental results of spline-based CMPC, compared for optimizer lengths 12 (experiment E1) and 14 (experiment E2), assuming T g = 0.04   s . (a) Tracking of reference trajectories for pitch and yaw angles. (b) Voltage inputs applied to the helicopter rotors. (c) QP solver iterations.
Sensors 23 04463 g005
Figure 6. Experimental results of spline-based CMPC, compared for optimizer lengths 10 (experiment E3) and 12 (experiment E4), assuming T g = 0.02   s . (a) Tracking of reference trajectories for pitch and yaw angles. (b) Voltage inputs applied to the helicopter rotors. (c) QP solver iterations.
Figure 6. Experimental results of spline-based CMPC, compared for optimizer lengths 10 (experiment E3) and 12 (experiment E4), assuming T g = 0.02   s . (a) Tracking of reference trajectories for pitch and yaw angles. (b) Voltage inputs applied to the helicopter rotors. (c) QP solver iterations.
Sensors 23 04463 g006
Table 1. Values of parameters used in real-time experiments.
Table 1. Values of parameters used in real-time experiments.
ParametersExperiments
E1E2E3E4
Implementation period   T g 0.04   s 0.04   s 0.02   s 0.02   s
Parameter n g 10101010
Control period T = n g T g 0.4   s 0.4   s 0.2   s 0.2   s
Prediction horizon T h 20 T30 T15 T20 T
Order of spline input signals r u 3333
Order of spline output signals r y 4444
Order of spline reference signals r s 4444
Defect of splines d ef 1111
Number q of interior knots within T h 3423
Location of interior knots within T h {5 T,10 T,15 T}{6 T,12 T,18 T,24 T}{5 T,10 T}{5 T,10 T,15 T}
Move-blocking parameter β 5655
Number of decision variables n u ( r u + q ) 12141012
Input amplitude bounds for main rotor u 1 min = 4.6 , u 1 max = 5.7
Input amplitude bounds for tail rotor u 2 min = 4.0 , u 2 max = 4.2
Input derivative bounds for main rotor u ˙ 1 min = 1.9 , u ˙ 1 max = 1.9
Input derivative bounds for tail rotor u ˙ 2 min = 1.3 , u ˙ 2 max = 1.3
Corresponds to sampling time. Same as in experiment E1.
Table 2. Standard deviations of pitch and yaw control errors as attained during the experiments.
Table 2. Standard deviations of pitch and yaw control errors as attained during the experiments.
ExperimentPitch AngleYaw Angle
E11.48703.3289
E21.28773.2910
E30.92943.1678
E40.81112.9105
Table 3. Size of B-spline parameterization of the CMPC assumed in real-time experiments E1 to E4.
Table 3. Size of B-spline parameterization of the CMPC assumed in real-time experiments E1 to E4.
ExperimentPrediction
Horizon
T h = NT  
Number of
Decision Variables
n u ( r u + q )
Number of Input Amplitude
and Derivative Constraints
4 n u ( r u + q ) 2 n u
E120 T1244
E230 T1452
E315 T1036
E420 T1244
N denotes the number of prediction horizon steps.
Table 4. Size of parameterization of a comparable standard discrete-time MPC formulation virtually acting on prediction horizon T h with control period (sampling time) T.
Table 4. Size of parameterization of a comparable standard discrete-time MPC formulation virtually acting on prediction horizon T h with control period (sampling time) T.
ExperimentPrediction
Horizon
T h = NT
Number of
Decision Variables
n u N
Number of Input Amplitude
and Increment Constraints
n u 4 N
E120 T40160
E230 T60240
E315 T30120
E420 T40160
Table 5. Size of parameterization of a comparable standard discrete-time MPC formulation virtually acting on prediction horizon T h with control period (sampling time) T g .
Table 5. Size of parameterization of a comparable standard discrete-time MPC formulation virtually acting on prediction horizon T h with control period (sampling time) T g .
ExperimentPrediction
Horizon
T h = Nn g T g
Number of
Decision Variables
n u Nn g
Number of Input Amplitude
and Increment Constraints
n u 4 Nn g
E1200 T g 4001600
E2300 T g 6002400
E3150 T g 3001200
E4200 T g 4001600
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Rohaľ-Ilkiv, B.; Gulan, M.; Minarčík, P. Computationally Efficient Continuous-Time Model Predictive Control of a 2-DOF Helicopter via B-Spline Parameterization. Sensors 2023, 23, 4463. https://doi.org/10.3390/s23094463

AMA Style

Rohaľ-Ilkiv B, Gulan M, Minarčík P. Computationally Efficient Continuous-Time Model Predictive Control of a 2-DOF Helicopter via B-Spline Parameterization. Sensors. 2023; 23(9):4463. https://doi.org/10.3390/s23094463

Chicago/Turabian Style

Rohaľ-Ilkiv, Boris, Martin Gulan, and Peter Minarčík. 2023. "Computationally Efficient Continuous-Time Model Predictive Control of a 2-DOF Helicopter via B-Spline Parameterization" Sensors 23, no. 9: 4463. https://doi.org/10.3390/s23094463

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop