INTERNATIONAL JOURNAL OF COMPUTERS COMMUNICATIONS & CONTROL Online ISSN 1841-9844, ISSN-L 1841-9836, Volume: 17, Issue: 4, Month: August, Year: 2022 Article Number: 4606, https://doi.org/10.15837/ijccc.2022.4.4606 CCC Publications A Novel Self-organizing Fuzzy Cerebellar Model Articulation Controller Based Overlapping Gaussian Membership Function for Controlling Robotic System Thanh-Quyen Ngo, Dinh-Khoi Hoang, Trong-Toan Tran, Thanh-Thuan Nguyen Van-Tho Nguyen, Long-Ho Le Thanh-Quyen Ngo* Faculty of Electrical Engineering Technology Industrial of University Ho Chi Minh City, Vietnam *Corresponding author: ngothanhquyen@iuh.edu.vn Dinh-Khoi Hoang Faculty of Electrical Engineering Technology Industrial of University Ho Chi Minh City, Vietnam hoangdinhkhoi@iuh.edu.vn Trong-Toan Tran Faculty of Electrical Engineering Technology Industrial of University Ho Chi Minh City, Vietnam trantrongtoan@iuh.edu.vn Thanh-Thuan Nguyen Faculty of Electrical Engineering Technology Industrial of University Ho Chi Minh City, Vietnam nguyenthanhthuan@iuh.edu.vn Van-Tho Nguyen Faculty of Electrical Engineering Technology Industrial of University Ho Chi Minh City, Vietnam nguyenvantho@iuh.edu.vn Long-Ho Le Faculty of Electrical Engineering Technology Industrial of University Ho Chi Minh City, Vietnam lelongho@iuh.edu.vn Abstract This paper introduces an effective intelligent controller for robotic systems with uncertain- ties. The proposed method is a novel self-organizing fuzzy cerebellar model articulation controller (NSOFC) which is a combination of a cerebellar model articulation controller (CMAC) and sliding https://doi.org/10.15837/ijccc.2022.4.4606 2 mode control (SMC). We also present a new Gaussian membership function (GMF) that is de- signed by the combination of the prior and current GMF for each layer of CMAC. In addition, the relevant data of the prior GMF is used to check tracking errors more accurately. The inputs of the proposed controller can be mixed simultaneously between the prior and current states according to the corresponding errors. Moreover, the controller uses a self-organizing approach which can increase or decrease the number of layers, therefore the structures of NSOFC can be adjusted au- tomatically. The proposed method consists of a NSOFC controller and a compensation controller. The NSOFC controller is used to estimate the ideal controller, and the compensation controller is used to eliminate the approximated error. The online parameters tuning law of NSOFC is designed based on Lyapunov’s theory to ensure stability of the system. Finally, the experimental results of a 2 DOF robot arm are used to demonstrate the efficiency of the proposed controller. Keywords: Self-organizing technique, cerebellar model articulation controller, manipulator system, cerebellar model articulation controller, Gaussian membership function. 1 Introduction Robots has been used widely in many different applications such as automated manufacture, trans- portation or in daily services. Technology in controlling robotic systems has been heavily investigated in recent decades [1][2][3][4][5][6]. One of the challenging problems when designing controller for robotic systems is uncertainties which come from several aspects such as unknown parameters, un- known frictions, and external disturbances, etc. Although the researches mentioned above also consider uncertainties and noises in their works, the results presented are still mainly relied on the nominal parameters of the systems. However, in many practical applications, the parameters of the robots usually change from time to time due to the change of the momentum of the systems or different loads [7]. For example, a robot continuously moves an object between two stations will make the centrifugal of it changes between two different values [8]. There are also cases where the robot has to carry different types of objects due to customer’s demands [9][10]. In general, we may know the nominal parameters of the system and the load themselves but we do not know how they will change when the system is operated. Not to mention, there are also different noises that affects the system when it is running, which then add more uncertainties into the dynamic model. In general, it is difficult to calculate accurately the mathematical model of the robotic system due to the reasons mentioned above and therefore designing the controller based on dynamic system model is not a trivial task. One of the main challenges here is how to learn the unknown parameters of the system and how to adapt when these parameters change. There are several methods have been researched to tackle this problem such as evolutionary algorithms, sliding mode control, robust control, neuron network, etc. Evolutionary algorithms [28] (EAs) are one of the learning methods that mimicking biological evolution in nature. It is a well-known class of optimization algorithms to deal with black-box opti- mization problems. One of the main advantages is that EAs do not require any prior knowledge about the problem, but rather start with a randomly distributed population and update the population by reproducing offspring with unique operators. There are several methods have been studied such as genetic algorithm (GA), particle swam optimization (PSO), differential evolution (DE), opposition- based learning, etc. Many studies in this area focus on different searching methods to increase the convergence speed of the learning procedure. In [29], the author presents a modified opposition-based learning method that uses a beta distribution with a selection switching scheme and a partial dimen- sion changing scheme to accelerate the convergence speed. In [30], M. Elsisi developed a learning method called future search algorithm (FSA), which is a heuristic algorithm that mimic the person’s life to search for unknown parameters. The idea of FSA is based on the behavior of a person trying to search for his best life by imitating the successful persons. One of the advantages of FSA is that it can update the random initial and utilizes the local search between people and the global search between the histories optimal persons to achieve the best solutions. It is shown in the paper that FSA has low computational effort and high convergence speed compared to other heuristic algorithms such as GA, PSO. However, these methods are currently applied successfully only in theory and mainly focus on the learning procedure. Taking a step further, M. Elsisi utilized lightning search algorithm (LSA) [31] to find the optimal parameters for a variable structure controller (VSC) that is used to control a nuclear reactor power https://doi.org/10.15837/ijccc.2022.4.4606 3 system [32]. In general, the main problem when designing a VSC controller is the choice of the switching vector and the feedback gains. This can usually be done by using a searching algorithm which is LSA in this work. The author also incorporated Lyapunov function when designing the controller, such that ensures the stability of the system. The controller is then verified in simulation of controlling a nuclear reactor. The author showed that VSC based on LSA has better performance compared to VSC based on other GA which is the main purpose of this work. However, the convergence speed of LSA is still approximately 1.5 minutes on a rather high-end computer, which make it incapable of controlling fast systems such as motors or robotic systems. With the same approach as VSC, the author in [33] takes advantage of a searching algorithm named multi-tracker optimization algorithm (MTOA) to properly select the parameters of a model predictive controller (MPC). MPC is a powerful control method that utilizes the past and current values of the output to predict the behavior of the system in the future. However, MPC needs to be properly configured by selecting the weight matrices of the objective function, the prediction horizon, control horizon and the sample time. An inappropriate selection may lead to less effective in controlling or less efficient in computation time. The proposed modified MTOA in this work is carried out based on opposition-based learning (OBL) and quasi OBL approaches. The proposed approach improves the exploration behavior of MTOA to prevent it from becoming trapped in a local minimum. The author then applied the MPC controller with the parameters are tuned by the proposed searching algorithm on a robotic manipulator to track different linear and nonlinear trajectories. The results show the improvement in term of tracking error compared to other approaches such as GA-based PID, original MTOA-based MPC, etc. However, the searching part in this work is still performed offline and the obtained parameters are then used to control the system after that. Also using MPC-based controller to control autonomous vehicle under vision dynamic, the author in [34] comes up with a different searching approach based on AI-techniques to tune the parameters of the controller. The AI-based searching method is called social ski driver algorithm (SSDA) which imitates the behavior of the sky drivers’ tracking during the downhill. SSDA combines the advantages of different AI techniques in literatures to overcome the trapping in local optima. Like previous approach, SSDA is used in this work to tune the parameters of a hybrid discrete-time Laguerre function MPC (DTLF-MPC) to improve the performance of the vehicle system and reduce the computational effort. The main results in the paper show that the convergence speed of the algorithm is fast enough to be calculated online, which is the main advantage of this work. However, as the searching method is based on AI-technique, there is no stability proof of the controller is provided. Recently, many researches focus on intelligent control technologies such as Fuzzy Neural Network (FNN), Neuron Network (NN), Cerebellar Model Articulation Controller (CMAC), etc. The general requirement of these intelligent controllers is to reduce the impacts of unknown parameters and un- structured disturbances by utilizing the learning abilities of controlled networks without the need of knowing details about the system during the design phase. This is usually done by approximating a part of the nonlinear model of the system or the whole of it using the learning ability of the controllers [11]. Intelligent controllers has been used and applied successfully in many applications, especially in adaptive control [12][13][14][15]. In general, there are two commonly approaches that have been used the most in this area: first, the cerebellar model articulation controller is designed by combin- ing the advantages of model-based controllers such as sliding mode, linear feedback controllers, etc and the advantages of FNN, NN and CMAC to approximate the unknown nonlinear equation in the dynamic model of the system [11], second, an intelligent-based approach is constructed to identify the complete mathematical model of the system. The advantage of the second method is that the dynamic model can be completely unknown but it requires a large amount of time for the algorithm to converge. Nevertheless, both approaches have been researched and applied successfully in many real-life application. Generally, FNN, NN are able to approximate any nonlinear function with their learning ability. However, the convergence speed is rather slow. To overcome this problem, CMAC is proposed by Albus in [16] for identifying and controlling complex dynamic systems. CMAC has several advantages compare to the normal NN such as its fast learning speed, more general and can be implemented easily in different hardwares [17][18][19]. Chiang and Lin [20] and Chih-Min Lin; Hsin-Yi Li [21] continued to https://doi.org/10.15837/ijccc.2022.4.4606 4 develop CMAC network with Gaussian and Wavelet basic functions. In their work, they analyze the convergence capability of the network and present different results to prove the efficiency of the method [17][18][19][20][21]. However, in most of the aforementioned researches about CMAC, the structure of it is established to be unchanged, hence it is difficult to calculate the optimal memory space for the learning speed of the network. If the memory space is too large, the learning speed will be decreased as it requires more computational effort from the hardware. Therefore, it is difficult to implement this method in online applications. Therefore, several researches [22][23][24] are proposed and successfully implemented CMAC network with self-organizing structure to reduce the size of the memory using different techniques such as group data, multilayer hierarchical CMAC model, Shannon’s entropy measure and golden-section search method to increase or decrease number of layers of the network. To increase the adaptive capability of CMAC network for online learning and reduce the compu- tational effort when the system converges, this study proposes a novel self-organizing FCMAC called NSOFC for robotic systems with uncertainties. This proposed control scheme allows RCMAC in [22][25] have better local respond to determine the input values for RFBFs unit and the weight of the hypercubes. The approach uses the integrated sliding surface and the overlapping of prior and current GMFs at each layer to create a synthesis of two states for predicting the estimated errors. Then the self-organizing method is used to determine whether it is necessary to increase or decrease the number of current layers. The proposed control scheme is more general than the local feedback control scheme. Utilizing the recursive unit, it is possible to determine a new membership function, the input values for RFBFs and the weight values of hypercubes for CMAC. The adaptive PI is also employed for adjusting the adaptive parameters. Moreover, the Lyapunov function is used to ensure the stability of the system. Finally, the experimental results of the 2 DOF robot arm are presented to prove the efficiency of the proposed control scheme. 2 System description In general, a dynamic equation of an n joint robotic system can be written as follow: M(q)q̈ + C(q, q̇)q̇ + G(q) = τ (1) where q, q̇, q̈ ∈ Rn are the joint position, velocity, and acceleration vectors respectively, M(q) ∈ Rn×n is the inertia matrix, C(q, q̇) represents the centrifugal and Coriolis forces, G(q) ∈ Rn×1 represents the gravity vector, τ ∈ Rn×1 is the applied control torque. Equation (1) can be reformulated as: q̈ = −M−1(q) (C(q, q̇)q̇ + G(q)) + M−1(q)τ = f(x) + g(x)τ (2) f(x) =   f1(x) f2(2) ... fn(x)   = −M−1(q) (C(q, q̇)q̇ + G(q)) ∈ Rn×1, g(x) =   g11(x) · · · g1n(x) ... ... ... gn1(x) · · · gnn(x)   = M−1(q) ∈ Rn×n. where f(x), g(x) are nonlinear dynamic functions. These functions are usually difficult to obtain due to measurement errors, different loads, frictions, and external disturbances. To solve this problem, we assume that f0(x) ∈ Rn×1, g0(x) ∈ Rn×n are the nominal component of the real value of f(x), g(x) respectively. We also assume that l(x) is the sum of the bounded and uncertain components. Suppose that the system (1) is controllable and is inversible for all q. Then equation (2) can be rewritten as: q̈(t) = f0(x) + g0(x)τ + l(x) (3) https://doi.org/10.15837/ijccc.2022.4.4606 5 where x = [ qT q̇T ]T is the joint position and velocity vectors respectively. In addition, tracking error can be defined as: e = qd −q (4) where qd = [qd1 qd2 · · ·qdn]T ∈ Rn is the desired joint position. Then, the tracking error vector can be written as: ē = [ eT ėT · · ·e(n−1)T ]T ∈ Rm×n (5) Next, we define the sliding surface: s = en−1 + k1en−2 + · · · + kn ∫ t 0 e(τ)dτ (6) where s(t) = [s1(t) s2(t) · · ·si(t) · · ·sni(t)] ∈ Rni, and ni = m, ki = diag(ki1,ki2, . . . ,kim) ∈ Rm×m is a positive constant matrix. If f0(x), g0(x) and l(x) are known accurately, then the ideal controller can be obtained as below: uid = g−10 (x) [ q̈d −f0(x) − l(x) + kTeT ] (7) Substituting (7) into (2), we get the dynamic error equation: ṡ = e(n) + kT ē = 0 (8) In (8), tracking error ē → 0 when t →∞ if k is chosen appropriately according to Hurwitz stability criterion. However, l(x) usually cannot be verified in practical applications. Thus, uid in (7) cannot be identified. Figure 1: Block diagram of NSOFC control system It can be seen from Eq. (8) that the error will reach zero if the matrix K is selected such that all roots of the characteristic equation stay in the left half of the “s” plane. However, uid in Eq. (7) cannot be determined in the real scenario since l(x) is unknown. Therefore, we propose a new controller which consists of a NSOFC controller, and an adaptive compensation described as follow: u = uNSOFC + ucc (9) where uNSOFC is the main controller which approximates the ideal controller in (7) and the compen- sation controller is used to estimate the estimated error. https://doi.org/10.15837/ijccc.2022.4.4606 6 3 Design the NSOFC Controller 3.1 Fuzzy CMAC controller with overlapping Gaussian membership function Both aforementioned CMAC [27] and RCMAC [26] controllers are only designed with one GMF activated at each layer. Our proposed controller uses two GMF for each layer instead. Table 1 shows the comparison between the local feedback RCMAC and the proposed controller. The proposed control scheme has two adaptive coefficients Λk and βk, therefore it is more flexible for the control system to identify the input values of RFBFs and hypercubes. When a trajectory shifts from the current activating state to the next state, the prior GMF still being activated as well as the current GMF. The self-organizing technique is used to adjust the number of layers in FCMAC. If the error exceeds the threshold, a new layer will be created. The NSOFC structure uses overlapping GMF, presented in Fig. 2, which includes three continuous mappings and one output, can be written as follow:  I → A (Input → Associated memory) A → R (Associated memory → Receptive field) R → W (Receptive field → Network weight memory) (10) OutputO : O(I) = WHsynthesis, (11) Figure 2: Structure of the proposed NSOFC with overlapping GMF The following fuzzy control laws are used for the proposed controller: Rjk : If I1 is Ω1k,I2 is Ω2k, . . . , and Ini is Ωnik then ŵjk = vP (ŵjkP ) + vI (ŵjkI) for j = 1, 2, . . . ,m and k = 1, 2, . . . ,nk. (12) Input state variables I = [I1 I2 · · · Ini]T are connected to association memory A only contains one block for each layer. Each variable is arranged in one block of each layer. At each block, there are two GMFs define one synthesis RFBF. These two GMFs, Ωpresentik và Ω prior ik are presented in Fig. 3. The value of Ωpriorik is stored in memory, and the values of Ω present ik , Ω prior ik are recursively calculated https://doi.org/10.15837/ijccc.2022.4.4606 7 Figure 3: Two overlapping GMFs for calculation of the synthesis RFBF Table 1: Comparison between the proposed controller and the local feedback RCMAC Input value of RFBF λk βk Local feedback RCMAC [27] Ii(t) = λkΩ prior ik + βkIi = λkΩ prior ik + Ii Online tuning 1 Proposed controller Ii(t) = λkΩ prior ik + βkΩ present ik Online tuning Online tuning (a) Value of hypercube block Local feedback RCMAC [27] Hsynthesis = ∏n i=1 Ω present ik = ∏n i=1 exp [ − ( Ii −m present ik )2( σ present ik )2 ] Proposed controller Hsynthesis = λkh prior k + βk ∏n i=1 exp [ − ( Ii −m present ik )2( σ present ik )2 ] (b) as follow: Ωpriorik (Ii) = exp [ − (Ii −mpriorik ) 2 (σpriorik )2 ] , i = 1, 2, . . . ,ni, k = 1, 2, . . . ,nk (13) Ωpresentik (Ii) = exp [ − (Ii −mpresentik ) 2 (σpresentik )2 ] , i = 1, 2, . . . ,ni, k = 1, 2, . . . ,nk (14) The input values of RFBF are defined as: Ii(t) = λkΩ prior ik + βkΩ present ik (15) where Ωpresentik is the current RFBF, m present ik is the mean value and σ present ik is the current state variance of the kth layer corresponding to the ith input variable. Similarly, Ωpriorik is the prior RFBF, m prior ik is the prior mean value and σpriorik is the prior state variance. λk and βk are the adaptive estimation gains. The prior state is stored in the memory as an estimation for the next state. Therefore, when the current state is activated, it will combine with the prior state to estimate the next state. The example in Fig. 4 illustrates the 2D space, the output from the NSOFC is the sum values of the present (6, 5) and the prior (5,4) hypercubes. One synthesis hypercube is defined as below: Hsynthesis ≡ H = λHprior + βHpresent = λkH prior k + βk ni∏ i=1 Ωpresentik (16) Where λ = [λ1, λ2, · · · , λk, · · · , λnk] and β = [β1, β2, · · · , βk, · · · , βnk] are the adaptive estimated weights of the prior and current hypercubes. https://doi.org/10.15837/ijccc.2022.4.4606 8 Hprior = ∏ni i=1 Ω prior ik = [h prior 1 h prior 2 · · · h prior k · · · h prior nk ] T are the values of the prior hypercubes. Hpresent = ∏ni i=1 Ω present ik = [h present 1 h present 2 · · · h present k · · · h present nk ] T are the values of the current hypercubes. H = λHprior + βHpresent = [ h1, h1, h2, ..., hk, ..., hnk] T ∈Rn k are the synthesis values of the prior and current hypercubes. For NSOFC, the weight gain w and hypercube h are defined as vjk = wjkhk, where wjk is the weight of the kth hypercube respectively with the jth output. The jth output is defined as: u = O = WTH = [w1 w2 · · · wj · · · wm]T   h1 h2 ... hnk   (17) u = Oj = WT [ λHprior + βHpresent ] , j = 1, 2, · · · , m (18) Where W = [w1 w2 · · · wj · · · wm], wj= [w1j w2j · · · wnkj] T . Design an optimal controller u∗: uid = u∗ + ∆ = W ∗TH∗ + ∆ (19) Where ∆ is the approximated error and W ∗, H∗, m∗, σ∗ represent the optimal parameter matrices and vectors of W, H, m, σ respectively. In practice, these optimal matrices and vectors are difficult to verify the values which approximate to ideal controller. Therefore,û is estimated online to define u∗. The estimated function û is defined as: û = ŴTĤ (20) Where Ŵand Ĥ are the estimated parameter matrix and vector of W ∗, H∗ respectively, and m̂, σ̂, λ̂, β̂ are the estimated parameter vectors of m∗, σ∗, λ∗ và β∗ respectively. The estimation error is defined as: ũ = uid − ûNSOFC = W ∗TH∗ −ŴTĤ + ∆ = W̃TH̃ + ŴTH̃ + W̃TĤ + ∆ (21) Where W̃ = W ∗ − Ŵ and H̃ = H∗ − Ĥ. Here Taylor expansion is used to convert nonlinear functions into linear functions [12]: H̃ = Hmm̃ + Hσσ̃ + Hλλ̃ + Hββ̃ + Θ (22) Where m̃ = m∗ − m̂, σ̃ = σ∗ − σ̂, λ̃ = λ∗ − λ̂, β̃ = β∗ − β̂, Θ is a high-order vector. Hm = [ ∂h1 ∂m ∂h2 ∂m · · · ∂hnk ∂m ]T ∣∣.m=m̂ , Hσ = [ ∂h1 ∂σ ∂h2 ∂σ ... ∂hnk ∂σ ]T ∣∣.σ=σ̂ , Hλ = [ ∂h1 ∂λ ∂h2 ∂λ · · · ∂hnk ∂λ ]T ∣∣∣. λ=λ̂ , Hβ = [ ∂h1 ∂β ∂h2 ∂β ... ∂hnk ∂β ]T ∣∣∣. β=β̂ , Substitute (22) into (21), we get: ũ = W̃TH̃ + ŴT ( Hmm̃ + Hσσ̃ + Hλλ̃ + Hββ̃ + Θ ) + W̃TĤ + ∆ = W̃TĤ + m̃THTmŴ + σ̃ THTσ Ŵ + λ̃ THTλ Ŵ + β̃ THTβ Ŵ + Ŵ T Φ + W̃TH̃ + ∆ (23) To increase the convergence of the output weight, W ∗ is divided into two parts [12]: W ∗ = vpw∗p + viw ∗ i (24) https://doi.org/10.15837/ijccc.2022.4.4606 9 Figure 4: 2D structure of NSOFC with the overlapping GMFs Where w∗p and w∗i represents the proportional element and integral element of W ∗ and w∗i =∫ t 0 w ∗ pdτ respectively, vp and vi are positive constants. Similarly, Ŵ is also divided into two parts Ŵ = vP ŵP + vIŵI (25) Where ŵP and ŵI are the proportional and integral elements of Ŵ , ŵI = ∫ t 0 ŵP dτ. Therefore, W̃ is defined as follow: W̃ = vIw̃I −vP ŵP + vP w∗P (26) Where w̃I = wi∗- ŵI. Substitute (26) into (23), we get: ũ = (vIw̃I −vP ŵP + vP w∗P ) T Ĥ + m̃THTmŴ + σ̃ THTσ Ŵ + λ̃ THTλ Ŵ + β̃ THTβ Ŵ + Ŵ T Θ + W̃TH̃ + ∆ = vIw̃TI Ĥ −vP ŵ T PĤ + m̃ THTmŴ + σ̃ THTσ Ŵ + λ̃ THTλ Ŵ + β̃ THTβ Ŵ + ε (27) Where the uncertain coefficient ε = vPv∗Tp Ĥ + ŴT Θ + W̃TH̃ + ∆ is the approximation of total errors, bounded by 0 ≤‖ε‖≤ El , where El is a positive constant. 3.2 Self-organizing structure The online self-learning for structure and parameters of NSOFC is proposed as in Fig. 1. The first task of structured learning is to verify whether it is necessary to add a new layer into the associated memory A and create hypercubes with its weight memory. If the current inputs are in the range of the defined data, then NSOFC does not create a new layer but updates the parameters for the current laws. Mean distance, DMk, is defined as: DMk = ‖I −mk‖2 (28) Where mk = [ m1k, ..., mik, ..., mni k ] T To check whether a new layer need to be added [20]: k̂ = arg min 1≤k≤nk DMk (29) If maxi DMk̂ > βG then a new layer is created, where βG is the pre-defined threshold. If the distance between input data and the mean values are bigger than the threshold, it means the current values of the current GMF is too small, then a new layer is added. The layer number is increased as follow: nk(t + 1) = nk(t) + 1 (30) https://doi.org/10.15837/ijccc.2022.4.4606 10 Where nk(t) is the current layer number at t. The output weight values are randomly generated for a new layer, the mean value, and the variance of GMFs are defined as: mink = Ii (31) σink = σint (32) wink = δr (33) Where Ii is the new input, σint is the pre-defined constant, and δr is a random constant. To learn the structure, any unnecessary layer must be deleted. To decrease the layer number [20], the ratio of the kth element of jth output is defined as: SEjk = vjk/Oj (34) Then the maximum ratio of the jth output respective to the minimum element is computed as: k̃ = arg min 1≤k≤nk max 1≤j≤m SEjk (35) If SEjk ≤ βD Then the kth layer must be deleted, where βD is the pre-defined threshold. (36) The function (36) shows that if the element of the current layer is smaller than the threshold then it will be deleted. 3.3 Adaptive NSOFC control system The NSOFC system uses adaptive PI algorithm which is showed in Fig. 1. The control law (9) is substituted into (3). Using (6) and (7), then the sum errors function become: ṡ = e(n) + kTe = g0(uid − ûNSOFC −ucc) (37) Using (27), then (37) is rewritten as: ṡ = g0(vIw̃TI Ĥ −vP ŵ T PĤ + m̃ THTmŴ + σ̃ THTσ Ŵ + λ̃ THTλ Ŵ + β̃ THTβ Ŵ + ε−ucc) (38) To ensure the stability of the control system, a Lyapunov function is chosen as: V = 1 2 sTg−10 s + vI 2 tr ( w̃TI w̃I ) + 1 2vm m̃Tm̃ + 1 2vσ σ̃T σ̃ + 1 2vλ λ̃T λ̃ + 1 2vβ β̃T β̃ + 1 2vDe Ẽ2l (39) Where vI, vp, vm, vσ, vλ, vβ and El are the positive constants with the role of learning rate. The uncertain bound of El cannot be measured in practice, therefore the estimated bound Êl is used. The error bound is computed as: Ẽl = El − Êl. Differentiate equation (39), and using (38), we get: V̇ = sTg−10 ṡ−vItr ( w̃TI ˙̂wI ) − 1 vm m̃T ˙̂m− 1 vσ σ̃T ˙̂σ − 1 vλ λ̃T ˙̂ λ− 1 vβ β̃T ˙̂ β − 1 vDe Ẽl ˙̂ El = vI m∑ j=1 w̃TjI (sjĤ − ˙̂wjI) + m̃ T ( sTHTmŴ − ˙̂m vm ) + σ̃T ( sTHTσ Ŵ − ˙̂σ vσ ) + λ̃T  sTHTλ Ŵ − ˙̂λvλ   + β̃T  sTHTβ Ŵ − ˙̂βvβ  −vP m∑ j=1 ŵTjPsjĤ + s T (ε−ucc) − 1 vEl Ẽl ˙̂ El (40) The functions vItr ( w̃TI ˙̂wI ) = vI ∑m j=1 w̃ T jIW̃jI and sT w̃ T I Ĥ = ∑m j=1 sjw̃ T jIĤ are used. https://doi.org/10.15837/ijccc.2022.4.4606 11 Then the adaptive laws are written as follow: ŵjP = sjĤ −ηI(ŵjI −w0) (41) ˙̂wjI = sjĤ −ηI(ŵjI −w0) (42) ˙̂m = vm[sTHTmŴ −ηm(m̂−m0)] (43) ˙̂σ = vσ[sTHTσ Ŵ −ησ(σ̂ −σ0)] (44) ˙̂ λ = vλ[sTHTλ Ŵ −ηλ(λ̂−λ0)] (45) ˙̂ β = vβ[sTHTβ Ŵ −ηβ(β̂ −β0)] (46) Where ηI, ηm, ησ, ηλ and ηβ are small positive constants; w0, m0, σ0, λ0, and β0 are the initial estimation vectors of W ∗, m∗, σ∗, λ∗, and β∗ respectively, then the compensation controller is written as: ucc = Êltanh ( s ξ ) (47) The estimation law for the bound: ˙̂ El = vEl [ s tanh ( s ξ ) −ηEl(Êl − Êl0) ] (48) Where tanh(.) is a hyperpol tengent function, El0 is the initial value of El , ξ and ηEl are the small positive constants. Using (41) – (48), (40) becomes: V̇ = m∑ j=1 w̃TjIvIηI (ŵjI −w0) + m̃ Tηm (m̂−m0) + σ̃Tησ (σ̂ −σ0) + λ̃Tηλ ( λ̂−λ0 ) + β̃Tηβ ( β̂ −β0 ) −vP m∑ j=1 ŵTjP [ŵjP + ηI (ŵjI −w0)] + sε−sÊl tanh ( s ξ ) − 1 vEl ẼlvEl [ s tanh ( s ξ ) −ηEl ( Êl − Êl0 )] ≤ m∑ j=1 w̃TjIvIηI (ŵjI −w0) + m̃ Tηm (m̂−m0) + σ̃Tησ (σ̂ −σ0) + λ̃Tηλ ( λ̂−λ0 ) + β̃Tηβ ( β̂ −β0 ) − m∑ j=1 ŵTjPvPηI (ŵjI −w0) + ∣∣∣sT ∣∣∣El −sTÊl tanh (s ξ ) − Ẽl [ s tanh ( s ξ ) −ηEl ( Êl − Êl0 )] (49) With any ξ > 0: 0 ≤ ∣∣∣sT ∣∣∣−sT tanh (s ξ ) ≤ κξ (50) Where K is a positive constant which satisfies K = exp(-(K + 1)) [13]. Using (50), (49) becomes: V̇ = m∑ j=1 w̃TjIvIηI (ŵjI −w0) + m̃ Tηm (m̂−m0) + σ̃Tησ (σ̂ −σ0) + λ̃Tηλ ( λ̂−λ0 ) + β̃Tηβ ( β̂ −β0 ) − m∑ j=1 ŵTjPvPηI (ŵjI −w0) + Elκξ + Ẽl [ ηEl ( Êl − Êl0 )] ≤− 1 2 vIηIΞwI − 1 2 ηmΞm − 1 2 ησΞσ − 1 2 ηλΞλ − 1 2 ηβΞβ − 1 2 vPηIΞwP − 1 2 ηElΞEl + Elκξ (51) https://doi.org/10.15837/ijccc.2022.4.4606 12 Where ΞwI = m∑ j=1 [∥∥∥w∗jI − ŵjI∥∥∥2 + ∥∥∥w∗jI −w0∥∥∥2 −‖ŵjI −w0‖2 ] (52) Ξm = [ ‖m∗ − m̂‖2 + ‖m∗ −m0‖2 −‖m̂−m0‖2 ] (53) Ξσ = [ ‖σ∗ − σ̂‖2 + ‖σ∗ −σ0‖2 −‖σ̂ −σ0‖2 ] (54) Ξλ = [∥∥∥λ∗ − λ̂∥∥∥2 + ‖λ∗ −λ0‖2 −∥∥∥λ̂−λ0∥∥∥2] (55) Ξβ = [∥∥∥β∗ − β̂∥∥∥2 + ‖β∗ −β0‖2 −∥∥∥β̂ −β0∥∥∥2] (56) ΞwP = m∑ j=1 [∥∥∥w∗jP − ŵjI∥∥∥2 + ∥∥∥w∗jP −w0∥∥∥2 −‖ŵjP − ŵjI‖2 −‖ŵjP −w0‖2 ] (57) ΞEl = [∣∣∣El − Êl∣∣∣2 + |El −El0|2 − ∣∣∣Êl −El0∣∣∣2] (58) Then (51) is rewritten: V̇ ≤− 1 2  vIηI m∑ j=1 ‖w̃jI‖2 + ηm‖m̃‖2 + ησ ‖σ̃‖2 + ηλ ∥∥∥λ̃∥∥∥2 + ηβ ∥∥∥β̃∥∥∥2 + ηEl ∣∣∣Ẽl∣∣∣2   + 1 2  vIηI m∑ j=1 ‖ŵjI −w0‖2 + ηm‖m̂−m0‖2 + ησ ‖σ̂ −σ0‖2 + ηλ ∥∥∥λ̂−λ0∥∥∥2 + ηβ ∥∥∥β̂ −β0∥∥∥2   + vPηI m∑ j=1 ( ‖w̃jP − ŵjI‖2 + ‖w̃jP −w0‖2 ) + ηEl |El −El0| 2 + Elκξ (59) Where ‖ .‖ is Eulicdean norm. Using (39), (59) becomes: V̇ ≤−ρ1V + ρ2 (60) Where ρ1 and ρ2 are the constants defined as: ρ1 = min(ηI, ηmvm,ησvσ,ηλvλ,ηβvβ,ηElvEl) (61) ρ2 = 1 2  vIηI ∑mj=1 ‖ŵjI −w0‖2 + ηm‖m̂−m0‖2 + ησ ‖σ̂ −σ0‖2 + ηλ ∥∥∥λ̂−λ0∥∥∥2 + ηβ ∥∥∥β̂ −β0∥∥∥2 +vPηI ∑m j=1 ( ‖w̃jP − ŵjI‖2 + ‖w̃jP −w0‖2 ) + ηEl |El −El0| 2 + ρ1s2   + Elκξ (62) If (62) satisfies: 0 ≤ V (t) ≤ Ψ + (V (0) − Ψ) exp(−ρ1t) (63) Where Ψ = ρ2 ρ1 > 0, then e, wI, σ, λ, βand El steadily bounded. Using (39) and (60) and given any ξ > 2Ψ, if T exists with any t ≥ T , then error satisfied: |e(t)| ≤ ξ (64) Thus, the proposed NSOFC is stable. 4 Experimental results The real model of the robot is presented in Fig. 5 while it is simplified as a 2D model in Fig. 6 to obtain the dynamic equation of the system. The two servos are located at joint A and B with the respective control angles as θA and θB. The four arms of the robot have the same length Lb and are linked to each other. The end-effector is located at joint E. The positions of joint A and B in the https://doi.org/10.15837/ijccc.2022.4.4606 13 Figure 5: Quanser 2-DOF robot model Figure 6: Quanser robot model in XY plane current X-Y coordinate system are (0,0) and (2Lb,0) respectively. In this experiment, the end-effector of the robot is controlled to follow a circular trajectory defined as{ Exd = Rcos(ω) Eyd = Rsin(ω) with R = 0.75, ω = t (rad/s). The starting position of the robot is E0 = [ Lb Lb ]T with θ0 = [ 0 0 ]T . The WFCMAC controller has the form: τ = τWFCMAC + τASIFC and the parameters of the two controllers are chosen as in Table 2. The system uses an NI PCIe-6351 card to collect sensor data and control the robot. The experimental results of the two controllers are presented in Fig. 7, 8, 9. The results of WFCMAC (a) are on the left side and the results of NSOSC (b) are on the right side. Position and tracking errors of the two joints are illustrated in Fig. 7, the end-effector’s position, tracking errors are illustrated in Fig. 8. The control efforts are illustrated in Fig. 9. Moreover, the tracking errors of the end-effector of the two controllers are defined base on the error standards of IAE, ISE, ITAE, ITSE and ISTE, are also presented in Table 3. The proposed controller presents the high accurate tracking ability, tracking speed, and quickly eliminate error which approaching to 0 even the system is an uncertain one. Here we use the IAE, ISE, ITAE, ITSE and ISTE error standards to compare the two controllers. The result is showed in Table 3. It is showed that the proposed NSOFC has the data much smaller than the data of the WFCMAC controller. It proves that the proposed controller has higher efficiency than the conventional CMAC controller. It also proves that the modification of the number of layer help flexibly change for well adaptive ability of the control system even the external disturbances existing in the control plant. 5 Conclusion and future work This paper proposes a novel NSOFC controller for controlling uncertain robot arm systems. In the proposed NSOFC, the dynamic of the control system is not needed. The online adjusting law of adaptive parameters of the NSOFC and the compensation controller is defined based on Lyapunov stability theorem to ensure the stability of the system. This paper not only develops successfully the NSOFC control system for an uncertain non-linear system, but also derives the online self-organization algorithm for control the layer number of the NSOFC controller to reduce the memory space as much as possible. Finally, the experimental results prove that the proposed controller is possible to track the given trajectories. This controller can also be applied for the other uncertain n DOF robots, even uncertain non-linear systems. For future work, the control scheme can be extended to more complex robotic systems such as articulated robots with higher degree of freedom. In addition, the learning rules of the parameters of NSOFC still need to be further improved to reduce the “chattering” effect https://doi.org/10.15837/ijccc.2022.4.4606 14 Table 2: The parameters comparison between two controllers: WFCMAC and NSOFC WFCMAC controller NSOFC controller Main controller - Layer number: nk = 5 (fixed) - Block number: nj = 11 - Sliding surface: s(t) = ė(t) + ke(t), k = 100I2 - Initial mean and variance of GMF: mi = [−1 − 0.8 − 0.6 · · ·0.6 0.8 1] σi = 0.15 - Initial output weight: w0 = 0.05 - Learning rate: η = 0.001,v = 0.01 - Layer number: nk = 5 ( can be changed) - Sliding surface: s(t) = ė(t) + ke(t), k = 100I2 - Initial mean and variance of GMF: m prior i = [−2 − 1 0 1 2] m present i = [−2 − 1 0 1 2] σ prior i = 0.15 σ present i = 0.15 - Initial output weight: w0 = 10 - Learning rate: η = 0.001,v = 0.01 - Estimated coefficients: λ0 = 2 and β0 = 10 - Thresholds: βG = 0.35 and βD = 0.01 Compensation controller - Fuzzy set’s parameters: ai = 0.2 bio = [−1 − 0.75 − 0.5 0 0.5 0.75 1] - Bound’s estimation function: cio = [−3.5 − 2.5 − 1.5 0 1.5 2.5 3.5] - Learning rate: β = 0.01 - Bound’s estimation function: El = 0.1 - Learning rate: ηE = 0.001,vE = 0.01 Table 3: The comparison between two controllers:WFCMAC and NSOFC Comparison Efficiency Controller WFCMAC Controller NSOFC IAE 0.3062 0.2062 ISE 0.0202 0.0220 ITAE 1.4115 0.7175 ITSE 0.0233 0.0078 ISTE 0.1527 0.0412 https://doi.org/10.15837/ijccc.2022.4.4606 15 Figure 7: Position responses, tracking errors of arm’s angles of two controllers (a) WFCMAC and (b) NSOFC. Figure 8: End-effector’s position response, tracking errors of the two controllers (a) WFCMAC (b) NSOFC. https://doi.org/10.15837/ijccc.2022.4.4606 16 Figure 9: The joint control efforts of the two controllers (a) WFCMAC (b) NSOFC. in the control signal. The proposed controller can serve as the base for more complicated tasks such as trajectory planning problem for the end-effector of robotic arm using image processing. References [1] A. Y. R. Ruiz and B. Chandrasekaran (2020). A Robotic Control System Using Robot Operating System and MATLAB for Sensor Fusion and Human-Robot Interaction, 10th Annual Computing and Communication Workshop and Conference (CCWC), 0550–0555, 2020. [2] M. Stănese, M. Şuşcă, V. Mihaly and I. Naşcu (2020). Design and Control of a Self-Balancing Robot, IEEE International Conference on Automation, Quality and Testing, Robotics (AQTR), 1–6, 2020. [3] J. Jiang, A. McCoy, E. Lee and L. Tan (2017). Development of a motion controlled robotic arm, IEEE 8th Annual Ubiquitous Computing, Electronics and Mobile Communication Conference (UEMCON), 101–105, 2017. [4] N. Kandalaft, P. S. Kalidindi, S. Narra and H. N. Saha (2018). Robotic arm using voice and Gesture recognition, IEEE 9th Annual Information Technology, Electronics and Mobile Commu- nication Conference (IEMCON), 1060–1064, 2018. [5] J.-H. Park, P. Stegall, and S. K. Agrawal (2015). Dynamic brace for correction of abnormal postures of the human spine, in Proceedings 2015 IEEE International Conference on Robotics and Automation (ICRA), 5922–5927, 2015. [6] G. Peng, C. Yang, W. He et al (2019). Force sensorless admittance control with neural learning for robots with actuator saturation, IEEE Transactions on Industrial Electronics, vol. 67, no. 4, 3138–3148, 2019. [7] L. Hao; R. Pagani; M. Beschi; G. Legnani (2021). Dynamic and Friction Parameters of an Indus- trial Robot: Identification, Comparison and Repetitiveness Analysis, Robotics, 10–49, 2021. [8] K. Harada et al. (2005). A Humanoid Robot Carrying a Heavy Object, Proceedings of the 2005 IEEE International Conference on Robotics and Automation, 1712–1717, 2005. [9] R. Kumar, S. Lal, S. Kumar and P. Chand (2014). Object detection and recognition for a pick and place Robot, Asia-Pacific World Congress on Computer Science and Engineering, 1–7, 2014. [10] N. Neumann, S. Meyer zu Borgsen, P. Lücking and S. Wachsmuth (2018). An automated pick-and- place benchmarking system in robotics, IEEE International Conference on Autonomous Robot Systems and Competitions (ICARSC), 243–249, 2018. https://doi.org/10.15837/ijccc.2022.4.4606 17 [11] M. N. Duc and T. N. Trong (2014). Neural network structures for identification of nonlinear dynamic robotic manipulator, IEEE International Conference on Mechatronics and Automation, 1575–1580, 2014. [12] N. Golea, A. Golea, and K. Benmahammed (2002). Fuzzy model reference adaptive control, IEEE Transactions on Fuzzy Systems, vol. 10, 436–444, 2002. [13] J. H. Park, S. J. Seo, and G. T. Park (2003). Robust adaptive fuzzy controller for nonlinear system using estimation of bounds for approximation errors, Fuzzy Sets and Systems, vol. 133, 19–36, 2003. [14] C.J.B.Macnab (2016). Using RBFs in a CMAC to prevent parameter drift in adaptive control, Neurocomputing, vol. 205, 45–52, 2016. [15] NGO, Thanh Quyen et al. (2014). Robust Adaptive Neural-Fuzzy Network Tracking Control for Robot Manipulator, International Journal of Computers Communications & Control, vol. 7, no. 2, 341–352, 2014. [16] J. S. Albus (1975). A new approach to manipulator control: The cerebellar model articulation controller (CMAC), Journal of Dynamic Systems, Measurement, and Control, vol. 97, no. 3, 220–227, 1975. [17] H. Shiraishi, S. L. Ipri, and D. D. Cho (1995). CMAC neural network controller for fuel-injection systems, IEEE Trans. Control Syst. Technol., vol. 3, no. 1, 32–38, 1995. [18] S. Jagannathan, S. Commuri, and F. L. Lewis (1998). Feedback linearization using CMAC neural networks, Automatica, vol. 34, no. 3, 547–557, 1998. [19] Y. H. Kim and F. L. Lewis (2000). Optimal design of CMAC neural-network controller for robot manipulators, IEEE Trans. Syst. Man Cybern. C, Appl. Rev., vol. 30, no. 1, 22–31, 2000. [20] C. Lin and T. Chen (2009). Self-Organizing CMAC Control for a Class of MIMO Uncertain Nonlinear Systems, IEEE Transactions on Neural Networks, vol. 20, no. 9, 1377–1384, 2009. [21] Chih-Min Lin, and Hsin-Yi Li (2012). A Novel Adaptive Wavelet Fuzzy Cerebellar Model Artic- ulation Control System Design for Voice Coil Motors, IEEE Trans. Ind. Electron., vol. 59, no. 4, 2024–2033, 2012. [22] H. C. Lu, C. Y. Chuang (2011). Robust parametric CMAC with self-generating design for uncer- tain nonlinear systems, Neurocomputing, vol. 74, no. 4, 549–562, 2011. [23] J. Zhang et al. (2020). A Novel Self-Organizing Emotional CMAC Network for Robotic Control, International Joint Conference on Neural Networks (IJCNN), 1–6, 2020. [24] Lee HM, Chen CM, Lu YF (2003). A self-organizing HCMAC neural-network classifier, IEEE Trans Neural Netw., 14(1):15-27. PMID: 18237986, 2003. [25] C. Min, L. Y. Chen, C. H. Chen (2007). RCMAC Hybrid Control for MIMO Uncertain Nonlinear Systems Using Sliding-Mode Technology, IEEE Trans. Neural Netw., vol. 18, no. 3, 708–720, 2007. [26] T. T. Huynh, T. L. Le, and C. M. Lin (2018). A TOPSIS multi-criteria decision method-based intelligent recurrent wavelet CMAC control system design for MIMO uncertain nonlinear systems, Neural Computing and Applications, 2018. [27] F. O. Rodriguez, W. Yu, and M. A. Moreno-Armendariz (2008). Nonlinear systems identification via two types of recurrent fuzzy CMAC, Neural Processing Letters, vol. 28, 49–62, 2008. [28] T. Bäck and H. Schwefel (1993). An Overview of Evolutionary Algorithms for Parameter Opti- mization, Evolutionary Computation, vol. 1, no. 1, 1–23, 1993, doi: 10.1162/evco.1993.1.1.1. https://doi.org/10.15837/ijccc.2022.4.4606 18 [29] S. Park and J. Lee (2016). Stochastic Opposition-Based Learning Using a Beta Distribution in Differential Evolution, IEEE Transactions on Cybernetics, vol. 46, no. 10, 2184–2194, 2016, doi: 10.1109/TCYB.2015.2469722. [30] Elsisi, Mahmoud. (2019). Future search algorithm for optimization, Evolutionary Intelligence, 12. 10.1007/s12065-018-0172-2. [31] Hussain Shareef, Ahmad Asrul Ibrahim, Ammar Hussein Mutlag (2015). Lightning search algorithm, Applied Soft Computing, vol. 36, 315–333, 2015, ISSN 1568-4946, https://doi.org/10.1016/j.asoc.2015.07.028. [32] Elsisi, Mahmoud & Abdelfattah, Hany. (2019). New design of variable structure control based on lightning search algorithm for nuclear reactor power system considering load-following operation, Nuclear Engineering and Technology, vol. 52, 2019. [33] Elsisi, Mahmoud (2020). Optimal design of nonlinear model predictive controller based on new modified multitracker optimization algorithm, International Journal of Intelligent Systems, 2020, 35. 10.1002/int.22275. [34] Elsisi, M., & Ebrahim, M. A. (2021). Optimal design of low computational burden model predictive control based on SSDA towards autonomous vehicle under vision dy- namics, International Journal of Intelligent Systems, 2021, 36(11), 6968–6987. Portico. https://doi.org/10.1002/int.22576. Copyright ©2022 by the authors. Licensee Agora University, Oradea, Romania. This is an open access article distributed under the terms and conditions of the Creative Commons Attribution-NonCommercial 4.0 International License. Journal’s webpage: http://univagora.ro/jour/index.php/ijccc/ This journal is a member of, and subscribes to the principles of, the Committee on Publication Ethics (COPE). https://publicationethics.org/members/international-journal-computers-communications-and-control Cite this paper as: Ngo T-Q.; Hoang D.-K.; Tran T.-T.; Nguyen T.-T.; Nguyen V.-T.; Le L.-H.(2022). A Novel Self- organizing Fuzzy Cerebellar Model Articulation Controller Based Overlapping Gaussian Membership Function for Controlling Robotic System, International Journal of Computers Communications & Control, 17(4), 4606, 2022. https://doi.org/10.15837/ijccc.2022.4.4606 Introduction System description Design the NSOFC Controller Fuzzy CMAC controller with overlapping Gaussian membership function Self-organizing structure Adaptive NSOFC control system Experimental results Conclusion and future work