Keywords

1 Introduction

The container crane is widely used to transfer heavy loads in ports and shipyards. This transfer is desirable that the container crane transport the loads to the desired position as quickly and as accurately as possible without colliding with any other equipment. This rapid movement naturally induces undesirable balance of the container, which could cause damage to the load and other types of hazards, also reducing the performance of the operation. Therefore, these oscillations in the track must be damped before another container come into operation. Thus, the performance transshipment loses the desired efficiency, increasing the cost involved in the operation and the risk of accidents with heavy loads that are transferred continuously throughout the operation.

Fuzzy Logic (FL) was developed in 1965 with the work of [1] to represent the uncertain, imprecise and vague knowledge. FL translates the ambiguous information, imprecise, uncertain, in numeric values and includes the human experience in intelligent systems, processed by computer, and versatile for solving real problems [2]. The use of FL has been growing in several areas of knowledge, as in the control of electromechanical systems, character recognition, robotics, elevator systems, landing aircraft, etc. The growth in the use of FL is due to its great simplicity of implementation, and require little tired in its modeling, which provides both for the manufacturer, which reduces their costs, and the final consumer who acquires a more efficient product [3].

Artificial Neural Networks (ANNs) are a from the Artificial Intelligence technique based on simulation of the functioning of the brain by computer data structures, the great motivation of the use of this technique in performing tasks that require fault tolerance, flexibility, imprecision and parallelism [4]. The NeuroFuzzy Network (NFN) ANNs are applied in various fields such as modeling, time series analysis, pattern recognition, signal processing, control, image recognition and data mining [4,5,6,7,8,9,10]. The NFN is the combination of FL and ANNs, some techniques may be combined to generate the so-called hybrid systems, or hybrid architectures. The advantage of this type of system must be obtained by cooperation combination of techniques [11]. NFN is an alternative to the development of new studies seeking the possible applications in engineering problems. Several studies have been published to control the cranes containers, describing some recent work related to this study that bring interest [3, 12,13,14,15,16,17]. Cranes controller using fuzzy clustering techniques [18], parallel neural network for crane control [19], adaptive control crane [20]. The aim of the paper was to present a container crane controller pre-project using a NFN.

2 Theoretical Bases

2.1 Container Crane

Figure 1 illustrates a crane container with its basic elements: the cart, (responsible for the displacement), the opening angle (\( \theta \)), the load (container), cable (support), the track and the direction of the force gravity.

Fig. 1.
figure 1

(Source: Adapted from [17, 21, 22])

Container crane

2.2 Fuzzy Logic

FL is a mathematical theory, which aims to model human reasoning, mimicking the human ability to make decisions in uncertain and imprecise environments, expressed by a set of linguistic variables [2, 9]. It uses the concept of FL as the mathematical tools in fuzzy sets [23]. In this case, we used the nomenclature of fuzzy sets defining them as a class of continuous variables objects. Those sets are characterized by membership functions, which indicate for each element a degree of relevance 0–1 [24]. For a wide range of physical phenomena it is difficult to clearly establish whether an element belongs or not a particular set. Thus, [1] proposed a broader characterization, such that membership function may assume continuous values between 0 (zero) and 1 (one). The concepts of intersection, union, complement, convexity, etc., are extended to those sets and various properties of these notions in the context of fuzzy sets are established in the work of [1]. The membership functions have various forms, depending on the concept you want to express and can be set from the user’s needs, but it is common to use standard membership functions, such as: triangular function, trapezoidal and Gaussian, or even, through analytics.

The central question for consistency to model a system by FL is the determination of a rule base representing the satisfaction of its dynamics, that is, as the input variables are related to each other, what there are outputs and, from that, their corresponding associated errors are determined. Therefore, the accuracy of the model is directly proportional to the adhesion between the real dynamics of the system and the basic proposal rules to represent it [1]. Related systems some features where the application of FL is necessary or beneficial. Such complex systems are difficult to model, as an example we can mention: systems controlled by human experts, systems with inputs and complex and continuous outputs, systems which use the human observation, as starters or as the basis for rules, systems that are naturally inaccurate as the description systems is extremely complex [25]. The application of FL for predicting or monitoring for a given system is characterized by use of an inference engine. This feature makes it necessary that the events displayed in the entry must necessarily be classified in one of these rules [26]. The establishment of the inference engine that simulates a system involves two stages: the premises of all the rules are compared to the controlled inputs to determine which rules apply in a given situation, then the conclusions are established using the rules which have been determined. To represent the inference mechanisms in fuzzy sets, we used the concept of fuzzy relationship, which generalizes the concept of present relations in the Classic Set Theory and represent the degree of association between elements of two or more fuzzy sets [26].

2.3 Artificial Neural Networks

The ANNs are models inspired in brain structure aiming to simulate human behavior in processes such as learning, adaptation, association, fault tolerance, generalization and abstraction [4, 7, 26].

In the ANNs learning occurs through a set of simple processing units called artificial neurons. In Fig. 2 is shown a representation of the artificial neuron. the data is observed (data vectors) neuron input (X1,…, Xn), the neurons of the input layer (W1J…, Wnj) with their respective weights, then immediately the additive junction or sum represented by the letter sigma, then the activation function (φ) and finally the output (y).

Fig. 2.
figure 2

(Source: Adapted from [4])

Representation of the artificial neuron

In a conventional computer system, if a failure part, in general the system as a whole deteriorates, while in an ANN, the fault tolerance is a part of architecture, due to its distributed nature processing. If a neuron fails, your erroneous output is overwritten by the correct output of its neighboring elements. So, at first, an ANN exhibits a soft performance degradation instead of presenting a catastrophic failure [4]. One of the first ANNs, whose architecture is based on the biological neuron, has been proposed by [28] the Perceptron. The purpose of this network is to classify the inputs xi (or stimulus) into two classes by a hyperplane. For the simple case of a space in two dimensions, the hyperplane is reduced to a straight line whose equation is represented in Eq. 1.

$$ \mathop \sum \nolimits x_{i} w_{i} + w_{0} $$
(1)

The activation is performed through artificial neuron activation function, which performs similar to the biological neuron synapse task, transmitting or blocking nerve impulses. In general, learning Perceptron networks is through the adjustment of synaptic weights. The value of the synaptic weight W (t + 1) at the instant t + 1, its will be determined on the basis of its value in the previous iteration wt, as in Eq. 2.

$$ w_{i}^{t + 1} = w_{i}^{t} + \Delta w_{i}^{t} $$
(2)

The updating of the weights depends on the algorithm, but generally is based on minimizing the error αi, between the values proposed by the network and outputs yi desired, as Eq. 3.

$$ \varepsilon_{i} = \mathop \sum \nolimits w_{i} x_{i} - y_{i} $$
(3)

Thus, the learning (or training) on an ANN is defined as the iterative adjustment of synaptic weights to minimize errors [4]. A general definition of what constitutes learning in an ANN can be expressed as a learning process by which the parameters are adjusted through a continued form in which the network is operating by particular way to the setting of the parameters occur. Several methods for learning have been developed and can be grouped into two main paradigms: supervised learning and unsupervised learning. In supervised learning, there is a prior knowledge of the values of xi yi inputs and their outputs. In this set of ordered pairs (xi, yi), that is known a priori gives the learning database name. The most widely used algorithm is the retro error propagation (error back-propagation) used by the MLP type ANN used in this work.

A Multilayer Perceptrons is one of the most used ANN in classification. The ANN architecture MLP typically consist of a specification of the number of layers, type of activation function of each unit and weights of connections between the different units should be established for the construction of the neural architecture [4].

The error back-propagation training algorithm works as follows: shows a pattern in input layer of the network, this pattern is processed, layer by layer, until the output provides the processed response, fMLP, calculated as shown below in Eq. 4. where vl and wlj are synaptic weights; bl0 and b0 are biases; and φ the activation function.

$$ f_{MLP} (x) = \phi \left( {\sum\limits_{1}^{Non} {\nu_{l} \cdot \phi \left( {\sum\limits_{{}}^{{}} {w_{lj} x_{l} + b_{l0} } } \right) + b_{0} } } \right) $$
(4)

Learning an ANN, in most cases, it happens to a subset of examples (data vectors) which define the so-called training set and ANN testing is performed with another subset of examples (data vectors) which define the so-called test set.

The ANNs can be trained using random initial values for the weights of connections. The learning parameters are initialized and data vectors training patterns are presented to the ANN. Throughout the training progress the connections weights are adjusted and you can monitor the performance of ANN [4].

2.4 Neuro Fuzzy Network

Some techniques can be combined to generate the so-called hybrid or hybrid architectures systems [9]. The advantage of this type of system is due to the synergy obtained by combining two or more techniques. This synergism reflects in getting a more powerful system (in terms of interpretation, learning, estimation parameters, training, among others) and with fewer disabilities [2, 11]. The purpose of this combination is to get good ability to learn and adapt to the needs to solve real-world problems, ideal for applications such as identification, prediction, classification and control [2, 26]. NFN is the term used [28] for approaches that have the following properties: (i) Items are based on FL and are trained by a learning algorithm derived from one of ANNs. The learning procedure (heuristic) operates in local information, and causes only local changes in the foundation of NFN; (ii) Have three layers where the first layer is the input variables, the middle layer (hidden) represents the inference rules and the third layer is the output variables; (iii) Can always be interpreted as an inference engine. Since not all learning templates specify procedures for creation of fuzzy rules; (iv) The learning procedure of NFN transforms the semantic properties of a fuzzy system into a set of descriptions. This results in restrictions that may become relevant changes to system parameters, however, not all approaches in a NFN possess this property; (v) Near an n-dimensional function that is defined in part by training data.

3 Materials and Methods

An ANN Multilayer Perceptron (MLP) combined with FL forming a NFN was adopted. The MATLAB software was used to generate the 15 fuzzy rules, the inference model and the response surface. The hardware platform used in the experiments was a computer with Intel® Core ™ 2 Duo CPU T6600 2.20 GHz with 4.00 GB of memory, 1 TB hard drive. To model the fuzzy membership functions of the speed of moving container bridge we used three Gaussian functions: low, medium and high. To model the fuzzy membership functions with the angle of the crane container were used five Gaussian functions: large negative angle, small negative angle, angle zero, small positive angle and large positive angle. The tractive power was modeled in three functions of Gaussian relevance: low, medium and high [1].

The parameters used in ANN were: number of input neurons equal to 2 (the fuzzy inference to: speed and angle), the number of layers equal to 2, the number of neurons in the hidden layer equal to 10, the initial rate of learning equal to 0, 3 with decay 1% every 20 times, starting time factor of 0.3 to decay 1% every 25 times, stopping criterion was the maximum number of times equal to 150. the ANN training was sequential (online), and the processing time was 5 s. The output of the NFN was the tractive power. Figure 3 shows the hybrid topology of NFN used in the experiment.

Fig. 3.
figure 3

Hybrid topology NeuroFuzzy used in the experiment.

4 Results of Computational Experiments

Figure 4(a) shows the fuzzy membership functions generated by the 15 rules (Speed, Angle and power), and Fig. 4(b) gives the response surface. Figure 5 shows the validation phase of NFN.

Fig. 4.
figure 4

(a) Fuzzy pertinence functions. (b) Response surface area modeled by the 15 fuzzy rules

Fig. 5.
figure 5

Validation phase NFN

The results presented in the validation phase of NFN was satisfactory for the proposed model.

5 Conclusions

With the initial result is noted that the response surface 15 obtained through the fuzzy rules, allows pre-design a control mechanism, including the inputs and outputs required development system container crane controller. The NFN presented adherent experimental results the use of fuzzy logic associated with the ANN produced an inference engine capable of representing the dynamics of a crane container. The results recommend the implementation of the proposed NFN control. It contributes to the formulation of simple programming controllers.