
Control Complexity with JuliaSim
JuliaSim Control offers a complete suite of tools for the analysis, design, and simulation of control systems. While you have access to all the standard control- systems tools from classical control theory, such as Bode plots, PID controllers, and LQG control design, JuliaSimControl especially focuses on advanced model- based control-design methods such as Model-Predictive Control (MPC), where JuliaSim allows users to build their model using a full-scale modeling language, and automatically generate code for an MPC controller.
- Model-predictive control (MPC) for linear and nonlinear systems
- Robust MPC for uncertain systems
- Surrogatization of MPC controllers for reduced computational complexity
- State estimation for nonlinear DAE-systems
- Optimal control and trajectory optimization
- PID autotuning to automate workflows and quickly tune PID controllers
- Automatic tuning of controller parameters to meet design criteria
- GUI apps for autotuning and model reduction
Robust MPC for Uncertain Parameters
Learn how you can leverage MPC by taking parameter uncertainty into account for better performance.
Watch NowPID Autotuning GUI
The PID autotuner allows you to tune PID controllers automatically by specifying robustness constraints. The app requires a SISO LTI system as input, and returns the parameters of the tuned PI/PID Controller.
Model Predictive Control
The JuliaSim Control MPC library features everything from your basic linear MPC controller with input and output constraints as well as preview of references and disturbances, to sophisticated nonlinear and robust MPC for complex systems with uncertain parameters. You bring a model, implemented in ModelingToolkit, standard Julia code or an FMU from a third-party tool, and the MPC library helps you define a suitable state observer and solve the MPC optimization problem. The MPC library comes with the speed you expect from a Julia program, but also offers you the possibility to surrogatize the controller, for an optimizer-free controller running at breakneck speeds.
Model Reduction GUI
Model reduction of LTI systems by means of balanced truncation is exposed through the model-reduction app. Users can select between model reduction using balanced truncation and coprime-factor reduction, as well as force the DC gain of the reduced-order model to match that of the full-order model exactly, and choose a frequency range within which to prioritize the fit of the reduced-order model.
Robust Control
- Analysis
- Synthesis
- Uncertainty modeling
- Disturbance modeling
The JuliaSim Difference
JuliaSim is the only platform for modeling and simulation that offers the combination of an acausal modeling language, high-performance solvers, and a complete suite of tools for the analysis and design of control systems all of which is embedded in a single, high-performance, and general-purpose programming language. With the ModelingToolkit modeling language and the DifferentialEquations suite of solvers, engineers are able to improve their simulation performance for the most challenging and stiff systems.
No modeling, simulation or control-design task exists in isolation. Engineering projects are a combination of a wide variety of design and analysis tasks that come together to bring a new feature, product, or service to life. Engineers often find themselves using multiple pieces of poorly interacting software to accomplish their work. JuliaSim was designed to eliminate this issue by having a single piece of software that can be used to build an acausal or causal model out of library components or equations, analyze and design a control system, simulate the final product, and deploy the resulting control software to the target system.
Looking for Model Predictive Control (MPC)?
Learn about JuliaSim Control in our webinar on MPC, trimming, and linearization in JuliaSim.
Watch NowAn Example Workflow - HVAC Design
JuliaSim Control offers a complete suite of tools for the analysis, design, and simulation of control systems. While you have access to all the standard control-systems tools from classical control theory, such as Bode plots, PID controllers, and LQG control design, JuliaSimControl especially focuses on advanced model-based control-design methods such as Model-Predictive Control (MPC), where JuliaSim allows users to build their model using a full-scale modeling language, and automatically generate code for an MPC controller.
BUILD
MODELS
TUNE
CONTROLLER
SIMULATE
MODEL
EXPORT TO
C-CODE
JuliaSim is the only platform for modeling and simulation that offers the combination of an acausal modeling language, high-performance solvers, and a complete suite of tools for the analysis and design of control systems all of which is embedded in a single, high-performance, and general-purpose programming language. With the ModelingToolkit modeling language and the DifferentialEquations suite of solvers, engineers are able to improve their simulation performance for the most challenging and stiff systems.
No modeling, simulation or control-design task exists in isolation. Engineering projects are a combination of a wide variety of design and analysis tasks that come together to bring a new feature, product, or service to life. Engineers often find themselves using multiple pieces of poorly interacting software to accomplish their work. JuliaSim was designed to eliminate this issue by having a single piece of software that can be used to build an acausal or causal model out of library components or equations, analyze and design a control system, simulate the final product, and deploy the resulting control software to the target system.
Designing an HVAC system for a commercial building takes several steps, and JuliaSim is there for you along the entire path. Initially, a model of the building is required. The JuliaSim Building Library provides you with a database of material properties and a model-component library to get you modeling using ModelingToolkit in no time. If real-world data is available, unknown parameters of the model can at this stage be estimated using the JuliaSim Model Optimizer.
The building model is outfitted with HVAC components from the JuliaSim ThermalThermoFluids library, handling the difficult details of thermodynamics for you. A traditional engineering approach would spec the HVAC system using static analysis, making sure that the system is sized to handle the expected loads in steady state. With JuliaSim, engineers can perform not only static analysis, but also design based on dynamic conditions, making sure that the overall system performs adequately during transient conditions. This is made possible by the control and plant co-design capabilities of the JuliaSim Control library combined with JuliaSim ModelOptimizer. JuliaSim Control will help you design everything from low-level PID controllers, to whole-building MPC controllers to minimize energy consumption and operational costs, and maximize comfort for the building occupants, all using the building models written in ModelingToolkit.
Once the design is finalized and verified in simulation, JuliaSim Control helps you export the controller to run on your target hardware.