Cerebellar model articulation controller

The output of a CMAC is the algebraic sum of the weights in all the memory cells activated by the input point.

Two quantising functions have been used to divide this space with two overlapping grids (one shown in heavier lines).

If another point occurs close to the one shown, it will share some of the same memory cells, providing generalisation.

[4] One of the major problems cited in practical use of CMAC is the memory size required, which is directly related to the number of cells used.

This is usually ameliorated by using a hash function, and only providing memory storage for the actual cells that are activated by inputs.

The convergence of using LMS for training CMAC is sensitive to the learning rate and could lead to divergence.

[6] Overall by utilizing QRLS algorithm, the CMAC neural network convergence can be guaranteed, and the weights of the nodes can be updated using one step of training.

Its parallel pipeline array structure offers its great potential to be implemented in hardware for large-scale industry usage.

A block diagram of the CMAC system for a single joint. The vector S is presented as input to all joints. Each joint separately computes an S -> A* mapping and a joint actuator signal pi. The adjustable weights for all joints may reside in the same physical memory. [ 1 ]
CMAC, represented as a 2D space
Parallel pipeline structure of CMAC neural network [ 6 ]
Left panel: real functions; right panel: CMAC approximation with derivatives