How to solve Algebraic Loops in half car model with PID controller

조회 수: 4 (최근 30일)
Mücahit
Mücahit 2023년 12월 23일
답변: Sulaymon Eshkabilov 2023년 12월 24일
  댓글 수: 6
Sam Chak
Sam Chak 2023년 12월 24일
There is no algebraic loop error message when I run the Simulink file. I added a Scope to check the signals, and they are stable. Perhaps @Sulaymon Eshkabilov can also take a look.
Mücahit
Mücahit 2023년 12월 24일
thank you so much for your efforts. I don't use Scope, I'm using the plot code from the matlab command page. as you can see , there is a very big peak at first.when I run the code, it gives an algebraic loop error but I can get these graphs, and when I change the coefficients, it asks me to reduce the number of steps or fix the algebraic loop set parameter trust region command. i thought that if I solved the algebraic loop error, I would improve the graph more.

댓글을 달려면 로그인하십시오.

답변 (2개)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023년 12월 23일
By glancing at your Simulink model, that looks ok without seeing f(u)'s. I can see the problem is in f(u) function definitions. I would check f(u) for acceleration calcs.

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023년 12월 24일
There are a couple of derivative blocks in your model that creates all instability (spikes are occuring due to derivatives at t=0, i.e., Any/0 = inf) related issue at the start of your simulation. A possible solution can be:
(1) Switch the derivative block with a some sort of transfer function, e.g., TFD(s) = s/(tau_D*s+1)
(2) Include the derivative term into the PID's transfer fucntion

카테고리

Help CenterFile Exchange에서 Gain Scheduling에 대해 자세히 알아보기

태그

제품


릴리스

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by