Optimization of Controller Parameters in Julia using ControlSystems.jl and Automatic Differentiation

Research output: Book/ReportReport


We describe how to utilize the possibility of differentiating through arbitrary Julia code
to perform tasks such as controller optimization. The user specifies a cost function, for
example, the integrated squared error between output and reference, and constraints, such
as a maximum acceptable value of the sensitivity function. Julia performs the integration
and calculates the sensitivities of the cost and constraint functions with respect to controller
parameters automatically, using automatic differentiation. We conclude with a full example
including gradient-based optimization of the cost function. All code required is open-source
under permissive licenses.


Original languageEnglish
PublisherDepartment of Automatic Control, Faculty of Engineering LTH, Lund University
Number of pages11
Publication statusPublished - 2019 Mar 6
Publication categoryResearch

Publication series

NameTechnical reports TFRT-7656
PublisherDept. Automatic Control
ISSN (Print)0280–5316

Total downloads

No data available