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 .

Cite As

Bartlomiej Ufnalski (2022). Time-distributed particle swarm repetitive control algorithm (, MATLAB Central File Exchange. Retrieved .

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!