필터 지우기
필터 지우기

stiffness problem / Trying to use ode1 (Euler) in Simulink

조회 수: 4 (최근 30일)
Morten
Morten 2012년 5월 22일
Hi.
I am trying to simulate a robot manipulator in Simulink. Unfortunately, the simulation system I have made will not run unless I use the ode15s (stiff) solver. This probably indicates that my system is stiff, but according to my professor, it's not supposed to be. He says that I should be able to simulate the system using ode1 with fixed step of 0.001 for instance.
He also though that the system behaved in this way due to the matrix inverse. I was using inv(D) within a level-2 s-function. I have now changed that to D\eye(6), but with no immediate effect.
I need to figure out how to do this because I also need to copy the system into LabVIEW and LV don't have the ode15s solver.
Does anybody have a clue to what the problem can be, or how to solve it? I'm really struggling here.

답변 (1개)

Guy Rouleau
Guy Rouleau 2012년 5월 22일
I would verify if the robot starts in a singular configuration.
If you invert D, I guess this is because D is the manipulator jacobian. What is the condition number of the jacobian? Try cond(D) or eig(D). If MATLAB returns a warning about the matrix being badly conditionned, try another configuration.
Other that that... what error message your receive when trying to simulation with ode1 and ts=0.001 ?
When using ode15s, what is the step size taken by the solver? You can determine that by logging the simulation time and plotting diff(tout).
  댓글 수: 1
Morten
Morten 2012년 5월 26일
D is the manipulator inertia matrix (referred to as M, H, or D, depending on litterature). The equation I am trying to simulate looks like this: (qdd = q double dot, qd = q dot..)
D(q)qdd + C(q,qd)qd + G(q) = tau.
Tau is set to be zero, thus I am simulating a manipulator collapsing to gravity.
I tried cond(D), eig(D), cond(Dinv), eig(Dinv), but none of them gave any error messages.
The error message says that the derivative input of the first integrator is either INF of NAN. "There may be a singularity to the problem".
When using ode15s, the step size in the beginning is very small.

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

카테고리

Help CenterFile Exchange에서 General Applications에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by