Skip to main content
Log in

Modifying CMAC adaptive control with weight smoothing in order to avoid overlearning and bursting

  • Original Article
  • Published:
Neural Computing and Applications Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8

Similar content being viewed by others

References

  1. Abdelhameed MM, Pinspon U, Cetinkunt S (2002) Adaptive learning algorithm for cerebellar model articulation controller. Mechatronics 12:859–873

    Article  Google Scholar 

  2. Albus J (1975) Data storage in the cerebellar model articulation controller (CMAC). J Dyn Syst Meas Control 97:228–233

    Article  MATH  Google Scholar 

  3. Albus J (1975) A new approach to manipulator control: the cerebellar model articulation controller (CMAC). J Dyn Syst Meas Control 97:220–227

    Article  MATH  Google Scholar 

  4. Egardt B (1979) Stability of adaptive controllers. Springer, New York

    Book  MATH  Google Scholar 

  5. 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

    Article  Google Scholar 

  6. Horvath G, Szabo T (2007) Kernel CMAC with improved capability. IEEE Trans Syst Man Cybern Part B Cybern 37(1):124–138

    Article  Google Scholar 

  7. Ioannuou P, Kokotovic P (1984) Instability analysis and improvement of robustness of adaptive control. Automatica 20(5):583–594

    Article  MathSciNet  MATH  Google Scholar 

  8. 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

    Article  MathSciNet  MATH  Google Scholar 

  9. Kraft L, Pallotta J (2000) Real-time vibration control using CMAC neural networks with weight smoothing. In: American control conference. Chicago, pp 3939–3943

  10. Kwan C, Lewis F (1999) Robust neural network control of rigid link flexible-joint robots. Asian J Control 1:188–197

    Article  Google Scholar 

  11. 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

    Article  MathSciNet  Google Scholar 

  12. Macnab C (2009) Preventing bursting in approximate-adaptive control when using local basis functions. Fuzzy Sets Syst 160:439–462

    Article  MathSciNet  MATH  Google Scholar 

  13. 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

    Article  Google Scholar 

  14. Masaud K, Macnab C (2014) Preventing bursting in adaptive control using an introspective neural network algorithm. Neurocomputing 136:300–314

    Article  Google Scholar 

  15. Narendra K, Annaswamy A (1987) A new adpative law for robust adaptation without persistant excitation. IEEE Trans Autom Control AC 32(2):134–145

    Article  MATH  Google Scholar 

  16. 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

    Article  Google Scholar 

  17. 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

  18. 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

    Article  Google Scholar 

  19. Spong M (1987) Modeling and control of elastic joint robots. J Dyn Syst Meas Control 109(3):310–318

    Article  MATH  Google Scholar 

  20. 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

    Article  MathSciNet  MATH  Google Scholar 

  21. 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

    Article  Google Scholar 

  22. 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

    Article  Google Scholar 

  23. 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

    Article  Google Scholar 

  24. Yu W, Moreno-Armendariz MA, Rodriguez FO (2011) Stable adaptive compensation with fuzzy CMAC for an overhead crane. Inf Sci 181:4895–4907

    Article  MathSciNet  MATH  Google Scholar 

  25. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to C. J. B. Macnab.

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]

$$\begin{aligned} \mathbf{M}(\theta _2) \ddot{\varvec{\theta }}= & {} -\mathbf{C}(\varvec{\theta },\dot{\varvec{\theta }}) \dot{\varvec{\theta }}- \mathbf{D}_{\theta } \dot{\varvec{\theta }} - \mathbf{K}_s(\varvec{\theta }- \varvec{\phi }) \nonumber \\& +\mathbf{g}(\varvec{\theta })+ \varvec{\tau }(t), \end{aligned}$$
(51)
$$\begin{aligned} \mathbf{J}\ddot{\varvec{\phi }}= & {} - \mathbf{D}_{\phi } \dot{\varvec{\phi }} - \mathbf{K}_s( \varvec{\phi }- \varvec{\theta }) + \mathbf{u}, \end{aligned}$$
(52)

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

$$\begin{aligned} \mathbf{M}_{11}= \,& {} m_1 c_1+m_2 (c_1^2 +c_2^2+2 l_1 c_2 \cos (\theta _2))+I_1 +I_2 ,\end{aligned}$$
(53)
$$\begin{aligned} \mathbf{M}_{21}= \,& {} \mathbf{M}_{22}= m_2 (c_2^2 + l_1+c_2 \cos (\theta _2) + I_2 ,\end{aligned}$$
(54)
$$\begin{aligned} \mathbf{M}_{22}= \,& {} m_2 c_2^2+ I_2, \end{aligned}$$
(55)

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

$$\begin{aligned} \mathbf{C}= \begin{bmatrix} h \dot{\theta }_2&h (\dot{\theta }_2+\dot{\theta }_1) \\ - h \dot{\theta }_1&0 \end{bmatrix}, \end{aligned}$$
(56)

where

$$\begin{aligned} h= m_2 l_1 c_2 \sin (\theta _2). \end{aligned}$$
(57)

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

$$\begin{aligned} \mathbf{g}_{90^0}=\begin{bmatrix} m_1 c_1 g_a C_{\theta _1}+ m_2[c_2 C_{\theta _1+\theta _2} +l_1 C_{\theta _1}] \\ m_2 g_a c_2 C_{\theta _1+\theta _2} \end{bmatrix} , \end{aligned}$$
(58)

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

$$\begin{aligned} \mathbf{e}_1 = \mathbf{x}_1-\varvec{\theta }_d, \quad \mathbf{e}_2 = \mathbf{x}_2 - \dot{\varvec{\theta }}_d. \end{aligned}$$

The auxiliary error defines the first backstepping error

$$\begin{aligned} \mathbf{z}_1 = \varvec{\varLambda }\mathbf{e}_1 + \mathbf{e}_2. \end{aligned}$$
(59)

where \(\varvec{\varLambda }\) has positive gains on the diagonals. The system written in strict-feedback form becomes

$$\begin{aligned} \mathbf{K}_s^{-1} \mathbf{M}\dot{\mathbf{z}}_1&= \mathbf{K}_s^{-1} \varLambda \mathbf{e}_2 - \mathbf{K}_s^{-1} \mathbf{C}\dot{\varvec{\theta }} - \mathbf{K}_s^{-1} \mathbf{D}_{\theta }, \\&\quad - \,\mathbf{x}_1+ \mathbf{x}_3 - \mathbf{K}_s^{-1} \mathbf{M}\ddot{\varvec{\theta }}_d,\end{aligned}$$
(60)
$$\dot{\mathbf{x}}_3= \mathbf{x}_4,$$
(61)
$$\begin{aligned} \mathbf{J}\dot{\mathbf{x}}_4= & {} - \mathbf{D}_{\phi } - \mathbf{K}_s(\mathbf{x}_3 - \mathbf{x}_1) + \mathbf{u}. \end{aligned}$$
(62)

Following the backstepping procedure, the second and third steps of backstepping will use errors

$$\begin{aligned} \mathbf{z}_2&= \mathbf{x}_3 - \varvec{\alpha }_1, \end{aligned}$$
(63)
$$\begin{aligned} \mathbf{z}_3&= \mathbf{x}_4 - \varvec{\alpha }_2, \end{aligned}$$
(64)

and the virtual controls and control are chosen to be

$$\begin{aligned} \varvec{\alpha }_1 =\, &\mathbf{x}_1 - \varvec{\varGamma }_{1}(\varvec{\theta }_d,\dot{\varvec{\theta }}_d,\ddot{\varvec{\theta }}_d,\mathbf{e}_1,\mathbf{e}_2) \hat{\mathbf{w}}_{1} - \mathbf{G}_1 \mathbf{z}_1 , \end{aligned}$$
(65)
$$\begin{aligned} \varvec{\alpha }_2 =\, &\mathbf{x}_2 - \varvec{\varGamma }_{2}(\varvec{\theta }_d,\dot{\varvec{\theta }}_d,\ddot{\varvec{\theta }}_d,\varvec{\theta }_d^{(3)},\mathbf{e}_1,\mathbf{e}_2,\mathbf{x}_3) \hat{\mathbf{w}}_{2} -\mathbf{z}_1 \nonumber \\&- \mathbf{G}_2 \mathbf{z}_2, \end{aligned}$$
(66)
$$\begin{aligned} \mathbf{u}=&- \varvec{\varGamma }_{3} (\varvec{\theta }_d,\dot{\varvec{\theta }}_d,\ddot{\varvec{\theta }}_d,\varvec{\theta }_d^{(3)},\varvec{\theta }_d^{(4)}, \mathbf{e}_1,\mathbf{e}_2,\mathbf{x}_3,\mathbf{x}_4) \hat{\mathbf{w}}_{3}, \nonumber \\&-\mathbf{z}_2 - \mathbf{G}_3 \mathbf{z}_3. \end{aligned}$$
(67)

The weight updates using e-modification are

$$\begin{aligned} \dot{\hat{\mathbf{w}}}_{k}&= \beta (\varvec{\varGamma }_{{k}^\mathrm{T}} {\mathbf{z}}_{k} - \nu \Vert {\mathbf{z}}\Vert {\hat{\mathbf{w}}}_{k}) \quad \text {for }\, k=1,2,3 \end{aligned}$$
(68)

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

$$\begin{aligned} V =\, &\frac{1}{2} \mathbf{z}_1^\mathrm{T} \mathbf{K}_1^{-1} \mathbf{M}\mathbf{z}_1 + \frac{1}{2} \mathbf{z}_2^\mathrm{T} \mathbf{z}_2 + \frac{1}{2} \mathbf{z}_3^\mathrm{T} J \mathbf{z}_3 + \frac{1}{2 \beta } \sum _{k=1}^{3} \tilde{\mathbf{w}}_k^\mathrm{T} \tilde{\mathbf{w}}_k, \nonumber \\ \end{aligned}$$
(69)

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.

Table 1 CMAC cell parameters

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00521-017-3182-6

Keywords

Navigation