File Exchange

image thumbnail

Time-distributed particle swarm repetitive control algorithm

version (71.6 KB) by Bartlomiej Ufnalski
A real-time implementation of the multi-swarm repetitive control algorithm is presented.


Updated 15 Dec 2015

View License

An on-line optimization of a control signal usually requires significant computational power. However, for some optimization techniques it is possible to distribute relevant calculations in time. This submission demonstrates that the previously developed plug-in direct particle swarm (or multi-swarm) repetitive controller (PDPSRC or PDMSRC) can be implemented in an industrial microcontroller such as TMS320F2812 assuming only 64K words of external memory (as in TMS320F2812 eZdsp Starter Kit (DSK) -- socketed version). You do not need this starter kit nor a physical converter to run the code. The C-code is included as an S-Function and the PLECS Viewer (available free of charge at is employed to model the plant. Please remember to compile it, i.e. prior to running the model go to S-Function block and click Build. This code has been successfully executed on the above-mentioned DSC for 10 kHz sampling period. No code optimization, such as list based evolutionary optimization, is necessary -- standard rand() is used. Computational burden of the algorithm does not grow with increasing number of subswarms. Here the 10-swarm control algorithm is presented. For more information please see and and (December 2015) or visit .

Comments and Ratings (0)

Updates (B. Ufnalski and L. M. Grzesiak, Plug-in direct particle swarm repetitive controller with a reduced dimensionality of a fitness landscape – a multi-swarm approach)

MATLAB Release Compatibility
Created with R2014b
Compatible with any release
Platform Compatibility
Windows macOS Linux