Control System Toolbox Download

0 views
Skip to first unread message

Oliver Parkes

unread,
Aug 3, 2024, 5:48:24 PM8/3/24
to lorliceasac

Control System Toolbox provides algorithms and apps for systematically analyzing, designing, and tuning linear control systems. You can specify your system as a transfer function, state-space, zero-pole-gain, or frequency-response model. Apps and functions, such as step response plot and Bode plot, let you analyze and visualize system behavior in the time and frequency domains.

You can tune compensator parameters using interactive techniques such as Bode loop shaping and the root locus method. The toolbox automatically tunes both SISO and MIMO compensators, including PID controllers. Compensators can include multiple tunable blocks spanning several feedback loops. You can tune gain-scheduled controllers and specify multiple tuning objectives, such as reference tracking, disturbance rejection, and stability margins. You can validate your design by verifying rise time, overshoot, settling time, gain and phase margins, and other requirements.

Create linear models of your control system as transfer functions, (sparse) state-space models, LPV and LTV models, and other representations. Discretize and resample models. Simplify analysis and control design by reducing model order.

Visualize system behavior in the time and frequency domain. Compute system characteristics such as rise time, overshoot, and settling time. Analyze system stability by computing gain and phase margins and crossover frequencies.

Interactively design and analyze single-input, single-output (SISO) controllers with the Control System Designer app, using automated tuning methods. Graphically tune common control components using root locus, Bode diagrams, and Nichols charts.

Design gain-scheduled controllers for nonlinear or time-varying plants. Specify requirements and automatically tune gain surface coefficients. Validate the tuning results across the entire operating range of your design.

Analyze and tune control systems modeled in Simulink and analyze its time and frequency domain characteristics using Simulink Control Design. Linearize Simulink models and compute time and frequency responses. Graphically or automatically tune feedback loops modeled in Simulink.

LinkedIn and 3rd parties use essential and non-essential cookies to provide, secure, analyze and improve our Services, and to show you relevant ads (including professional and job ads) on and off LinkedIn. Learn more in our Cookie Policy.

I was always wondering why I even have a LinkedIn account as I do very little next to nothing with it other than occasionally meeting with interesting people. That might be a mistake on my part but maybe this time I can use it for something that I'm excited about.

I'd like to share/promote an open source initiative that I was busy with for some time now, initially started as a hobby to teach myself Python. It is meant for control engineers/academicians who use control system toolboxes of various software suites but want to change their way to something more comfortable and more importantly permissive and convenient. If it sounds like something you might be interested carry on reading.

You shouldn't. If you are happy with what you have then you should keep using. This is not meant to be one of those "influential" LinkedIn nonsense. It is just an alternative that might be interesting for you.

This is an important (and valid) point that I might(!) convince you below. I started this as a gag to test my python skills with a grin on my face because I am not an expert programmer. As time passed by, that grin turned into a raised eyebrow. Because I was trying to find that point where I would just shrug and go: OK, that's too complicated to do. That would have also justified the existence of these extremely expensive and corporate software suites. However, that point never came and actually made me more skeptical about whether such point exists. Hence I've rewritten this tool a little better (limited by my coding skills) in order to release it out in the open. Put better: How I Learned To Stop Worrying and Love the Bomb.

Currently not much. But if you are having difficulties with finding a matlab license at work but don't like the alternative open source versions then this might become something relevant for you. See more at the license section.

The license is known as "MIT expat" license. The human readable version of the license can be found on TL;DR . Long story short: You can use it at work, school, home and so on, practically everywhere. If you make a product out of it, you just need to mention that you used it. That's it.

It is pretty early to use it as a daily tool. But depending on what you want to have it might even be ready. The whole point of this post is to find users and receive feedback about the features. Otherwise I'm catching myself coding strange academic stuff instead of possibly other things that is high-priority for industrial setting etc.

Touch. I am simply fishing for interested people. Coding and writing documentation simultaneously is hard for a single person. So mostly it is coding-documenting-coding-docu... anyway you get the point. Now it's documentation turn and I'm getting the hang of automated documentation creation stuff.

Here is a screenshot from a session with some development stuff. I'm using the the amazing IPython environment, hence what you see is basically running on Firefox, hence you don't need to leave your current environment. Alternatively, for emacs/Vim nerds, it also works on the terminal.

Control engineers might notice the fancy,schmancy tooltips and proper placement of unit changers ? You can thank me later, heh. Also minreal in action at the bottom and it autocompletes the properties of systems. And many many more stuff on the way. Mathematica like input thanks to Ipython, interactive plotting, pole placement, lead/lag design with Bokeh, parallelization possibilities etc. etc. etc. I also contacted a few open-source matlab library authors, to join on board, we'll see how it goes.

First and foremost, you can tell me what you want from such a tool if you like what you see here. I'm practically extrapolating what people might be annoyed/are suffering but real feedback counts hundred to one. You can also code or find bugs or help with documentation. I'm all ears. Keep in mind that I have a daily job and this is happening at my free time (mostly on rainy weather).

I finally decided to publish a Control Toolbox we were developing at my institution. I know that there are a few alternatives already coded in Julia, but we wanted something more specific. We wanted that the continuous systems are simulated by means of an ODE solver instead of the usual approach of converting the continuous system into a discrete one. This was easily achieved by the amazing package OrdinaryDiffEq.jl of @ChrisRackauckas.

Moreover, the root locus should be interactive to make the design more easy. This feature was almost stalled since 2015 due to the bug Can't "connect" to events, PyCall can't create weak references to Julia function Issue #21 JuliaPy/PyPlot.jl GitHub . However, for some reason, it is now working! I am uploading a gif so that you can see the proof of concept. If everything goes right, tomorrow the package (pre-unstable-very-alpha version) will be on GitHub!

c80f0f1006
Reply all
Reply to author
Forward
0 new messages