Abstract
The two degree of freedom ball balancing table (BBT) is a well-known didactic tool used to evaluate the effectiveness and performances of many control algorithms for dynamic systems. The present paper proposes to control the ball position of the BBT system via a linear feedback controller based on a functional observer. The parameters of the linear functional observer are determined by applying the direct method which requires neither a Sylvester equation resolution nor canonical transformations. The use of a digital controller has motivated the elaboration of the equations in the discrete time case. In this work, the BBT is tested in real-time to evaluate the proposed controller performances when stabilizing a ball on a reference point. This paper is a continuity of the previous work [12], in which only simulation results have been carried out.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
The two-dimensional BBT system can be considered as the extension of the one-dimensional ball and beam system. It is widely used as an experimental device for the study of multivariable nonlinear systems. The BBT is a challenging system known to be highly unstable in open-loop and strongly coupled. It consists of a ball rolling freely on the top of a rectangular plate fixed in its centre and able to rotate around its X and Y-axis. The coordinates of the steel ball are acquired through a touch screen in real-time.
Until now, a considerable number of studies have been devoted to the motion control problem of the BBT system [8, 16, 23, 30]. It includes both, the static position control problem where the ball is stabilised at a reference position and the dynamic position control problem where the ball follows a desired trajectory. Many controllers have been suggested for studying these problems and one of the most prevalent is the classic PID controller. Nevertheless, it suffers from many limitations which were mentioned by several researchers such as an important settling time, a large overshoot [31], a low-precision [34] and others. So to ameliorate system performances, several advanced control methods have been investigated. In [8], a hierarchical fuzzy control scheme was proposed. A Fuzzy-PID controller based on Kalman filter was introduced in [13] where the PID parameters were self-tuned, and the Kalman filter was used to overcome modelling imprecision and reduce noise from sensors. In [3], an optimal nonlinear controller based on the model reference control structure was investigated. To determine optimal parameters, the invasive weed optimisation algorithm was used. In [15], in order to solve the trajectory tracking problem, an adaptive sliding mode controller was proposed. Based on the performance of static position and dynamic tracking, a comparison in [16] was carried out between Fuzzy controller, LQR, sliding mode and PID. In [27], two control approaches were presented and compared in an experimental study which are the state space feedback based on an observer and the sliding mode controller. In [12], the design of a functional observer-based feedback controller using the direct approach was presented. The controller was tested in a simulation environment. The acceptability of the simulation results has motivated the effort reported in the present paper to test the validity of the proposed controller on the BBT laboratory model in real-time. Linear functional observers (LFOs) have gained increasing interest in the past number of years, due to their potential to overcome problems related to technical constraints and high costs of sensors installation. In functional observer theory, it is not required to determine each component of the state variables, but it is sufficient to estimate a part of them, so by using a functional observer, we can ensure reducing substantially the order of the observer. This state variables partial reconstruction can be interesting and useful in many control systems and one of the widely used applications is the state feedback design where the control signal is generated as the output of the estimator. Various approaches have been proposed to provide state estimation. These approaches are essentially based on eigenvalue assignment or on the Sylvester-observer equation resolution [7]. In [21], the direct method was introduced for the first time to reconstruct a single linear functional observer and since then many studies have been carried out on functional observer design using this method [11, 18, 24]. The main advantage of this method is its simplicity as it relied on iterative derivations of the vector to be reconstructed. Besides, it is sufficient for the system to be functional observable (or functional detectable) instead of being observable (or detectable). We have to mention that the notion of functional observability (or functional detectability) is less restrictive than the observability (or the detectability) notion. In this work, the implementation of a feedback controller on a hardware platform has motivated the elaboration of the equations in a discrete-time framework. This paper is divided into six sections. Section 2 deals with the description of the experimental setup of a ball balancing table. In section 3, our focus is on the design of a state feedback control law using a functional observer. Next, section 4 describes the direct procedure for the estimation of a desired functional by a linear multifunctional observer. The 5th section is devoted to the design of the BBT system controller. In the following section, the experimental results of the proposed algorithm are presented. Finally, some conclusions are given.
2 Experimental setup description and modeling
The ball balancing table is an apparatus used to evaluate the control algorithms developed in this paper. Figures 1 and 2 show the experimental setup and its main parts.
Schematic diagram of ball and plate system [1]
The BBT physical parameters are indicated in Table 1 and Figure 3.
2.1 Mathematical model
To derive the coupled equations of motion, the following assumptions are taken into account:
-
All resulting frictions and torques between the ball and the plate are neglected in order to simplify the system equations.
-
The ball never loses contact with the table. This allows to avoid discontinuities in the ball position signal.
-
The ball moves freely on the plate without slip**.
The last two hypotheses impose a constraint on the rotation acceleration of the plate.
By using the Lagrangian method and the relationship between the plate angle and the motor angle, the nonlinear equations of the system for X-direction and Y-direction can be written as follows:
To simplify the control of such a highly nonlinear system, we can use the approximation of sine function for small angles:
Then, the differential equations can be linearized around the operating point \((x_b=0, y_b=0)\) and the equations (1) and (2) become:
with
Taking the Laplace transform of (4), we obtain the transfer function:
In Y-direction, the transfer function can be written as:
As the actuator of ball balancing table is a servomotor, its transfer function, denoted by \(G_{M}(s)\), can be approximated as a first order function of the form:
where \({U_{X}}\) and \({U_{Y}}\) are the input signals of servomotors in X and Y directions, \(K _ { M }\) is the gain and \(\tau\) is the time constant of the actuator.
The ball balancing table has a cascade structure (Figure 4), then the plant’s and actuator’s transfer matrix is:
where
From the transfer function matix, we can easily deduce the continuous state space representation.
2.2 Discrete state space representation
Assume that the general form of the continuous time state space model of the BBT is given by the following equation:
where the system matrix \(A_c\) is \(n \times n\), the input matrix \(B_c\) is \(n \times p\) and the output matrix \(C_c\) is \(m \times n\). To implement the numerical control calculation, this linear continuous model needs to be discretized.Then, the discrete state space equations are given by:
with:
Notations
In the whole paper, all the sampled signals are functions of the discrete-time variable k which we may write in one of three ways
\(s(kT)\mathrm{{ }} \equiv s(k)\mathrm{{ }} \equiv {s_k}\), where \(k \in \mathbb {N}\), \(k\ge k_0\) and T are a sampling interval.
3 Discrete feedback controller
In order to guarantee the asymptotic convergence of the error estimation to zero, the control loop poles are assigned by the pole placement method. The feedback control law is given as follows:
where r(k) is a two-dimensional reference input signal. F and \(N_C\) are, respectively, the state feedback gain matrix and a constant matrix that acts on the static gain [20, 25].
By replacing u(k) by its expression in (13), we obtain:
For an external reference input r(k), the static gain \(\Gamma\) is expressed as follows:
The matrix \(N_C\) is calculated if the static gain \(\Gamma\) is determined and we can obtain:
If the system (13) is controllable [2, 17], then the design of the pole placement controller is possible.
From the equation (14), it’s clear that a state observer is required to estimate the states used for the feedback. In literature, various types of state observers are used, but our focus is limited to the functional observer. The block diagram of the proposed system is shown in Figure 5.
Next, the state observer design for discrete system is detailed step by step.
4 Discrete functional linear observers
Let us consider the problem of observing a linear functional \(\upsilon (k)\), the vector that is required to be estimated (or reconstructed):
where \(F \in \mathbb {R}^{(l \times n)}\).
Without loss of generality, it is assumed in this paper that:
-
F and C are matrices that have full row rank, i.e., \(\mathrm{{rank}}(F) = l\) and \(\mathrm{{rank}}(C) = m\)
-
\(\mathrm {rank} \left( {\left[ {\begin{array}{*{20}{c}} C\\ F \end{array}} \right] } \right) \mathrm{{ }} = \mathrm{{ }}m\mathrm{{ }} + \mathrm{{ }}l\).
-
The number of functions to be estimated is not greater than the difference between the number of states and the outputs of the system \(l \le n - m\). The greatest possible order for the functional observer is \(n-m\), which is the order of the Cumming-Gopinath observer [5, 10].
-
The triplet (A, C, F) is functional observable or at least functional detectable [6, 9, 14, 22]. If this condition does not hold, then it is not possible to design a functional observer for this triplet.
To reconstruct the function, \(\upsilon (k)\), the following Luenberger observer structure of order q, \(q\mathrm{{ }} \le \mathrm{{ }}(n - p)\), is proposed:
where z(k) is the q-dimensional state vector and \({\hat{v}}\left( k \right) \in \mathbb {R}^{l}\) is the estimate of \(\upsilon (k)\). The observer matrices \(L \in \mathbb {R}^{(q \times q)}\), \(V\in \mathbb {R}^{(q \times p)}\), \(P\in \mathbb {R}^{(q \times m)}\), \(H\in \mathbb {R}^{(l \times q)}\) and \(G\in \mathbb {R}^{(l \times m)}\) are determined such that:
The linear functional observer structure is given in Figure 6.
4.1 Existence conditions
Theorem 1
The observable system (19) is an asymptotic observer of linear functional (18) if and only if there exists a \((q \times n)\) matrix T solution of the equations:
and the matrix L is Schur, namely when all the absolute value of the eigenvalues are less than one.
4.2 The direct approach to design linear functional observers
Let us define \(\nu\) as the smallest integer such that:
where
The hypothesis (24) can always be fulfilled using Cayley-Hamilton theorem [32] for every \(k \ge {k_0}\).
After \(\mu = 0,\mathrm{{ ~}}1,\mathrm{{~ }}2 \ldots\) phase-advanced of \(\upsilon (k) = Fx(k)\), we obtain:
From Equation (24), it can be deduced that \({F{A^\nu }}\) is a function of \({\Sigma _\nu }\). Then, there exist the matrices \({L_{C,i}},\mathrm{{ ~}}i = 0 \ldots \nu\) and \({L_{F,i}},\mathrm{{~ }}i = 0 \ldots \nu - 1\) such that:
From the previous equation, the following linear equation can be written:
where \(\Phi\) is a \(\left( {l \times \rho } \right)\) matrix, \(\rho = m + \nu \left( {l + m} \right)\), \(\Phi\) can be written as:
For \(\mu = \nu\), the equation (26) can be written as:
To eliminate the state x(k) from equation (30), let’s consider the successive shift forward of \(\upsilon \left( k \right) = F x\left( k \right)\) and \(y\left( k \right) =Cx\left( k \right)\):
-
For \(i=1\) to \(\nu -1\),
$$\begin{aligned} \begin{array}{l} F{A^i}x(k) = \upsilon (k + i)-F\sum \limits _{j = 0}^{i - 1} {{A^{i - 1 - j}}Bu(k + j)} \end{array} \end{aligned}$$(31) -
For \(i=1\) to \(\nu\),
$$\begin{aligned} \begin{array}{l} C{A^i}x(k) = y(k + i) - C\sum \limits _{j = 0}^{i - 1} {{A^{i - 1 - j}}Bu(k + j)} \end{array} \end{aligned}$$(32)
By replacing (31) and (32) in (30), we get:
where for \(\nu \ge 2\) and \(j=0\) to \(\nu -2\):
and
\(\begin{array}{l} {V_{\nu - 1}} = \left( {F - {L_{C,\nu }}C} \right) B. \end{array}\)
The equation (33) can be written as:
where \({{\bar{q}}}\) stands for the shift forward operator and \(\bar{q}^{-1}\) for the delay operator in a discrete-time formulation.
Let us denote the vectors:
\({z_i}(k) = {{{\bar{q}}}^{ - 1}}\left[ {{L_{F,0}}\upsilon (k) + {L_{C,0}}y(k) + {V_0}u(k)} \right]\), \(\mathrm{{for}}\;i = 0\)
\({z_i}(k) = {{{\bar{q}}}^{ - 1}}\left[ {{L_{F,i}}\upsilon (k) + {L_{C,i}}y(k) + {V_i}u(k) + {z_{i - 1}}} \right]\), for \({i = 1\;\mathrm{{to}}\;\nu - 1\;}\)
With \(\upsilon (k) = {z_{\nu - 1}}(k) + {F_{C,\nu }}y(k)\), we obtain:
where the matrices \({P_{C,i}}\) for \(i=0\) to \(\nu - 1\) are given by:
Let us introduce the vector \(z(k) = {\left[ {\begin{array}{*{20}{c}} {z_0^T(k)}&\cdots&{z_{\nu - 1}^T(k)} \end{array}} \right] ^T}\), the input-output recurrence equation (35) can be realised as the state space observable system (19) where
If L is a Schur matrix then the observer (19) is an asymptotic observer of \(\upsilon (k)\). Now, finding the stable functional observer depends on the resolution of the linear equation (28) and then the decomposition of \(\Phi\).
The solution set of the linear equation (28) is given by:
where \(\Omega\) is an arbitrary \(\left( {l \times \rho } \right)\) matrix and \({\Sigma _\nu ^{\left[ 1 \right] }}\) is a generalized inverse of \({\Sigma _\nu }\) given by [4]:
For single functional observers (case \(l = 1\)), the proposed method leads to the minimum functional observer [21]. However, for multiple functional observers (case \(l > 1\)), the resulting order observer does not necessarily represent the minimum possible order. When theorem 1 is fulfilled, the order of the designed observer is \(\nu l\). The stable observer order could be even greater than n or \(n-m\). That’s why a reduction of the observer order is required to obtain a stable minimal observer.
5 Controller design for BBT system
Considering the plant’s and actuator’s modeling method in section 2. \(K _ { M }\) is determined as 100 and \(\tau\) is calculated as 0.01. After the calculations, motor transfer function is obtained as below:
then the transfer function of system is given by:
For the sampling period \(T=0.004s\), the discrete state space representation in the form (13) is obtained:
To start the design, we have to choose the following stable closed-loop poles:
The controller gain F, which assigns the above closed-loop poles is calculated by using the pole-assignment routine. The result is :
and
Now, our focus is on the design of the functional observer. The first step deals with the determination of \(\nu\). From (24), \({r_1}(k)=0\) thus we deduce \(\nu =1\) and as the arbitrary matrix can be written as follows:
we obtain from (37):
Following (36), the second step consists in the definition of \(L=L_{F,0}\). Thus, F is asymptotically stable and we can design a second-order Luenberger asymptotically stable observer for the linear functional Fx(k). The observer parameters are obtained with the third step. Applying the formula (36), we get:
6 Experimental results
It is clear, in Figure 7 that the experimental output signals of the ball balancing table follow the reference trajectories with good performances. The results show also that the control law obtained by using the functional observer, allows to obtain high performances with an error which starts from the prescribed initial value and quickly goes to zero.
The motor angles provide an amplitude saturation outside the range \([ - {45^ \circ }, + {45^ \circ }]\). In this paper, the stabilization problems during the saturation period have been fulfilled experimentally according to the dynamics of the system. As a perspective of this work, the stability analysis problem for the systems with input saturation will be addressed. For several decades, the stability analysis or stabilization problems of control systems with saturation have attracted extensive attention in the research community and they still constitute an open source of both theoretical and practical problems (see, e.g., [26, 28, 29, 33, 35]).
7 Conclusion
A functional observer with a minimum order, designed for time-invariant discrete-time linear systems, was determined by applying the direct procedure. To evaluate this procedure, a state feedback controller based on a multifunctional observer is implemented in a control laboratory experiment.
Compared to full order observer, some interesting functional observer features can be deduced. On the one hand, the functional observer designer is free to choose the states to be estimated. On the other hand, the number of state variables reconstructed using a functional observer is lower than that using a full order observer. As it is mentioned in section 5, the two inputs, two outputs, sixth-order BBT system require only a second-order functional observer, while it requires a sixth-order Kalman observer or a fourth-order Cumming–Gopinath observer. Designing the minimum observer has the advantages of reducing the observer calculation time. Compared to [4], the reduction of the observer establishment time, in such a way as to allow estimating the two system states before the controller stabilizes them, is not required when using the functional observer since it needs to construct only one BBT system state. Let us note that to simplify the calculation, the model in [19] takes into consideration only the ball dynamics.
In further works, the development conditions of matrix \(\Omega\) leading to an asymptotic observer with minimal dimension as well as the extension of the direct approach to the unknown disturbance input linear observers will be considered.
References
ACROME (2020) Automation control robotics mechatronics. https://www.acrome.net/ball-balancing-table. Accessed 20 Oct 2020
Albertos P, Sala A (2003) Multivariable control systems: an engineering approach. Springer
Ali HI, Jassim HM, Hasan AF (2019) Optimal nonlinear model reference controller design for ball and plate system. Arabian Journal for Science and Engineering 44(8):6757–6768
Ben-Israel A, Greville TNE (2003) Generalized Inverses: Theory and Applications, 2nd edn. Springer, New York
Cumming SDG (1969) Design of observers of reduced dynamics. Electronics Letters 5(10):213–214
Darouach M, Fernando T (2019) On the existence and design of functional observers. IEEE Trans Autom Control 65(6):2751–2759
Datta BN (2004) Numerical methods for linear control systems. Academic Press, San Diego
Fan X, Zhang N, Teng S (2004) Trajectory planning and tracking of ball and plate system using hierarchical fuzzy control scheme. Fuzzy Sets and Systems 144(2):297–312
Fernando TL, Trinh HM, Jennings L (2010) Order Linear Functional Observers. IEEE Transactions on Automatic Control 55(5):1268–1273
Gopinath B (1971) On the control of linear multiple input-output systems. Bell Syst Tech J 50(3):1063–1081
Hamdoun M, Ayadi M, Rotella F, Zambettakis I (2017) Minimal single linear functional observers for discrete-time linear systems. In: 2017 4th International Conference on Control, Decision and Information Technologies (CoDIT), pp 0772–0777
Hamdoun M, Ben Abdallah M, Ayadi M, Rotella F, Zambettakis I (2020) Discrete-time linear functional observer design using a direct approach. In: 2020 4th International Conference on Advanced Systems and Emergent Technologies (IC_ASET), pp 187–192
Han J, Liu F (2016) Positioning control research on Ball&Plate system based on Kalman filter. Proceedings - 2016 8th International Conference on Intelligent Human-Machine Systems and Cybernetics (IHMSC), pp:420–424
Jennings LS, Fernando TL, Trinh HM (2011) Existence conditions for functional observability from an eigenspace perspective. IEEE Transactions on Automatic Control 56(12):2957–2961
Jeon J, Hyun C (2017) Adaptive sliding mode control of ball and plate systems for its practical application. In: 2017 2nd International Conference on Control and Robotics Engineering (ICCRE), pp 119–123
Kassem A, Haddad H, Albitar C (2015) Commparison between different methods of control of ball and plate system with 6dof stewart platform. IFAC-PapersOnLine 48(11):47–52
Macfarlane AGJ (1980) Complex variable methods for linear multivariable feedback systems. Springer, Berlin
Mohajerpoor R, Abdi H, Nahavandi S (2015) Minimal multi-functional observers for linear systems using a direct approach. In: 2015 IEEE Conference on Control Applications (CCA), pp 1266–1271
Nunez D, Acosta G, Jimenez J (2020) Control of a ball-and-plate system using a State-feedback controller. Ingeniare Revista chilena de ingeniería 28:6–15
Rotella F, Zambettakis I (2008) Automatique élémentaire de l’analyse des systèmes à la régulation. Hermes Science Publications
Rotella F, Zambettakis I (2011) Minimal single linear functional observers for linear systems. Automatica 47(1):164–169
Rotella F, Zambettakis I (2016) A note on functional observability. IEEE Transactions on Automatic Control 61(10):3197–3202
Roy P, Acharjee S, Ram A, Das A, Sen T, Roy BK (2016) Cascaded sliding mode control for position control of a ball in a ball and plate system. In: 2016 IEEE Students’ Technology Symposium (TechSym), pp 79–84
Sakhraoui I, Tra** B, Rotella F (2020) Design procedure for linear unknown input functional observers. IEEE Transactions on Automatic Control 65(2):831–838
Skogestad S, Postlethwaite I (1996) Multivariable feedback control analysis and design. John Wiley & Sons
Sophie T, Garcia G, da Silva Jr JMG, Queinnec I (2011) Stability and Stabilization of Linear Systems with Saturating Actuators, 2nd edn. Springer, New York
Sumega M, Gorel L, Varecha P, Zossak S, Makys P (2018) Experimental study of ball on plate platform. In: 12th International Conference ELEKTRO 2018, 2018 ELEKTRO Conference Proceedings, 1, pp 1–5
Tingshu H, Zongli L (2001) Control Systems with Actuator Saturation Analysis and Design. Springer, New York
Vikram K, Karolos MG (2002) Actuator saturation control. Marcel Dekker, New York
Wang H, Tian Y, Sui Z, Zhang X, Ding C (2007) Tracking control of ball and plate system with a double feedback loop structure. In: 2007 International Conference on Mechatronics and Automation, pp 1114–1119
Wang Y, Sun M, Wang Z, Liu Z, Chen Z (2014) A novel disturbance-observer based friction compensation scheme for ball and plate system. ISA Transactions 53(2):671–678
Warwick K (1983) Using the Cayley-Hamilton theorem with n-partitioned matrices. IEEE Transactions on Automatic Control 28(12):1127–1128
Yang H, **a Y, Geng Q (2019) Analysis and synthesis of delta operator systems with actuator saturation, vol 193. Springer, Singapore
Yuan D, Zhang Z (2010) Modelling and control scheme of the ball-plate trajectory-tracking pneumatic system with a touch screen and a rotary cylinder. IET Control Theory Applications 4(4):573–589
Yuanlong L, Zongli L (2018) Stability and Performance of Control Systems with Limited Feedback Information. Birkhäuser Basel, Switzerland
Acknowledgemnents
This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The authors declare that they have no conflict of interest
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Hamdoun, M., Abdallah, M.B., Ayadi, M. et al. Functional observer-based feedback controller for ball balancing table. SN Appl. Sci. 3, 614 (2021). https://doi.org/10.1007/s42452-021-04590-9
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s42452-021-04590-9