Abstract
This paper proposes a method to prevent overlearning (weight drift) and bursting in adaptive control using the cerebellar model arithmetic computer (CMAC). Traditional robust adaptive methods such as deadzone, projection, e-modification are not necessarily suitable for CMAC control. The proposed method relies on the idea of weight smoothing, where the difference between adjacent weights in the CMAC is penalized in the adaptation. Previously proposed weight smoothing schemes are only suitable for one or two-input CMACs and do not have stability guarantees. This work extends the method for use with n-input CMACs and develops the adaptive scheme within a Lyapunov framework to guarantee uniformly ultimately bounded signals. Simulations with a two-link, flexible-joint robot subject to sinusoidal disturbance demonstrate the performance and stability of the new method.








Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Abdelhameed MM, Pinspon U, Cetinkunt S (2002) Adaptive learning algorithm for cerebellar model articulation controller. Mechatronics 12:859–873
Albus J (1975) Data storage in the cerebellar model articulation controller (CMAC). J Dyn Syst Meas Control 97:228–233
Albus J (1975) A new approach to manipulator control: the cerebellar model articulation controller (CMAC). J Dyn Syst Meas Control 97:220–227
Egardt B (1979) Stability of adaptive controllers. Springer, New York
Hana B, Yacef F, Bouhali O, Rizoug N (2012) Adaptive neural network for a quadrotor unmanned aerial vehicle. Int J Found Comput Sci Technol 2(4):1–13
Horvath G, Szabo T (2007) Kernel CMAC with improved capability. IEEE Trans Syst Man Cybern Part B Cybern 37(1):124–138
Ioannuou P, Kokotovic P (1984) Instability analysis and improvement of robustness of adaptive control. Automatica 20(5):583–594
Ishihara AK, van Doornik J, Ben-Menahem S (2011) Control of robots using radial basis function neural networks with dead-zone. Int J Adapt Cntrol Signal Process 25:613–638
Kraft L, Pallotta J (2000) Real-time vibration control using CMAC neural networks with weight smoothing. In: American control conference. Chicago, pp 3939–3943
Kwan C, Lewis F (1999) Robust neural network control of rigid link flexible-joint robots. Asian J Control 1:188–197
Lin CM, Li HY (2015) Dynamic petri fuzzy cerebellar model articulation controller design for a magnetic levitation system and a two-axis linear piezoelectric ceramic motor drive system. IEEE Trans Control Syst Technol 23(2):693–699
Macnab C (2009) Preventing bursting in approximate-adaptive control when using local basis functions. Fuzzy Sets Syst 160:439–462
Mai T, Wang Y (2014) Adaptive force/motion control system based on recurrent fuzzy wavelet CMAC neural networks for condenser cleaning crawler-type mobile manipulator robot. IEEE Trans Control Syst Technol 22(5):1973–1982
Masaud K, Macnab C (2014) Preventing bursting in adaptive control using an introspective neural network algorithm. Neurocomputing 136:300–314
Narendra K, Annaswamy A (1987) A new adpative law for robust adaptation without persistant excitation. IEEE Trans Autom Control AC 32(2):134–145
Ngo T, Phuong T (2015) Robust adaptive self-organizing wavelet fuzzy CMAC tracking control for de-icing robot manipulator. Int J Comput Commun Control 10(4):567–578
Pallotta J, Kraft L (1999) Two dimensional function learning using CMAC neural network with optimized weight smoothing. In: American control conference. San Diego, pp 373–377
Rodríguez FO, de Jesús Rubio J, Gaspar CRM, Tovar JC, Armendáriz MAM (2013) Hierarchical fuzzy CMAC control for nonlinear systems. Neural Comput Appl 23(1):323–331
Spong M (1987) Modeling and control of elastic joint robots. J Dyn Syst Meas Control 109(3):310–318
Wang SY, Tseng CL, Chiu CJ (2015) Online speed controller scheme using adaptive supervisory TSK-fuzzy CMAC for vector controlled induction motor drive. Asian J Control 17(2):569–581
Wu TF, Tsai PS, Chang FR, Wang LS (2006) Adaptive fuzzy CMAC control for a class of nonlinear systems with smooth compensation. IEE Proc Control Theory Appl 153(6):647–657
Yang B, Han H (2014) A CMAC-PD compound torque controller with fast learning capacity and improved output smoothness for electric load simulator. Int J Control Autom Syst 12(4):805–812
Yang B, Han H, Bao R (2016) An intelligent CMAC-PD torque controller with anti-over-learning scheme for electric load simulator. Trans Inst Meas Control 38(2):192–200
Yu W, Moreno-Armendariz MA, Rodriguez FO (2011) Stable adaptive compensation with fuzzy CMAC for an overhead crane. Inf Sci 181:4895–4907
Zhang P, Li B, Du G (2015) An adaptive human-robot system using CMAC and over damping. In: IEEE international conference on cyber technology in automation, control, and intelligent systems. Shenyang, pp 835–840
Author information
Authors and Affiliations
Corresponding author
Ethics declarations
Conflict of interest
The author declares that he has no conflict of interest.
Appendices
Appendix 1: Robot model
The dynamics of the robot use a large-gear-ratio approximation [19]
where \(\varvec{\theta }\in \mathfrak {R}^{2 x 1}\) contains the output angle positions, \(\varvec{\phi }\in \mathfrak {R}^{2 x 1}\) contains the angles of the internal rotors, \(\mathbf{M}\in \mathfrak {R}^{2 x 2}\) is the inertia matrix, \(\mathbf{C}\in \mathfrak {R}^{2 x 2}\) contains Coriolis and centripetal terms, \(\mathbf{g}\in \mathfrak {R}^{2x1}\) contains terms due to gravity, \(\mathbf{J}= {\mathrm{diag}}(0.111, 0.2304)\) kg \(\mathrm {m}^2\) contains the inertias of the rotors after large-gear reduction, \(D_{\theta } ={\mathrm{diag}}(4.5,0.5)\), \(D_{\phi } = {\mathrm{diag}}(0.0704,0.0282)\) Nms/rad contain friction terms, \(\mathbf{K}_s={\mathrm{diag}}(5, 5)\) Nm s/rad contains the flexible-joint stiffness (assumed identical in this work), \(\mathbf{u}\in \mathfrak {R}^{2 x 1}\) contains the motor torques (control signals), and \(\varvec{\tau }(t)\) contains any external disturbances (which are assumed to be bounded). The inertia matrix is given by
where \(l_1=0.34293\) m is the length of link 1, \(l_2=0.26353\) m is the length of link 2, \(c_1= 0.1590\) m is the distance from the first joint to the first link’s center of mass, \(c_2=0.0550\) m is the distance from the second joint to the second link’s center of mass, \(m_1= 1.51\) kg is the mass of link 1, \(m_2=0.87326\) kg is the mass of link 2, \(I_1=0.0392\) kg \(\mathrm {m}^2\) is the inertia of link 1 (including motor 2), and \(I_2=0.0081\) kg \(\mathrm {m}^2\) is the inertia of link 2. The Coriolis and centripetal terms are given by
where
The planar motion of the robot lies on a \(10^{\circ }\) slant and thus the gravitation terms are given by \(\mathbf{g}=\mathbf{g}_{90^{\circ }} \sin (10^{\circ })\) where
where \(C_{\theta }=\cos {\theta }\) and \(g_a\) is the gravitational acceleration constant.
Appendix 2: Backstepping control
This control derivation assumes the spring joint stiffnesses are identical (for modifications to make the method robust to differences in spring constants see [10]). The control attempts to track the output angle. Defining the state variables \(\mathbf{x}_1 = \varvec{\theta }, \mathbf{x}_2= \dot{\theta }, \mathbf{x}_3 = \varvec{\phi }, \mathbf{x}_4 = \dot{\varvec{\phi }}\) along with desired trajectory \(\mathbf{x}_d = [\varvec{\theta }_d \; \dot{\varvec{\theta }}_d \; \ddot{\varvec{\theta }}_d]\) results in errors
The auxiliary error defines the first backstepping error
where \(\varvec{\varLambda }\) has positive gains on the diagonals. The system written in strict-feedback form becomes
Following the backstepping procedure, the second and third steps of backstepping will use errors
and the virtual controls and control are chosen to be
The weight updates using e-modification are
where \(\beta\) is a positive constant adaptation gain. To show stability first note that since the joint stiffnesses are assumed to be identical then the matrix \(\mathbf{K}_1^{-1} \mathbf{M}\) is symmetric. Note also that its eigenvalues are bounded from above and below. Thus a Lyapunov-like function for the backstepping procedure is
The uniform ultimate boundedness of signals can be established as in Sect. 2.3.
The simulations use \(\varvec{\varLambda }={\mathrm{diag}}(2,2)\) and control gains \(\mathbf{G}_1=\mathbf{G}_2=\mathbf{G}_3={\mathrm{diag}}(2,2)\).
The CMACs are only provided with inputs \(\varvec{\theta }_d,\dot{\varvec{\theta }}_d,\ddot{\varvec{\theta }}_d\) to avoid weight drift due to oscillating inputs. Thus, the error will be slightly larger than if a full design for a neural network was used. The cell sizes on each input are listed in Table 1.
Rights and permissions
About this article
Cite this article
Macnab, C.J.B. Modifying CMAC adaptive control with weight smoothing in order to avoid overlearning and bursting. Neural Comput & Applic 31, 2207–2216 (2019). https://doi.org/10.1007/s00521-017-3182-6
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00521-017-3182-6