6.11 Community control toolbox
The community toolbox project is led by Anthony Rossiter with sponsorship from MathWorks (under project "A MATLAB community toolbox to support learning of control 101") and input from numerous international colleagues.
The resources/toolbox developed here are now available from within MATLAB using the "add-ons" button - search for control 101. The resources are shared under a BSD license so users can edit, adopt and use freely.
More information and guidance is available in a youtube playlist. The playlist follows a logical ordering but may not cover all the available resources in the toolbox.
Once the toolbox is installed, you can use the following command line prompts to get convenient access, in a separate window, to soft links for all the files, including the livescripts.:
>> Control101 or doc ("Control101 Toolbox") or doc control101_toolbox
>> help control101 will also work, but opens in the command window.
Some historic source files are available on the following google folder if you want to download individually for personal editing and modification (but seeing warning at the end of this page). The most up to date versions are on github.
A summary is given below for completeness and the links take you lower on the page where more detailed summary information is available.
Several people have developed MATLAB based materials to support the teaching of “Control Systems 101” type courses; the particular focus here is on interactive and animated resources which are largely self-explanatory, that is easy to use, and support student understanding and learning. They demonstrate authentic scenarios across a broad range of topics which motivate the importance of control to modern society, alongside some technical learning outcomes to support university curricula.
Resources are divided into:
Virtual laboratories which have simple GUI interfaces so students can select buttons and sliders to observe the behaviour of some authentic scenarios and see how different parameter choices affect behaviour. Each virtual laboratory comprises two files which run independently: i) the mlapp file which is the laboratory itself and ii) a partner livescript file which acts like a concise manual giving context, illustrative MATLAB source code and some technical background. Naming conventions are largely self-evident. For example, a typical naming convention for the paired app files is: mixingtank_and_behaviour.mlapp & mixingtank_and_behaviour_manual.mlx. These files are summarised in section 6.8. If accessing the apps via the installed toolbox and thus installed apps toolbar, the manual (mlx file) will be opened simultaneously. This link relies on correct path selection, so users who did not install the toolbox, but rather just copied all the files, will need to ensure the relevant folder is on the path.
Livescript files which focus more on useful MATLAB code students can use to create their own files to support detailed analysis, evaluation and design, as required for university courses. These files are summarised in section 6.9 and section 6.13 (in progress). If accessing the livescript files via the installed toolbox, typing the file name (as given in section 6.9) will open a livescript with the filename ending "_mycopy" in the current working directory, so the user can easily make and save any changes.
Simulink files: Simulink files supporting an introduction to modelling, simulation and control, with a focus on basic simulink elements, non-linearity and passing data to and from the MATLAB command window workspace. The files are summarised in section 6.12.
If you spot any obvious typos or areas where apps can be made better, please contact Anthony so he can consider for future releases.
Cite As: John Anthony Rossiter (2023). Control 101 toolbox (https://github.com/jarossiter/control101ver1/releases/tag/v0.1), GitHub. Retrieved DATE.
WARNING: If using the source files rather than the toolbox, run these from a separate directory to where they are stored to avoid corrupting the originals and because of possible conflicts with the **_mycopy files produced for local work.