1. Introduction
Crane systems have been attractive for decades in the modeling and control field, mainly due to their underactuated properties that present challenging modeling and control problems that are theoretically interesting and significant from a practical viewpoint. Since cranes are widely used in the industrial, construction, and logistic sectors for transporting heavy and oversized loads by using wire ropes, cables, or chains, an excessive transient and residual cable-suspended payload oscillation caused by actuated horizontal motion degrades positioning performance and may pose safety hazards [
1]. This problem is extensively studied in the literature, and various open-loop and closed-loop control strategies are comprehensively reviewed in [
2], while the more current state of the art focusing on the modeling and control of overhead cranes is provided in [
3]. Recent works include input shaping [
4,
5], time-optimal [
6], command shaping [
7], and feedforward [
8] anti-sway crane control strategies. New concepts in the field of closed-loop control have been developed using PID-like coupling control [
9,
10], sliding mode control [
11] combined with a state observer [
12] or PD controller [
13], passivity-based control [
14,
15], H-infinity [
16], and back-stepping-based [
17] control schemes.
An increase in computing power has resulted in growing applications of linear MPC and nonlinear MPC (NMPC) in a variety of processes. MPC has received attention in relation to crane control systems because it allows the implementation of a set of constraints in the optimization algorithm that keep the crane in a feasible and safe operating region. A combination of feedforward control and NMPC was used in numerical simulations for the payload sway suppression of a planar nonlinear model of a shipboard crane [
18]. A real-time MPC method with a linearized model of a mobile harbor boom crane that is hydraulically actuated was developed in [
19] and tested on a LIEBHERR harbor mobile crane with a load capacity of 104 tons and a rope length of up to 70 m. This work is further developed in [
20], where the nonlinear behavior of the system is simplified by applying exact linearization and input–output linearization. Tysse et al. [
21] proposed combining a Lyapunov-based controller to stabilize the pendulum dynamics and an NMPC scheme used to control the position of a small-scale knuckle boom crane. An NMPC-based scheme was designed in [
22] to optimize the pendulum motion driven by a mechatronic cart–winch system. In [
23], the dynamics of a 3D overhead crane system were decoupled into two second-order systems, and two separate NMPC schemes were developed for simultaneously positioning a payload along the two motion planes of a crane’s bridge and trolley, respectively. Experiments carried out on a small laboratory-scale overhead crane confirmed the effectiveness of this strategy. In [
24], the MPC approach is applied to minimize an objective function that is formulated as the integration of energy consumption and swing angle. In [
25], the authors developed a path-following controller for a tower crane using nonlinear model predictive control with a fast suboptimal solution and verified the algorithm in simulations and on a small experimental stand. In [
26], the authors proposed a model predictive controller for an overhead crane. The model was linearized around the equilibrium point, and the sway constraints were converted to input constraints using the kinematic equation of the crane system. The MPC strategy is employed in [
27] to optimize the crane velocity profile when the maximum position overshoot is given by the crane operator.
The aforementioned studies are mostly based on physics-based models of underactuated crane dynamics. However, the accurate analytical modeling of complex coupled crane dynamics can be difficult and time-consuming; thus, some recent works have proposed data-driven modeling approaches. An MPC strategy involving a discrete-time linear model, recursive least-squares parameter estimation, and a PSO solver of a multi-objective control optimization problem was proposed and tested on a laboratory overhead crane driven by DC motors in [
28]. This linear MPC scheme is based on a straightforward approach that assumes a parametric model of crane dynamics, thereby reducing the identification task to parameter estimation using the RLS algorithm with parameter projection. The parametric identification procedure assumes there is an adequate model structure representation with uncertain parameters that are subject to optimization. Parametric identification requires fewer data to identify a model; however, some a priori knowledge and engineering experience with respect to the analyzed system are required to choose a suitable model structure [
29]. Moreover, there is no unique model structure corresponding to different crane applications under different operating conditions. In this case, non-parametric methods and machine learning techniques are alternative approaches that can be useful for determining a model structure for a specific process and data set. Jakovlev et al. [
30] analyzed several multi-layer perceptron neural network (NN) structures and learning approaches (e.g., variable learning rate backpropagation, scaled conjugate gradients, recursive prediction error, and the Levenberg–Marquardt algorithm) to solve a time-series prediction problem in an MPC scheme for a quay crane. In [
31], an overhead crane’s dynamics were approximated by an adaptive neuro-fuzzy inference system (ANFIS) trained with operational data using a hairpin RNA genetic algorithm. Kim et al. [
32] used the NARX-NN data-driven model trained offline and online using extreme learning machines (ELMs) in the predictive control of a small-scale overhead crane with a prediction and control horizon of
. The Koopman operator theory and deep learning are merged in [
33] to identify a model of a gantry crane subsequently used to develop a linear quadratic controller tested on a laboratory stand. A data-driven active learning control scheme based on the Koopman operator was studied in simulations on a bridge crane model [
34]. Different structures of artificial neural network (ANN) models of an overhead crane’s inverse dynamics were trained and validated using the Levenberg–Marquardt algorithm, with data computed in simulations carried out using a model derived analytically in [
35]. A hybrid PID and MPC scheme with Bayesian optimization for the data-driven identification of linear-model and controller parameter tuning was tested on a laboratory-scale overhead crane in [
36]. An interesting alternative to model-based control is data-driven model-free control, which has recently proven its effectiveness for complex dynamical problems [
37,
38]. Examples of such studies for underactuated crane systems are presented in [
39,
40].
The selection of an appropriate model structure is a crucial point of identification that requires a tradeoff between model fitting and parsimony. Although the machine learning data-driven discovery of crane dynamics has been successfully explored in recent works, especially using an ANN framework, the problem of nonlinear model structure selection is rarely studied. To address this issue, a non-parametric data-driven identification of overhead crane dynamics using multi-gene genetic programming (MGGP) is proposed in [
41]. However, symbolic regression can be prone to generating complex expressions and overfitting when aiming to decrease prediction error [
42]. Thus, in [
43], grammar-guided genetic programming (G3P) combined with
l0 sparse regression is applied to find a compromise between model complexity and prediction accuracy.
Following the work presented in [
43] and in comparison to the linear parametric modeling-based MPC approach presented in [
28], this paper develops an NMPC control strategy for an overhead crane based on a prediction model constructed using a regularized genetic programming (GP)-based approach. A polynomial NARX model structure is optimized using an evolutionary process and regularized least squares; the resulting prediction model is implemented in the NMPC scheme with a PSO algorithm used as the solver to find an optimal sequence of the control actions satisfying the multi-objective performance requirements and input constraints. The experimental verification of the proposed controller is carried out on a laboratory overhead crane by testing the NMPC performance at different operating points in the presence of external disturbances and comparing the results with those of a discrete-time feedback controller developed using the pole placement method. The main contributions of this paper are as follows:
- (1)
A regularized genetic programming data-driven modeling approach is used to develop an NMPC scheme for an underactuated overhead crane system.
- (2)
The proposed data-driven modeling approach and model-based control scheme are experimentally verified under different operating conditions and in terms of robustness with respect to external disturbances.
The rest of this paper is organized as follows:
Section 2 introduces modeling assumptions, provides the identification procedure developed using GP with sparse regression, and describes the NMPC control strategy with the PSO solver. The hardware experimental setup and the results are presented in
Section 3, while the final conclusions are made in
Section 4.
2. Materials and Methods
2.1. Data-Driven Modeling of Crane Dynamics
The proposed data-driven modeling and NMPC approach are studied for a planar lumped-mass model of an overhead crane. A simplified planar single-pendulum system, often used as a benchmark case to develop and evaluate different anti-sway control strategies [
1,
2,
3], is illustrated in
Figure 1, where
M,
m,
l,
α,
x,
v,
F are the masses of the trolley and pendulum, length of the pendulum, sway angle of the pendulum, trolley displacement and velocity, and force, respectively. The force consists of the actuating force (in real applications, usually produced by AC motors supplied by frequency inverters), disturbances, and friction forces. In this configuration, we assume that
α,
x, and
v are measurable variables, the rope length
l and the mass of the payload
m are measurable or known parameters, and the actuating force is produced by an actuator controlled by a control signal
u.
The crane is assumed to have high mechanical impedance, which allows for a decomposition of the crane dynamics into the actuated and unactuated parts and, therefore, can be modeled by two discrete-time nonlinear models, which can be presented in the NARX (nonlinear autoregressive with exogenous inputs) form with operating parameters
and
as
where
are the maximum lags for the system input and output,
and
are the errors at discrete time
k, and the rope length
l and the mass of the payload
m are included in the nonlinear terms to take into account the variation in operating conditions. The nonlinear functions
and
can be reformulated in the linear-in-the-parameters regression functions as
where
and
are the vectors of the nonlinear regressors composed of the lagged input and output and the operating parameters
l and
m, while
and
are vectors of the linear parameters that can be estimated using the least squares technique. The crane position at time step
is approximated by an explicit Euler integration of the velocity to obtain
where
is the sample time.
2.2. Genetic Programming-Based Identification
Under the modeling assumptions given in (1) and (2), the NARX model structure is selected with additional operating parameters in order to identify the input–output nonlinear crane dynamics, which can be presented in the general form
where
y is the output,
ξ is the input excitation signal,
e is Gaussian white noise, and
is the operating parameter.
The coefficients of the linear-in-the-parameters model can be estimated using the least squares method, as follows:
where
is a matrix, whose columns are the nonlinear regressors.
It is assumed that the dynamics of the system can be described by a subset of the regressors in
; therefore, the coefficients
are sparse. In order to promote the sparsity of the solution, the
penalty is added to (7) to obtain
where
is the
pseudonorm, i.e.,
. Problem (8) is nonconvex and NP-hard [
44], therefore several methods have been proposed to obtain sparse solutions, such as replacing the
pseudonorm with the
norm, smoothly clipped absolute deviation (SCAD), minimax concave penalty (MCP), sequentially thresholded least squares (STLS), and proximal gradient methods. In this paper, a suboptimal solution is found by using monotone accelerated proximal gradient descent (mAPG) [
45], which converges to a critical point of
. The proximal mapping of a function
is given by the proximal operator
which for
is separable and results in the hard thresholding operator with threshold τ, as follows:
where
is the element index and
is the number of elements.
The monotone accelerated proximal gradient descent is initialized with
, and updates
according to
where
,
,
,
,
where
is the iteration number and
and
are the step sizes. The algorithm has been proven to converge to a critical point when
[
45], where
is the Lipschitz constant of
. However, in order to speed up convergence, the Barzilai–Borwein [
46] method is used to initialize the step size, and a line search is used to find the step sizes
and
that result in sufficient descent.
where
is a small positive constant.
The regressors are evolved using grammar-guided genetic programming, which overcomes the need for the closure property required in traditional genetic programming to produce valid offspring. Additionally, user knowledge of the system can be incorporated into the context-free grammar to restrict the search space. A context-free grammar is the 4-tuple , where is the start symbol, is a finite set of nonterminal symbols, is an alphabet of terminal symbols, and is the set of production rules of the form , where and .
For identifying the crane system dynamics, the grammar was constructed in such a manner that the model regressors are monomials, thereby resulting in a polynomial NARX model; however, the grammar allows for additional operations on the parameters
and
, such as division and square root. The grammar, in Backus–Naur form (BNF), is given in
Table 1.
In every generation, new individuals, called offspring, are produced by selecting individuals from the existing population, called parents, that pass through a stochastic variation operator. A total of four different variation operators were used: two binary variation operators, namely, subtree crossover and high-level crossover, and two unitary variation operators, namely, subtree mutation and point mutation.
Since every model term is represented by a separate tree, the selection of a parent occurs in two stages. In the first stage, the model is selected from the population by tournament selection, after which a model term is selected from the model to undergo variation. The model term is selected with the probability of selection given by
where
is the normalized term coefficient.
In both crossover methods, two parents are selected; in subtree crossover, two root nodes of the subtrees are selected, and the subtrees are switched in a manner so that the resulting offspring is syntactically correct. In high-level crossover [
47], the selected model terms are switched between the two parents. In both mutational methods, only one parent is selected from the population. Subtree mutation is similar to subtree crossover, but instead of a subtree from a second parent, a new subtree is randomly generated. In point mutation, a single terminal node is changed in a manner so that the resulting offspring is syntactically correct. The genetic programming parameters used for the identification of the overhead crane dynamics are given in
Table 2.
The initialization method used was the probability tree creation 2 (PTC2) algorithm [
48]. Due to the stochastic nature of genetic programming, each run could result in a possibly different solution; therefore, a total of 15 runs were carried out, and the solutions were compared in terms of accuracy, measured by using the mean square error, and complexity, measured by the number of model terms included in the model. One model from the Pareto frontier is then selected as the model used in the nonlinear model predictive control algorithm.
2.3. NMPC with PSO Solver
An NMPC controller with a PSO metaheuristic algorithm as the solver of the constrained optimal control problem was developed, implemented, and tested in real-time experiments on a laboratory stand. PSO is a stochastic optimization technique that was originally developed by Eberhart and Kennedy [
49]. There have been several variations of the PSO algorithm, including utilizing different topologies, such as the star topology, which uses the swarm’s global best position, or the ring topology, in which a particle uses the local best position in its neighborhood. While the original PSO formulation used the star topology, it has been proposed to use the ring topology and limit the star topology to unimodal problems; however, according to [
50], the star topology is still acceptable for multi-objective optimization problems. An empirical study by Engelbrecht [
51] on 60 benchmark functions showed that the two topologies perform similarly, with the star topology performing slightly better in terms of success rate and efficiency, while the ring topology performed slightly better in terms of consistency. Additionally, PSO variants with sub-swarm populations have been proposed, such as dynamic multi-swarm PSO [
52] and symbiotic particle swarm optimization [
53]. A review of the different PSO variants is presented in [
54].
In the proposed control scheme, at each time step,
, the NMPC-GP receives the current state of the plant and solves the constrained optimization problem to find a sequence of control actions
defined over the control horizon
to minimize the cost function, which depends on the deviation of the process variables
and
from the set point
as well as the control effort required to change the system states over the prediction horizon
. The PSO algorithm solves the optimization problem with the constraint
directly as one large optimization problem, and, therefore, there is no requirement for breaking down the problem into smaller subproblems as is the case with dynamic programming. The future trajectories of the states are predicted using (3–5) based on measurements at the current time instant
and the candidate control sequence
obtained iteratively using the PSO algorithm (
Figure 2).
The proposed cost function includes the sum of the squared prediction errors between the desired and predicted crane positions on the prediction horizon, which corresponds to shifting the equilibrium to the desired position; the sum of the weighted squares of the predicted payload angle on the prediction horizon; and the weighted squares of the control increments on the control horizon, as given in
where
,
,
,
.
The position error, , is the difference between the predicted position and the reference signal at time ; is the predicted sway angle of the payload; expresses the control effort, which is calculated as the predicted change in the control signal along the control horizon; and , , and are the weighting coefficients. The control goal is to reach the desired set point within a specified tolerance, and therefore the cost function coefficients and are set to and when the expected crane positioning accuracy is satisfied and the payload sway oscillation is within the acceptable tolerance , respectively; otherwise, nonzero weights are applied (, ). The tolerance of the pendulum oscillation corresponds to the range of the payload linear deviation from the stable equilibrium point, where the linear deviation of a payload depends on the rope length , and for small values of the sway angle, it can be approximated as . In the experiments carried out in this work, the crane and payload positioning accuracy was assumed to be m. Thus, during the experiments, the desired range of magnitude of the residual sway was set as .
The PSO algorithm is adapted to determine the sequence of control signal values
over the control horizon
to minimize the cost function (15). Consider a population of candidate solutions (a swarm of particles) in the constrained
-dimensional search space, where each particle’s position is represented by the coordinates corresponding to the sequence of control signals over the control horizon
, as follows:
satisfying the box constraints
where
; and
is the size of the swarm. At each time step,
, called an iteration, the
particle’s position and velocity are updated in the hyperspace according to
where
and
are the particle’s position and velocity in the previous iteration, respectively;
and
are the personal and global best solutions, respectively;
is called the inertia weight; positive constants
and
are called the acceleration coefficients and are responsible for the influence of the global and local attractors on the particle’s velocity; and constants
and
are drawn uniformly from the interval
. In this work, following [
55], the inertia weight varies linearly between 0.9 and 0.4, together with the acceleration coefficients of 1.5, to ensure an efficient balance between exploration (the ability of the particles to search wide regions of the solution space) and exploitation (the ability of the particles to refine the solution in the neighborhood of an attractor).
Since the velocity of a particle refers to the change in a control signal, which is constrained by the lower and upper limits (
), the velocity in formula (18) is updated by taking into account the control signal limitation:
where
and
.
The constraint described in (20) is the absorption constraint, i.e., if the particle’s velocity would cause the particle to leave the feasible region, then the boundary “absorbs” the excess velocity, causing the particle to stay on the boundary. The personal best position of the j-th particle and the global best position of swarm are updated at each iteration. The iterative process is repeated at each time step , starting with a randomly initialized swarm of particles and their velocities satisfying condition (20). The initial population size is − 1 and is completed by the global best solution from the previous time step to enhance the convergence speed. The PSO searching process is terminated when the maximum number of iterations is reached and the first coordinate of the global best particle is applied as the control signal at the current instant .
2.4. Digital Feedback Controller
The NMPC-GP with the PSO solver is compared with a discrete-time feedback control system developed using the pole placement technique. The crane dynamics are decomposed in a similar manner as in
Section 2.1 into the actuated and unactuated parts and identified using an output-error approach to obtain a discrete-time relation between the crane velocity
v(
k) and the control input
u(
k), approximated by a first-order discrete-time model (21), while the relation between the payload sway angle
α(
k) and the velocity
v(
k) is given by a second-order discrete-time model (22):
where
is the backward shift operator and
,
,
, and
are polynomials:
,
,
,
.
A digital control law at step
k for parallel feedback loops of the crane position and payload sway angle is proposed as follows:
where
,
is approximated by (5);
is the reference signal at time
k; and
,
,
,
, and
are the controller parameters calculated using the pole placement method. In this case, the 5th-order closed-loop characteristic polynomial can be presented as
where
,
,
.
The desired polynomial
can be obtained by assuming the desired location of the closed-loop poles
:
In [
56], the desired closed-loop poles were assumed as
, where
is the natural undamped frequency of the payload suspended on a rope of length
l, while
g = 9.81 ms
−2 is the acceleration gravity.
3. Results
The laboratory experimental setup hardware is illustrated in
Figure 3. The double-girder crane bridge is driven by two 0.18 kW AC gear motors supplied by SV004iC5-1F 0.4kW frequency inverters (LS Industrial Systems Co., Ltd., Anyang-si, South Korea) that are controlled by the voltage signal
u within the range ±10V. The incremental encoders with a resolution of 400, 2000, and 100 ppr (pulses per rotation) are used to measure position
x, sway angle
α, and rope length
l, respectively. The encoders are installed on the wheels to measure position
x relative to the crane bridge, under the trolley connected to a pair of fork arms embracing the hoisting cable to measure sway angle
α, and on the hoisting drum to measure rope length
l. The data from the sensors were sampled at 10 Hz using a PC (16 GB RAM, Quad Core 4 GHz Intel Core i7-6700 K CPU, Intel, Santa Clara, CA, USA) equipped with the IO card PCI1710HG, MS Windows 10 operating system, and Matlab software release R2020. During the experiments, the PLC was used to transmit the signals from the sensors to the PC and the control signal
u to the actuators. A constant velocity Kalman filter was used to estimate the velocity of the crane
v with the process noise and measurement noise that follow Gaussian distributions
and
, where
and
.
The identification model was obtained from input–output experimental data collected from a series of 10 experiments carried out at different operating points, with rope lengths
l = {0.8, 1.1, 1.4, 1.7, 2.0} m and payload masses
m = {10, 30, 50} kg. The input excitation signal
u was a sequence of step functions with varying amplitude. The data from the experiment carried out with
l = 1.1 m and
m = 50 kg and the experiment carried out with
l = 1.7 m and
m = 10 kg were used as the testing data, while the rest were used as the training data to evolve the GP-NARX model. Similarly to [
43], the training data are split randomly with a 70:30 ratio into two sets, where the first data set is used in the GP algorithm to determine the MSE used as the fitness function, while the second data set is used for model selection, i.e., the model with the lowest MSE on the second training data set is stored as the best model. The GP algorithm was run 15 times with the grammar and parameters given in
Table 1 and
Table 2, respectively, and the best model in each run was saved. The accuracy and complexity of the best models from each run are shown in
Figure 4, with the green points corresponding to models on the Pareto frontier and the green pentagram representing the selected model. Nonlinear regressors
and
and coefficients
and
of the crane velocity (3) and pendulum sway (4) models, respectively, are presented in
Table 3.
The GP-NARX model had 11 model terms selected for the velocity submodel (3), while the sway submodel (4) had 13 model terms selected. The mass of the payload did not appear in any of the terms, making the models independent of the payload mass.
Figure 5 presents the input signal
u applied to excite the underactuated part of the overhead crane in the two experiments carried out to obtain testing data at operating points {
l = 1.1 m,
m = 50 kg} and {
l = 1.7 m,
m = 10 kg}, and the 20-step-ahead prediction (crane velocity and payload sway angle) performance of the GP-NARX models. The models were then experimentally verified with the NMPC-GP control scheme in terms of robustness against rope length and payload mass variation, as well as anti-disturbance performance.
The NMPC with the GP-NARX prediction model and the PSO solver, denoted NMPC-GP controller, was tested in experiments carried out with a sample time s and under the constraints on the control signal in the range −8 V ≤ u ≤ 8 V. The prediction and control horizon were established as and , respectively, while the swarm size and number of iterations of the PSO were set in the experiments as and , respectively. The error tolerance for the crane and payload positioning was assumed to be 0.02 m; thus, the desired range of magnitude of the residual sway was approximated in the controller as rad. The weighting coefficients and of the fitness function (15) were selected empirically during the experiments. The NMPC algorithm with the PSO solver was implemented using a C-MEX S-function in Matlab R2020. The mean execution time and standard deviation for 100 runs of the NMPC algorithm with the above-mentioned settings were 2.72 and 0.0424 milliseconds, respectively.
Three cases of experiments were carried out to investigate the performance and prove the feasibility and effectiveness of the developed control approach in terms of the controller’s robustness against rope length and payload mass variation, in the case of an external disturbance affecting the pendulum, and by comparing the NMPC-GP with a linear discrete-time controller. The controller’s performance was tested with both the operating points considered during the identification experiments, with rope lengths and payload masses not included in the training data.
In Case 1, the experiments were performed for different operating points corresponding to varying rope lengths (
l = {0.8, 1.4, 2.0}) m and payload masses (
m = {10, 30, 50} kg), while the desired set point was
. The control performance of the NMPC-GP controller is presented in
Table 4 in terms of rise time
, settling time
, maximum magnitude of the pendulum oscillation
, and residual sway
, which is also converted to linear deviation from an equilibrium point. In addition,
Table 4 includes data on the maximum deviation and residual deviation of the rope-suspended payload (
and
, respectively). The control input
u, determined by the NMPC-GP controller, as well as the crane velocity, position, and payload sway angle are depicted in
Figure 6 and
Figure 7a. The crane position rise time is within 5.4–5.8 s, while the settling time range is within 6.4–7.2 s; after this time, the residual oscillation remains within the expected range (the linear payload deviation from equilibrium point is less than 0.02 m). The maximum value of the payload sway angle varies with rope length, while the influence of the payload mass is minor within the range tested during the experiments.
In Case 2, the performance of the NMPC-GP was verified in the presence of an external disturbance affecting the pendulum. It is presented in
Figure 7b. The experiment was carried out for a rope length
l = 2.0 m and a payload mass
m = 10 kg. In the time interval between 1.8 and 2.8 s, the pendulum is displaced from −0.04 rad to 0.15 rad, the control signal varies between −4.8 V and 8 V (corresponding to a velocity change between −0.09 m/s and 0.24 m/s), and the crane and payload positions are settled at the desired value with a settling time of 9 s with the suppression of the suspended payload oscillation within the allowable tolerance range of below 0.01 rad.
In Case 3, the proposed NMPC-GP is compared with the DFC developed using the pole placement method in
Section 2.3. The comparison was carried out for two operating points not included in the training of the GP-NARX model: rope length
l = 1.1 m and
l = 1.7 m, and payload mass
m = 10 kg. Using input–output data obtained from the experiment carried out with a rope length
l = 1.1 m, a discrete-time output-error model identification was performed to parametrize models (13) and (14), as follows:
The parameters of control law (15) were determined using the pole placement method as
,
,
,
, and
, by choosing the desired closed-loop poles as
(
i = 1, 2, …, 5) to obtain a similar settling time for the crane position as in the case of the NMPC-GP. The control performances are compared in
Table 5 and
Figure 8. The DFC performs similarly to the NMPC-GP in the experiment with
l = 1.1 m in terms of settling time of crane position and payload residual oscillation. However, the NMPC-GP outperforms the DFC in the reduction in payload oscillations in the transient state. The first two amplitudes of oscillation are reduced by the NMPC-GP to 0.063 rad and 0.041 rad, respectively, compared to 0.073 and 0.072 in the case of the DFC scheme. The NMPC-GP provides faster suppression of the payload sway below 0.02 rad in less than 3 s, while the DFC controller performs it in 5 s. In the experiment with rope length
l = 1.7 m, there is performance deterioration of the DFC with respect to the settling time (
) when compared to the NMPC (
). The predictive controller performs better and is faster in reducing the pendulum oscillation with a residual sway of 0.003 rad compared to 0.012 rad in the case of the DFC.
4. Conclusions
This study conducted an experimental verification of a nonlinear model predictive control with particle swarm optimization as the solver for an overhead crane with a data-driven overhead crane dynamic model. Grammar-guided genetic programming with regularization was used to construct an input–output dynamic model of the overhead crane. The experimental data used for identification were obtained at 10 different operating points by varying the rope length and the payload mass. A total of 15 genetic programming runs were carried out and compared in terms of accuracy and complexity, and a model for the NMPC was selected from the Pareto frontier.
The NMPC cost function was selected to be a quadratic function of the payload positioning error, the sway angle, and the control input, which was solved with the PSO algorithm. Due to the physical limitations of the overhead crane, constraints on the control input were implemented as box constraints in the PSO algorithm. To prove the efficacy of the proposed method, three different experimental cases were carried out.
In the first case, the proposed nonlinear model predictive controller was tested at different operating points with the rope length ranging from 0.8 to 2.0 m and the payload mass ranging from 10 to 50 kg. The crane position rise time was within 5.4–5.8 s, while the settling time range was within 6.4–7.2 s. The residual oscillation was within the acceptable tolerance level of the linear payload deviation of 0.02 m for all operating points. In the second case, the payload was subjected to an external disturbance during positioning in the time interval 1.8–2.8 s. The proposed controller positioned the payload at the desired location with a settling time of 9 s and had residual oscillations within the acceptable tolerance level. In the third case, the nonlinear model predictive controller was compared with a digital feedback controller developed using the pole placement method with a data-driven linear output-error model. The NMPC had better oscillation suppression than the DFC in the transient state, as well as lower residual oscillations.
This study shows that the NMPC with PSO used to minimize the cost function of a data-driven dynamic model of an overhead crane is a viable alternative for the control of overhead cranes. The proposed method was able to position the payload with varying rope lengths and payload masses, as well as in the presence of external disturbances. A comparative study with a digital feedback controller was also performed, in which the proposed method performed better in the transient state and was able to achieve a residual oscillation within the desired tolerance.
The proposed identification method was only used to identify a NARX model; however, a NARMAX model would be able to model a larger class of systems by including lagged error terms. Additionally, the crane model was assumed to have high mechanical impedance, which in some industrial settings may no longer be valid. Therefore, in future work, we aim to expand the model structure from the NARX model to the more general NARMAX model structure and incorporate the coupling between the crane velocity and the payload sway into the model. We will also consider investigating the different prediction and control horizon lengths more comprehensibly.