Feedback

Understanding Control Systems, Part 5: Simulating Robustness to System Variations in Simulink

From the series: Understanding Control Systems

Hello! In this video, I’m going to use Simulink to investigate how system variations affect the behavior of open- and closed-loop control systems. I’m going to use the car example that we’ve seen in the previous videos.

I’ll start with building the open-loop system, which consists of the actuator and the plant. To model this system in Simulink, I’m using a custom library that I’ve previously created and imported to Simulink Library Browser. The blocks in this custom library are preconfigured. By dragging these to my model, I create the open-loop system.

Our goal in this system is to maintain our speed at 20 m/s. By trial and error, I can find how much I need to press down on the gas pedal to make the car go at 20 m/s. And I’ve tested this before. So, I already know that an input of 30⁰ gets the car to my desired speed. To verify this finding, I will now simulate this system. I set the input to 30⁰, which I enter in radians. I simulate the system and I see that the speed settles down to 20 m/s. Next time instead of driving alone, maybe you have some friends riding with you. Or you have a very special guest who doesn’t quite fit into your car but can travel on the top of the car. These extra passengers are variations in your system. And you’re wondering how your car will respond to these system variations.

To investigate this, we’ll start by simulating the open-loop system with a different number of passengers to see how system variations affect the open-loop system response. So, I simulate my system with additional passengers and then with passenger plus the elephant. Then I open the Simulation Data Inspector to look at the simulation results. As expected, the car maintains its speed at 20 m/s if there are no additional passengers. However, with additional passengers we observe that the car speed settles to different values. This tells us that open-loop control cannot deal with system variations, and it needs calibration each time you vary the parameters of the system.

You don’t want to give a ride to the elephant because you think he slows you down? But he will get very upset. What you can do to handle system variations is use feedback control. Next, I’m going to convert this open-loop system to a feedback control system by adding the components from my custom library to my model. Once my model is ready, I simulate this closed-loop system with a different number of passengers and then look at the simulation results. We see that using feedback control we were able to maintain the speed of the car at 20 m/s. However, this doesn't mean that we can always control the car's speed at 20 m/s regardless of the number of passengers or elephants. To understand why, we can take a closer look at the pedal position. As the number of passengers increases, the pedal is pressed down further. This means you're spending more gas to make the car to at 20 m/s. And another trade-off is we're getting to this speed much slower.

In this video, we investigated robustness of a control system to system variations using simulations in Simulink. I hope this series was helpful as an introduction to control systems. Feel free to share your feedback below this video and also let us know about the topics you want us to cover in the future. In the next series, we’ll discuss Kalman filters.

Product Focus

Recorded: 13 Dec 2016