How can I evaluate the next state to take a decsion in Simulink?

1 visualizzazione (ultimi 30 giorni)
Keeping the complicated details aside, what I want to do is this: I want to take a decision in Simulink (Choose between two controllers) based on what the next state will be using one of these controllers (the main one). If the next state meets a certain criteria then I will make a switch to the other controller. I've been trying to think of how this can be implemented but I just can't think of a way.

Risposte (2)

Jim Riggs
Jim Riggs il 8 Mag 2018
Modificato: Jim Riggs il 8 Mag 2018
Here is my thought:
This used duplicate controller blocks.
Or if the decision only depends on the first controller:
Or maybe this would work:
  1 Commento
Yaseen Abdel Moneim Sabry El-Zawahry
Yes, this is what would come to mind at first. But the problem is that the switch logic is dependent on what would happen should we choose controller #1. So the switch logic is actually dependent on the system and the system is dependent on the switch so it can't be directly solved that way.

Accedi per commentare.


Yaseen Abdel Moneim Sabry El-Zawahry
After some time thinking and trying solutions I came up with one that works well enough for my application. What I did is that I created a similar system to the one I'm controlling. This new system gets updated with new initial values periodically (every 0.01s in my case) and is always controlled by the controller #1. Then the output of this system is calculated and based on this output we can do the necessary logic to choose the controller for the true system.

Categorie

Scopri di più su Control System Toolbox in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by