Unable to properly feedback an updated signal in simulink

Hello,
I'm trying to make a toy example work using simulink. I have a particle that i want to go in a circle. Basically what I want to do is to rotate progressively by 10 deg over 36 sec (so it makes a full circle).
How to code this in simulink? For the rotation, I used the 2d rotation matrix about z. I am basically having trouble feeding back the updated velocity as the new reference.

 Accepted Answer

If you directly feed it back, you will create an algebraic loop, which is sometimes difficult to solve. Feedback through a delay block https://in.mathworks.com/help/simulink/slref/delay.html. Give a delay of 1 between output and feedback input.

4 Comments

Hi Ameer,
Thanks for your quick answer. I am having trouble integrating your suggestion.
Essentially, I would like to have V0 just the initial loop, and from there it takes the updated signal, which in this case is vr.
Remove the Vo from outside the model and inside the MATLAB function block, write something like this
if t == 0
v = 10;
end

Sign in to comment.

More Answers (1)

Is there a reason why you wan to use a feedack loop where none really exists? Keep in mind that feedback loop is sampled and therefore the model is not integrating a continuous velocity. Why not just implement the equation for velocity directly, like so:

1 Comment

Yes there is a reason. Essentially, I want to use that feedback loop for a similar problem where I am controlling a particle and I want to add delta_v vectors under certain conditions. This toy example that I asked above simulated it well.
I do agree with you, one should not use feedback where no feedback is directly needed, and the solution above works as expected.

Sign in to comment.

Categories

Find more on General Applications in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!