Next Article in Journal
Decentralized Machine Autonomy for Manufacturing Servitization
Next Article in Special Issue
Cross Encoder-Decoder Transformer with Global-Local Visual Extractor for Medical Image Captioning
Previous Article in Journal
DTS-Net: Depth-to-Space Networks for Fast and Accurate Semantic Object Segmentation
Previous Article in Special Issue
Duty-Cycle-Based Pre-Emption Protocol for Emergency Networks
 
 
Order Article Reprints
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Multi-Gene Genetic Programming-Based Identification of a Dynamic Prediction Model of an Overhead Traveling Crane

Department of Manufacturing Systems, Faculty of Mechanical Engineering and Robotics, AGH University of Science and Technology, al. Mickiewicza 30, 30-059 Kraków, Poland
*
Author to whom correspondence should be addressed.
Sensors 2022, 22(1), 339; https://doi.org/10.3390/s22010339
Received: 29 November 2021 / Revised: 19 December 2021 / Accepted: 30 December 2021 / Published: 3 January 2022
(This article belongs to the Special Issue Sensors and Applications in Computer Science and Intelligent Systems)

Abstract

:
This paper proposes a multi-gene genetic programming (MGGP) approach to identifying the dynamic prediction model for an overhead crane. The proposed method does not rely on expert knowledge of the system and therefore does not require a compromise between accuracy and complex, time-consuming modeling of nonlinear dynamics. MGGP is a multi-objective optimization problem, and both the mean square error (MSE) over the entire prediction horizon as well as the function complexity are minimized. In order to minimize the MSE an initial estimate of the gene weights is obtained by using the least squares approach, after which the Levenberg–Marquardt algorithm is used to find the local optimum for a k-step ahead predictor. The method was tested on both a simulation model obtained from the Euler–Lagrange equation with friction and the experimental stand. The simulation and the experimental stand were trained with varying control inputs, rope lengths and payload masses. The resulting predictor model was then validated on a testing set, and the results show the effectiveness of the proposed method.

1. Introduction

Material handling systems such as overhead cranes are widely used in the industrial sector for the transportation of heavy or hazardous loads over short distances. Since transient oscillations can be dangerous to both the surroundings and the payload itself, an effective dampening of oscillations has become a focus of research. Effective positioning, as well as residual oscillations, decrease the time spent on loading and unloading [1]. As an underactuated mechanical system, the sway cannot be arbitrarily controlled, requiring a need for the development of effective control strategies. Model-based control systems, such as model predictive control, utilize mathematical mapping between the input and output of the system in order to take advantage of the system dynamics.
A thorough review of various methods for crane dynamic modeling and control reported in the literature up to 2001 is presented in [2], while more current, state-of-the-art methods (up to 2016) are discussed in [3]; however, most of the presented approaches are derived from the Euler–Lagrange equation. Other methods that have been applied to modeling material handling systems include Takagi–Sugeno fuzzy models [4,5], bond graph methods [6], multi-body dynamics [1,7] and neural networks [8]. Evolutionary algorithms have been implemented in a variety of crane applications including anti-sway crane control [9], scheduling [10,11] and proactive maintenance [12].
The method proposed in this paper follows the previous work [13], in which the MGGP with least square parameter estimation was applied to identify the direct k-step ahead predictors of the crane dynamics by training and validating them with data sets obtained from simulations carried out on a model derived from the Euler-Lagrange equation. The direct prediction-based method developed in [13] requires n different models to predict over the prediction horizon n. This approach is less prone to bias compared to the iterated prediction method when there is model misspecification; however, the large number of models required reduces the interpretability of the output dynamics, which is a significant advantage of GP.
In this paper MGGP-based identification is proposed for an iterative prediction of crane dynamics. Two separate sets of input–output data were obtained. The first is from a simulated model developed by the Lagrange approach and the second from an experimental stand. To develop the iterated k-step ahead predictor the cost function to be minimized was the mean square error over the whole prediction horizon, leading to a nonlinear least square estimation for the gene weights. The individual gene weights were initially estimated using the least squares approach, after which the Levenberg–Marquardt algorithm was used to find the local optimum.
The contributions of this paper are as follows:
  • This study uses data from both a simulated model as well as from the experimental stand for obtaining an approximating function to map the input to the output using multi-gene genetic programming. To the best of the authors’ knowledge this is the first study that uses genetic programming for an iterative predictive model of the crane dynamics.
  • The Levenberg–Marquardt algorithm is used for minimizing the square errors over the entire prediction horizon using the least squares from the standard MGGP algorithm as an initial point.
The paper is organized as follows: In Section 2 an overview of genetic programming for the use of system identification is presented along with the theoretical background to MGGP and the nonlinear least square estimation of the parameters of the iterative prediction model using the Levenberg–Marquardt algorithm. In Section 3 the proposed method is validated on a simulation model in which the crane dynamics are developed using the Euler–Lagrange equation. The proposed method is then validated on the experimental setup in Section 4. The concluding remarks are made in Section 5.

2. Technical Background

Nonlinear modelling can be divided into three broad categories: white-box modeling, in which the models are derived purely from first principles; black-box modeling, in which the model is derived from measurement data and no expert knowledge of the system is required; and gray-box modeling, which is a combination of the previous two, in that some knowledge of the system can be incorporated into the modeling process. The nonlinear identification of complex systems based on first principles can be costly and imprecise due to incorrect assumptions resulting in plant–model mismatch. The NARMAX (Nonlinear autoregressive moving average with exogenous variables) approach to nonlinear system identification is of particular interest as it is capable of modeling a significant portion of nonlinear systems [14,15].
Genetic programming was developed by Koza [16] as an evolutionary algorithm that can synthesize programs. The ability to synthesize programs gives it an advantage over other black-box modeling methods in that the developed model is more interpretable for future applications. In [17] a linear-in-the-parameter model was developed using genetic programming based on the Gabor–Kolmogorov analysis of variance decomposition. In [18] a STROGANOFF (structured representation on genetic algorithms for nonlinear function fitting) was developed to overcome difficulties in traditional genetic programming for identification using a local hill-climbing approach. Multi-gene genetic programming [19] was proposed to evolve a sequence of functions with weights estimated by the least squares method. Genetic programming for symbolic regression using a nonlinear least squares method for parameter estimation was studied in [20] and shown to improve performance on a wide array of symbolic regression problems. Applications of genetic programming in the development of prediction models include [21] developing a model predictive control based on a model identified by genetic programming; [22] the identification of a prediction model for the time dependent total creep in concrete; and the development of transient storage models [23].
The genetic program searches both the model structure as well as the parameter space. At the beginning a set of individuals, each representing a candidate solution, are generated to form a population. When using genetic programs to obtain prediction models each individual maps the input to the output by some approximating function f : I O and is assigned a fitness value [24].
Several genetic operators are used to evolve each generation to find the optimum solution within the search space. The first is the selection operator, which obtains a subpopulation, P P , where n = P is the number of selected individuals [24,25]. The other common operators are crossover and mutation. Once parents are selected from the population, subtree crossover selects a point on both parents which will be exchanged. Care must be taken so that the arity of the selection points are the same. An example of subtree crossover is shown in Figure 1a. The mutation operator selects an individual and a tree node is selected at random, a new tree is generated with a depth no greater than the difference of the maximum allowable depth and the depth of the randomly selected node. An example is shown in Figure 1b.

2.1. Multi-Gene Genetic Programming

Multi-gene genetic programming is a genetic programming technique in which the approximating function is composed of a weighted sum of the genes. An additional high-level crossover operation is present in MGGP. The genes of an individual can be swapped with the genes of another individual as long as the maximum number of genes is not exceeded. The high-level crossover operation is shown in Figure 2.
The genes are nonlinear functions obtained by
y ^ θ , x = θ 0 + i = 1 i = n θ i G i x
where θ0 is the bias term, θi is the i-th gene weight and the vector of outputs is obtained by evaluating the tree-based structure. The least squares method is used to obtain the linear-in-the-parameter gene weights.
θ = G T G 1 G T y

2.2. Nonlinear Parameter Estimation

The one-step-ahead linear-in-the-parameters model obtained using multi-gene genetic programming described previously has a NARX model structure, which can be described by
y k = f u k 1 , , u k n a , y k 1 , , y k n b + e k
The model structure described in (3) is an equation error model shown in Figure 3a. For the k-step ahead predictor, (3) is iterated k times by closing the loop and using simulated values as our new inputs, as is shown in Figure 3b. The closed loop system turns the parameter estimation problem into a nonlinear optimization problem.
The objective function is taken as the MSE given by (4).
J = k = 1 P max n a , n b + 1 N P y ^ k + i y k + i 2 N P max n a , n b P
The objective function (4) is a nonlinear least squares problem and can be minimized by using a quasi-Newton approach [26]. The Jacobian of the objective function is obtained by using the finite difference approach. To avoid the computation of many second order derivatives, the Hessian is approximated by H = J T J . This creates a positive definite and symmetric matrix and is a reasonable approximation as long as the residuals remain small.
Once the gradient and Hessian are obtained the Levenberg–Marquardt algorithm is used to find the parameters θ according to
θ k = θ k 1 h n 1 J k 1 T J k 1 + λ k 1 I 1 J k 1 T f k 1
where the parameter λ are updated using the algorithm in [27].

3. Crane Dynamic Prediction—A Simulation Study

3.1. Crane Dynamics

Figure 4 illustrates a planar model of an overhead crane, which consists of a trolley of mass M, moving along a fixed bridge only in the x-axis direction. A payload, of mass m, is attached to the trolley by a hoisting rope of length l. Furthermore, the payload is treated as a point mass, and the hoisting rope is considered to be inflexible and does not undergo any deformation.
The dynamic equations of the overhead crane are obtained using the Euler–Lagrange equation.
d d t L q ˙ L q = F
The generalized coordinates and generalized forces are q = [x,α]T and F, respectively. The equations of motion are given by
M + m x ¨ + m l α ¨ cos α m l α ˙ 2 sin α = F    
m l 2 α ¨ + m l cos α x ¨ + m g l sin α = 0    
The generalized force F consists of both the actuating force produced by the crane motors as well as the friction forces acting between the trolley and the bridge. Motivated by the crane dynamic model with nonlinear friction presented in [28,29], the friction force is given by
F f r = f f r 0 tanh x ˙ ξ + k p x ˙ + k r x ˙ x ˙
where the first term corresponds to a smoothed Coulomb friction model, and the second term corresponds to viscous damping between the trolley and the bridge, while the last term approximates other nonlinear effects. The friction-related parameters are ξ ,   f f r 0 ,   k p ,   k r 1 .

3.2. Simulation Results

The training and testing data were obtained from the simulation model (7) and (8) for the parameters given in Table 1, different rope lengths and payload masses varying within the range 10–50 kg and 0.5–3 m, band-limited Gaussian white noise input excitation signal with zero mean and sampling time ts = 0.1 s.
A multi-objective MGGP, based on the NSGA-II algorithm [30], was used to find the rank and crowding distance of the individual, which was then used for selection. The objectives were to find a model that minimized the prediction error over the whole prediction horizon as well as the model complexity. The complexity was obtained by summing the nodes in each gene of the individual. The MGGP parameters for the simulation study are given in Table 2. Since the Levenberg–Marquardt algorithm relies on an approximation of the Hessian that is satisfied when the residuals are small, the functions that have a large one-step ahead residual do not proceed to optimizing the parameters with the nonlinear least squares. This also reduces the computational complexity of the proposed method.
The analytic quotient [32] is given in (10)
a q a , b = a b 2 + 0.0001
The statistical performance methods used in this article to determine the performance of the predictive model were the normalized mean square error (11) and R2 (12).
N M S E = 1 n + 1 y y ^ 2 1 n + 1 y ^ 2 + 1 n + 1 y 2
R 2 = 1 y y ^ 2 y y ¯ 2
The proposed method was compared with an ARX model with two lags for both the input and output as given in (13) and (14). This corresponds to a second-order system that is widely used in crane dynamic modeling [2,3]. The coefficients of the ARX model were obtained by using the least squares method.
x k = b 1 u k 1 + b 2 u k 2 + a 1 x k 1 + a 2 x k 2 + e k
α k = b 1 u k 1 + b 2 u k 2 + a 1 α k 1 + a 2 α k 2 + e k
A total of 16 numerical simulations were carried out using different input sequences, rope lengths and payload masses. Out of the 16 simulations, 12 were used for training with the remaining 4 used for testing the performance of the predictor. The testing runs used the same input sequence with varying parameters.
The equations chosen from the Pareto frontier for the position and sway are given in (15) and (16), respectively, while the weights of the genes are presented in Table 3. The coefficients of the ARX model are presented in Table 4.
x k = θ 1 x k 2 + θ 2 x k 1 + θ 3 u k 1 + θ 4 t s + θ 5 u k 2 + θ 6 a q u k 5 , x k 3
α k = θ 1 α k 2 + θ 2 1 l α k 1 + θ 3 1 l u k 2 + θ 4 α k 1 + θ 5 1 l u k 3 + θ 6 α k 1 2 u k 1  
The results of the MGGP and ARX models’ 10-step and 20-step ahead prediction of the crane position and payload sway were compared with the testing data obtained from the numerical simulations in Figure 5, Figure 6, Figure 7, Figure 8, Figure 9 and Figure 10, respectively. The normalized mean square error and the R2 of the position and sway prediction for the 10-step ahead and 20-step ahead prediction for the MGGP model and ARX model are given in Table 5. We noticed that the position model obtained by the MGGP has a similar structure to the ARX model with an additional nonlinear term. The MGGP model and ARX model accurately predicted the position of the crane with no significant loss of accuracy as the prediction step increased. However, the ARX model was a poor predictor of the payload sway, and there was a significant loss of accuracy as the prediction step was increased. The mean and standard deviation of the NMSE for the MGGP sway model were 0.0586 and 0.0021 for the 10-step ahead predictor and 0.0518 and 0.0209 for the 20-step ahead predictor, while for the ARX sway model they were 0.2387 and 0.0933 for the 10-step ahead predictor and 0.3714 and 0.1514 for the 20-step ahead predictor. The mean and standard deviation of the NMSE for the MGGP position model were 0.0015 and 2.0616 × 10−4 for the 10-step ahead predictor and 0.0047 and 1.7321 × 10−4 for the 20-step ahead predictor, while for the ARX sway model they were 0.0028 and 5 × 10−5 for the 10-step ahead predictor and 0.0044 and 1.4141 × 10−4 for the 20-step ahead predictor.

4. Experimental Results

Crane dynamic model identification was based on data measured during experiments carried out on the laboratory-scaled overhead traveling crane presented in Figure 11. The identification was focused on the double girder crane mechanism driven by the two AC gear motors with 0.18 kW output power, 1400 rpm speed and 15.5 gear ratio, which were supplied by the two LG iC5 0.4 kW frequency inverters. The crane system was controlled by using the Mitsubishi FX2N series programmable logic controller (PLC). The crane’s bridge position was measured by using the incremental encoder with a resolution of 400 pulses per rotation (ppr), while the sway angle of a payload suspended on the rope was measured using the encoder with a resolution of 2000 ppr, which was installed under the trolley and connected with fork-bottomed arms embracing the hoisting rope. The experimental data were measured with a sample time of 0.1 s using PC (8GB RAM, CPU Intel Core i7-6700K Quad Core 4GHz, Windows 10) equipped with the I/O board (PCI1710HG) and MATLAB software release R2020.
The training data were collected from 12 experiments carried out with different rope lengths in the range of 0.6–2 m and the payload mass in the range of 10–50 kg, while the testing data were obtained from the experiments performed for 0.9-meter, 1.3-meter and 1.7-meter ropes and a payload mass between 10 kg and 40 kg. The experimental input sequence consisted of a series of step functions with varying amplitudes to try to excite the system without violating the input as well as positional constraints. An example of the input sequence with the corresponding position and sway response from one of the training data sets is presented in Figure 12. Table 6 presents the MGGP parameters.
The equations chosen from the Pareto frontier for the position and sway are given in (17) and (18), respectively, and the weights of the genes are presented in Table 7, and the coefficients of the ARX models are presented in Table 8.
x k = θ 1 x k 2 + θ 2 u k 6         + θ 3 a q a q u k 8 , a q u k 9 + t s , u k 8 , a q u k 9 + t s , u k 8         + θ 4 a q u k 9 , x k 1 + θ 5 x k 1
α k = θ 1 1 l α k 1 + θ 2 α k 1 + θ 3 α k 3 + θ 4 u k 9        + θ 5 a q u k 5 , u k 6 α k 1 + g a q u k 5 , 1 l u k 6 + θ 6 u k 6
The results of the MGGP and ARX models’ 10-step and 20-step ahead predictions of the crane position and payload sway were compared with the testing data obtained from the experimental stand in Figure 13, Figure 14, Figure 15, Figure 16, Figure 17 and Figure 18, respectively. The normalized mean square error and the R2 of the position and sway prediction for the 10-step ahead and 20-step ahead predictions for the MGGP model and ARX model are given in Table 9. We can observe from the plots that the MGGP sway model is better at predicting the residual oscillations with the transient oscillations being either over or underpredicted. The ARX sway model either over or underpredicts both the transient as well as the residual oscillations. The mean and standard deviation of the NMSE for the MGGP sway model were 0.1471 and 0.0486 for the 10-step ahead predictor and 0.1519 and 0.0428 for the 20-step ahead predictor, while for the ARX sway model they were 0.3277 and 0.0289 for the 10-step ahead predictor and 0.3984 and 0.0812 for the 20-step ahead predictor. The mean and standard deviation of the NMSE for the MGGP position model were 0.0114 and 4.1633 × 10−4 for the 10-step ahead predictor and 0.0167 and 9.6047 × 10−4 for the 20-step ahead predictor, while for the ARX sway model they were 0.0224 and 9.6954 × 10−4 for the 10-step ahead predictor and 0.0339 and 0.0017 for the 20-step ahead predictor, respectively.

5. Conclusions

The paper proposes the use of a multi-gene genetic programming approach for the identification of an overhead crane predictor using input–output data from both a simulated model as well as an experimental stand. Two different types of input data were used for training, Gaussian white noise was used for the simulation, and varying amplitude sequence of step responses were used for the experimental stand. The experiments were carried out at different rope lengths and payload masses.
The multi-gene genetic programming parameter optimization was performed over the whole prediction horizon n. This causes the model to become nonlinear in the parameters in the closed loop. To optimize the parameters, the Levenberg–Marquardt algorithm is used. Both the mean square error over the whole prediction horizon as well as the complexity are objective functions to be reduced; therefore, the NSGA-II algorithm is used to obtain the rank and crowding distance, which are used for selection. The proposed algorithm was compared with an ARX model corresponding to a second-order system.
The model was used to obtain both the 10-step ahead and the 20-step ahead predictor and the normalized mean square error. The R2 statistics are also presented. The results show that the model is capable of prediction with varying parameters that may be encountered during everyday operation. We noticed that in both the simulation model and the experimental model the predictor did not take the mass of the payload into account. This can be attributed to the high mechanical impedance of the crane in the experimental stand and M >> m in the simulated model.
Future work includes using a larger payload mass in the simulation and experiments and reducing the complexity of the proposed algorithm. The model obtained will also be used in designing the controller, as well as an online parameter estimator that would minimize both transient and residual sway as well as minimizing the time it takes to move from one point to another in the workspace.

Author Contributions

T.K. and J.S. conceived of, designed and performed the experiments, analyzed the data and wrote the paper. All authors have read and agreed to the published version of the manuscript.

Funding

The work has been financially supported by the Polish Ministry of Education and Science.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available upon request from the corresponding author.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Peláez, G.; Vaugan, J.; Izquierdo, P.; Rubio, H.; García-Prada, J.C. Dynamics and embedded Internet of Things input shaping control for overhead cranes transporting multibody payloads. Sensors 2018, 18, 1817. [Google Scholar] [CrossRef][Green Version]
  2. Abdel-Rahman, E.M.; Nayfeh, A.H.; Masoud, Z.N. Dynamics and control of cranes: A review. J. Vib. Control 2003, 9, 863–908. [Google Scholar] [CrossRef]
  3. Ramli, L.; Mohamed, Z.; Abdullahi, A.M.; Jaafar, H.I.; Lazim, I.M. Control strategies for crane systems: A comprehensive review. Mech. Syst. Signal Process. 2017, 95, 1–23. [Google Scholar] [CrossRef]
  4. Petrehuş, P.; Lendek, Z.; Raica, P. Fuzzy modeling and design for a 3D Crane. IFAC Proc. Vol. 2013, 46, 479–484. [Google Scholar] [CrossRef][Green Version]
  5. Smoczek, J. Experimental verification of a GPC-LPV method with RLS and P1-TS fuzzy-based estimation for limiting the transient and residual vibration of a crane system. Mech. Syst. Signal Process. 2015, 62–63, 324–340. [Google Scholar] [CrossRef]
  6. Chu, Y.; Aesoy, V.; Zhang, H.; Bunes, O. Modelling and simulation of an offshore hydraulic crane. In Proceedings of the 28th European Conference on Modelling and Simulation ECMS 2014, Brescia, Italy, 27–30 May 2014; pp. 87–93. [Google Scholar]
  7. Herbuś, K.; Szewerda, K.; Świder, J. Virtual prototyping of the suspended monorail in the aspect of increasing the permissible travel speed in hard coal mines. Eksploat. Niezawodn. 2020, 22, 610–619. [Google Scholar] [CrossRef]
  8. Ramli, L.; Mohamed, Z.; Jaafar, H.I. A neural network-based input shaping for swing suppression of an overhead crane under payload hoisting and mass variations. Mech. Syst. Signal Process. 2018, 107, 484–501. [Google Scholar] [CrossRef]
  9. Onen, U.; Cacan, A. Anti-swing control of an overhead crane by using genetic algorithm based LQR. Int. J. Eng. Comput. Sci. 2017, 6, 21612–21616. [Google Scholar]
  10. Al-Dhaheri, N.; Jebali, A.; Diabat, A. A simulation based genetic algorithm approach for the quay crane scheduling under uncertainty. Simul. Model. Pract. Theory 2016, 66, 122–138. [Google Scholar] [CrossRef]
  11. Azevedo, A.T.; de Salles Neto, L.L.; Chaves, A.A.; Moretti, A.C. Solving the 3D stowage planning problem integrated with the quay crane scheduling problem by representation by rules and genetic algorithm. Appl. Soft Comput. 2018, 65, 495–516. [Google Scholar] [CrossRef]
  12. Smoczek, J.; Szpytko, J. Evolutionary algorithm-based design of a fuzzy TBF predictive model and TSK fuzzy anti-sway crane control system. Eng. Appl. Artif. Intell. 2014, 28, 190–200. [Google Scholar] [CrossRef]
  13. Kusznir, T.; Smoczek, J. Genetic programing based identification of an overhead crane. J. KONBiN 2021, 51, 123–133. [Google Scholar] [CrossRef]
  14. Chen, S.; Billings, S.A. Representations of non-linear systems: The NARMAX model. Int. J. Control 1989, 49, 1013–1032. [Google Scholar] [CrossRef]
  15. Zhu, Q.; Wang, Y.; Zhao, D.; Li, S.; Billings, S.A. Review of rational (total) nonlinear dynamic system modelling, identification, and control. Int. J. Syst. Sci. 2015, 46, 2122–2133. [Google Scholar] [CrossRef]
  16. Koza, J.R. Genetic Programming: On the Programming of Computers by Means of Natural Selection; MIT Press: Cambridge, MA, USA, 1992; Volume 1. [Google Scholar]
  17. Madár, J.; Abonyi, J.; Szeifert, F. Genetic programming for the identification of nonlinear input−output models. Ind. Eng. Chem. Res. 2005, 44, 3178–3186. [Google Scholar] [CrossRef]
  18. Iba, H.; deGaris, H.; Sato, T. A numerical approach to genetic programming for system identification. Evol. Comput. 1995, 3, 417–452. [Google Scholar] [CrossRef]
  19. Willis, M.; Hiden, H.; Hinchliffe, M.; McKay, B.; Barton, G.W. Systems modelling using genetic programming. Comput. Chem. Eng. 1997, 21, S1161–S1166. [Google Scholar] [CrossRef]
  20. Kommenda, M.; Burlacu, B.; Kronberger, G.; Affenzeller, M. Parameter identification for symbolic regression using nonlinear least squares. Genet. Program. Evolvable Mach. 2020, 21, 471–501. [Google Scholar] [CrossRef][Green Version]
  21. Dou, T.; Lopes, Y.K.; Rockett, P.; Hathway, E.A.; Saber, E. Model predictive control of non-domestic heating using genetic programming dynamic models. Appl. Soft Comput. 2020, 97, 106695. [Google Scholar] [CrossRef]
  22. Gandomi, A.H.; Sajedi, S.; Kiani, B.; Huang, Q. Genetic programming for experimental big data mining: A case study on concrete creep formulation. Autom. Constr. 2016, 70, 89–97. [Google Scholar] [CrossRef][Green Version]
  23. Noh, H.; Kwon, S.; Seo, I.W.; Baek, D.; Jung, S.H. Multi-Gene Genetic Programming regression model for prediction of transient storage model parameters in natural rivers. Water 2021, 13, 76. [Google Scholar] [CrossRef]
  24. Brameier, M.F.; Banzhaf, W. Linear Genetic Programming; No. XVI in Genetic and Evolutionary Computation; Springer: New York, NY, USA, 2007. [Google Scholar]
  25. Krawiec, K. Behavioral Program Synthesis with Genetic Programming, 1st ed.; Springer: Cham, Switzerland, 2016. [Google Scholar]
  26. Farina, M.; Piroddi, L. Simulation error minimization–based identification of polynomial input–output recursive models. IFAC Proc. Vol. 2009, 42, 1393–1398. [Google Scholar] [CrossRef]
  27. Gavin, H.P. The Levenberg-Marquardt Method for Nonlinear Least Squares Curve-Fitting Problems. Available online: http://people.duke.edu/~hpgavin/ce281/lm.pdf (accessed on 23 November 2021).
  28. Wu, Z.; Xia, X.; Zhu, B. Model predictive control for improving operational efficiency of overhead cranes. Nonlinear Dyn. 2015, 79, 2639–2657. [Google Scholar] [CrossRef]
  29. Aschemann, H.; Sawodny, O.; Lahres, S.; Hofer, E.P. Disturbance estimation and compensation for trajectory control of an overhead crane. In Proceedings of the 2000 American Control Conference, Chicago, IL, USA, 28–30 June 2000; pp. 1027–1031. [Google Scholar]
  30. Deb, K.; Pratap, A.; Agarwal, S.; Meyarivan, T. A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 2002, 6, 182–197. [Google Scholar] [CrossRef][Green Version]
  31. Luke, S. Two fast tree-creation algorithms for genetic programming. IEEE Trans. Evol. Comput. 2000, 4, 274–283. [Google Scholar] [CrossRef][Green Version]
  32. Ni, J.; Drieberg, R.H.; Rockett, P.I. The use of an analytic quotient operator in genetic programming. IEEE Trans. Evol. Comput. 2013, 17, 146–152. [Google Scholar] [CrossRef]
Figure 1. Genetic operators: (a) crossover (b) mutation.
Figure 1. Genetic operators: (a) crossover (b) mutation.
Sensors 22 00339 g001
Figure 2. High-level crossover operation.
Figure 2. High-level crossover operation.
Sensors 22 00339 g002
Figure 3. Model structure: (a) equation error model; (b) output error model.
Figure 3. Model structure: (a) equation error model; (b) output error model.
Sensors 22 00339 g003
Figure 4. Planar model of an overhead crane.
Figure 4. Planar model of an overhead crane.
Sensors 22 00339 g004
Figure 5. The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 0.9 m rope length and 10 kg payload mass.
Figure 5. The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 0.9 m rope length and 10 kg payload mass.
Sensors 22 00339 g005
Figure 6. The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 0.9 m rope length and 40 kg payload mass.
Figure 6. The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 0.9 m rope length and 40 kg payload mass.
Sensors 22 00339 g006
Figure 7. The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 1.3 m rope length and 40 kg payload mass.
Figure 7. The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 1.3 m rope length and 40 kg payload mass.
Sensors 22 00339 g007
Figure 8. The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 1.7 m rope length and 10 kg payload mass.
Figure 8. The 10- and 20-step ahead prediction with the MGGP model of the simulated crane position and payload sway with 1.7 m rope length and 10 kg payload mass.
Sensors 22 00339 g008
Figure 9. The 10- and 20-step ahead prediction with the ARX model of the simulated crane position and payload sway with 0.9 m rope length and 10 kg payload mass.
Figure 9. The 10- and 20-step ahead prediction with the ARX model of the simulated crane position and payload sway with 0.9 m rope length and 10 kg payload mass.
Sensors 22 00339 g009
Figure 10. The 10- and 20-step ahead prediction with the ARX model of the simulated crane position and payload sway with 1.3 m rope length and 40 kg payload mass.
Figure 10. The 10- and 20-step ahead prediction with the ARX model of the simulated crane position and payload sway with 1.3 m rope length and 40 kg payload mass.
Sensors 22 00339 g010
Figure 11. The laboratory stand.
Figure 11. The laboratory stand.
Sensors 22 00339 g011
Figure 12. Excitation input signal (control input), position response and sway response for training data set with rope length of 1.2 m and payload mass of 20 kg.
Figure 12. Excitation input signal (control input), position response and sway response for training data set with rope length of 1.2 m and payload mass of 20 kg.
Sensors 22 00339 g012
Figure 13. The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 0.9-meter rope and 10 kg payload mass.
Figure 13. The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 0.9-meter rope and 10 kg payload mass.
Sensors 22 00339 g013
Figure 14. The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 0.9-meter rope and 40 kg payload mass.
Figure 14. The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 0.9-meter rope and 40 kg payload mass.
Sensors 22 00339 g014
Figure 15. The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 1.3-meter rope and 40 kg payload mass.
Figure 15. The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 1.3-meter rope and 40 kg payload mass.
Sensors 22 00339 g015
Figure 16. The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 1.7-meter rope length and 10 kg payload mass.
Figure 16. The 10- and 20-step ahead prediction with the MGGP model of the experimental crane position and payload sway with 1.7-meter rope length and 10 kg payload mass.
Sensors 22 00339 g016
Figure 17. The 10- and 20-step ahead prediction with the ARX model of the experimental crane position and payload sway with 0.9-meter rope and 10 kg payload mass.
Figure 17. The 10- and 20-step ahead prediction with the ARX model of the experimental crane position and payload sway with 0.9-meter rope and 10 kg payload mass.
Sensors 22 00339 g017
Figure 18. The 10- and 20-step ahead prediction with the ARX model of the experimental crane position and payload sway with 1.3-meter rope and 40 kg payload mass.
Figure 18. The 10- and 20-step ahead prediction with the ARX model of the experimental crane position and payload sway with 1.3-meter rope and 40 kg payload mass.
Sensors 22 00339 g018
Table 1. Simulation model parameters.
Table 1. Simulation model parameters.
ParametersValues
M [kg]500
m [kg]10–50
l [m]0.5–3
f f r 0 4.4
ξ 0.01
k p 0.05
k r 0.45
Table 2. Multi-gene genetic programming parameters for simulated data.
Table 2. Multi-gene genetic programming parameters for simulated data.
ParametersSimulation
Population size200
Number of generations100
Initialization methodPTC2 [31]
Max tree depth during initialization5
Max number of genes8
Terminal setu(k−1), …, u(k−5), y(k−1), …, y(k−3), m, g, 1/l, ts
Non-terminal set+, −, ×, analytic quotient
High level crossover0.2
Mutation0.14
Tournament size8
Prediction horizon20
Table 3. Gene weights for the position and sway predictor.
Table 3. Gene weights for the position and sway predictor.
Weightsx(k) α(k)
θ1−0.9947−0.9987
θ21.9947−0.1042
θ3−8.1689 × 10−6−1.0723 × 10−5
θ41.3829 × 10−41.9993
θ52.6866 × 10−5−8.4135 × 10−6
θ6−2.9573 × 10−8−1.5966 × 10−4
Table 4. Coefficients of the simulation position and sway ARX models.
Table 4. Coefficients of the simulation position and sway ARX models.
Coefficientsx(k) α(k)
b11.0229 × 10−5−5.9573 × 10−6
b29.4147 × 10−6−6.1440 × 10−6
a11.99441.8967
a2−0.9944−0.9914
Table 5. Statistics of the identified prediction model of the simulated system.
Table 5. Statistics of the identified prediction model of the simulated system.
OutputParametersNMSER2
10-Step Ahead20-Step Ahead10-Step Ahead20-Step Ahead
MGGPARXMGGPARXMGGPARXMGGPARX
Positionl = 0.9 m; m = 10 kg0.00130.00280.00460.00430.99990.99980.99950.9996
l = 0.9 m; m = 40 kg0.00160.00280.00470.00430.99990.99980.99940.9996
l = 1.3 m; m = 40 kg0.00170.00290.00500.00460.99990.99980.99940.9995
l = 1.7 m; m = 10 kg0.00130.00280.00470.00440.99990.99980.99950.9996
Swayl = 0.9 m; m = 10 kg0.05780.28400.07760.38230.98680.69880.97620.4702
l = 0.9 m; m = 40 kg0.05770.32260.03200.44660.98660.61360.99580.2662
l = 1.3 m; m = 40 kg0.05720.10820.03800.15620.98680.95680.99410.9126
l = 1.7 m; m = 10 kg0.06180.24020.05950.50060.98500.78760.98620.0787
Table 6. Multi-gene genetic programming parameters for experimental data.
Table 6. Multi-gene genetic programming parameters for experimental data.
ParametersSimulation
Population size200
Number of generations100
Initialization methodPTC2 [31]
Max tree depth during initialization5
Max number of genes8
Terminal setu(k−5), …, u(k−9), y(k−1), …, y(k−3), m, g, 1/l, ts
Non-terminal set+, −, ×, analytic quotient
High level crossover0.2
Mutation0.14
Tournament size8
Prediction horizon20
Table 7. Gene weights for the position and sway predictor.
Table 7. Gene weights for the position and sway predictor.
Weightsx(k) α(k)
θ10.1025−0.0753
θ2−0.10251.4887
θ3−1.2238 × 10−4−0.5138
θ4−0.00629.0125 × 10−4
θ51.64691.0233 × 10−5
θ6-−0.0010
Table 8. Coefficients of the experimental position and sway ARX models.
Table 8. Coefficients of the experimental position and sway ARX models.
Coefficientsx(k) α(k)
b10.0031−2.1083 × 10−4
b20.04238.2345 × 10−5
a11.82491.8980
a2−0.8249−0.9626
Table 9. Statistics of the identified prediction model of experimental stand.
Table 9. Statistics of the identified prediction model of experimental stand.
OutputParametersNMSER2
10-Step Ahead20-Step Ahead10-Step Ahead20-Step Ahead
MGGPARXMGGPARXMGGPARXMGGPARX
Positionl = 0.9 m; m = 10 kg0.01090.02140.01690.03200.99640.98760.98910.9662
l = 0.9 m; m = 40 kg0.01130.02290.01690.03530.99620.98610.98950.9600
l = 1.3 m; m = 40 kg0.01150.02180.01540.03300.99590.98690.99070.9634
l = 1.7 m; m = 10 kg0.01190.02350.01770.03530.99590.98570.98880.9615
Swayl = 0.9 m; m = 10 kg0.07990.28510.08930.38980.97530.73840.96400.5694
l = 0.9 m; m = 40 kg0.14500.33550.15990.42450.91850.63750.87710.4721
l = 1.3 m; m = 40 kg0.17220.34160.17700.29250.87260.72350.79110.6647
l = 1.7 m; m = 10 kg0.19110.34870.18150.48680.84040.62220.75610.3685
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Kusznir, T.; Smoczek, J. Multi-Gene Genetic Programming-Based Identification of a Dynamic Prediction Model of an Overhead Traveling Crane. Sensors 2022, 22, 339. https://doi.org/10.3390/s22010339

AMA Style

Kusznir T, Smoczek J. Multi-Gene Genetic Programming-Based Identification of a Dynamic Prediction Model of an Overhead Traveling Crane. Sensors. 2022; 22(1):339. https://doi.org/10.3390/s22010339

Chicago/Turabian Style

Kusznir, Tom, and Jaroslaw Smoczek. 2022. "Multi-Gene Genetic Programming-Based Identification of a Dynamic Prediction Model of an Overhead Traveling Crane" Sensors 22, no. 1: 339. https://doi.org/10.3390/s22010339

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