Control Library
The JuliaSim control library implements functionality for the design, simulation and optimization of control systems.
JuliaSimControl builds upon ModelingToolkit.jl and the JuliaControl ecosystem, providing a wide array of modeling, simulation, analysis and design methods for every step in the design and implementation of control systems.
If you are new to control design with JuliaSim, we provide the following list of references to help you navigate the ecosystem.
Modeling and simulation
JuliaSim builds upon ModelingToolkit.jl, a symbolic, acausal modeling framework. ModelingToolkit.jl allows you to model component-based physical systems, making it easy to build detailed plant models out of reusable components. Learn more about ModelingToolkit in the documentation or in the tutorial Modeling for control using ModelingToolkit.
Under the surface, ModelingToolkit uses DifferentialEquations.jl to solve ODEs and DAEs. This interface can be used directly, learn more about this in the documentation.
Analysis and design of linear control systems
JuliaControl contains a wide range of tools for analysis and design of linear systems, learn more about this ecosystem here.
To learn how to work with linear system types, such as linear statespace systems and transfer functions, as well as basic control analysis and design, consult the ControlSystems.jl documentation. To learn about robust and optimal linear control, consult the documentation of RobustAndOptimalControl.jl. Both aforementioned documentations contains examples and tutorial on the respective topics. JuliaSim extends the functionality of the JuliaControl ecosystem in several ways, exposed in this documentation.
Contents of this documentation
- Exported functions and types
- Docstrings
- PID Autotuning
- Adaptive MPC
- MPC control of a Continuously Stirred Tank Reactor (CSTR)
- Disturbance modeling and rejection with MPC controllers
- $H_\infty$ control design
- Robustness analysis of a MIMO system
- Mixed-sensitivity $\mathcal{H}_2$ design for MPC controllers
- Modeling for control using ModelingToolkit
- Solving optimal-control problems
- Solving optimal-control problems with MTK models
- $\mathcal{H}_2$ Synthesis of a passive controller
- Control design for a quadruple-tank system with JuliaSim Control
- Model-Predictive Control for the Research Civil Aircraft system
- Robust MPC tuning using the Glover McFarlane method
- MPC with model estimated from data
- Visualize performance and robustness requirements
- Extremum-seeking control
- GUI applications
- Control Library
- Linear analysis
- Model reduction
- Model-Predictive Control (MPC)
- Robust control
- Sliding-Mode Control
- System identification
- Trimming