Hardware-in-the-loop architecture with MATLAB/Simulink and QuaRC for rapid prototyping of CMAC neural network controller for ball-and-beam plant
Vjosa Shatri, Lavdim Kurtaj, Ilir Limani · 2017
Cerebellar Model Articulation Controller (CMAC) is type of neural network inspired from part of the brain named cerebellum. It has long history in control applications, in simulated or in real-time implementations. MATLAB/Simulink is used for rapid building of CMAC neural network controller prototypes than can run in real-time. To run the controller in the same personal computer, QuaRC is used as real-time operating system that will execute controller task along Windows operating system. Hardware-in-the-loop architecture was used to test CMAC controller in real ball-and-beam physical plant from Quanser. Library of developed Simulink functional blocks enable easy exploration of different structural aspects of CMAC neural network controller, including selection of receptive field types, receptive field widths, Albus overlays, and fully interconnected multi-dimensional receptive fields. Same CMAC controller can be used also for controlling model of the plant, which can serve as means for controller to acquire knowledge before operating with real plant. CMAC controller learned to control the plant, and progressively became main control signal generator, while control signal from primary proportional-derivative controller almost vanished. Developed library can serve as easy startup for working with CMAC networks also for other types of applications.