Virtual Hardware and Labs for Controls
Virtual Controls Laboratory
Curriculum Module
Created with R2021a. Compatible with R2021a and later releases.
Information
This curriculum module contains interactive MATLAB® live scripts and Simulink models that teaches common concepts used in controls courses.
Background
You can use these live scripts as demonstrations in lectures, class activities, or interactive assignments outside class. These virtual labs offer opportunities to visually analyze dynamic systems, identify system parameters, design and test controllers, among others. Instructions for four introductory labs are included. These labs are designed to give an intuitive introduction to basic controls concepts, such as feedback control. Students also have the opportunity to implement and test simple controllers in Simulink.
The instructions inside the live scripts will guide you through the exercises and activities. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the Stop button in the RUN section of the Live Editor tab in the MATLAB Toolstrip.
Contact Us
Solutions are available upon instructor request. Contact the MathWorks teaching resources team if you would like to request solutions, provide feedback, or if you have a question.
Prerequisites
This module assumes basic knowledge of algebra, differential equations and control system theory. There is minimal MATLAB knowledge required for these scripts and app, but you could use MATLAB Onramp, Simulink Onramp and Control Design Onramp with Simulink as resources to acquire familiarity with MATLAB syntax, live scripts, and Simulink models and controls.
Getting Started
Accessing the Module
On MATLAB Online:
Use the link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.
On Desktop:
Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double-click on VirtualControlsLaboratory.prj. It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.
Ensure you have all the required products (listed below) installed. If you need to include a product, add it using the Add-On Explorer. To install an add-on, go to the Home tab and select Add-Ons > Get Add-Ons.
Products
MATLAB is used throughout. Tools from Simulink, Control System Toolbox™, Simscape™, Simscape Multibody™, and Simscape Driveline™ are used frequently as well.
Scripts
If you are viewing this in a version of MATLAB prior to R2023b, you can view the learning outcomes for each script here
CruiseControl.mlx
VehicleModel.mlx
PositionControl.mlx
PositionAnalysis.mlx
Virtual Labs
Virtual labs is the idea of taking hardware and converting it into a realistic computer simulation. This allows the user to expand their intuition and test beyond the capabilities of the hardware. Below is a set of virtual mechanisms available in this module to explore:
CruiseControl.slx | DCMotorControl.slx | InvertedPendulum.slx |
---|---|---|
![]() |
![]() |
![]() |
RotaryPendulum.slx | BallAndBeam.slx | BallAndPlate.slx |
![]() |
![]() |
![]() |
License
The license for this module is available in the LICENSE.md.
Related Courseware Modules
Fourier Analysis
![]() |
Available on:![]() ![]() GitHub |
---|
Transfer Function Analysis of Dynamic Systems
![]() |
Available on:![]() ![]() GitHub |
---|
Feel free to explore our other modular courseware content.
Educator Resources
README
Contribute
Looking for more? Find an issue? Have a suggestion? Please contact the MathWorks teaching resources team. If you want to contribute directly to this project, you can find information about how to do so in the CONTRIBUTING.md page on GitHub.
© Copyright 2023 The MathWorks™, Inc
Cite As
Chad Allie (2023). Virtual Hardware and Labs for Controls (https://github.com/MathWorks-Teaching-Resources/Virtual-Controls-Laboratory/releases/tag/v2.0.0), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Control Systems >
- Engineering > Electrical and Computer Engineering >
- Engineering > Mechanical Engineering >
Tags
Communities
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.