Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Having a Simulink error while simulating a UAV to track a UGV.

Asked by Sunghun Jung on 28 Dec 2012
Latest activity Commented on by CEDRIC baes on 8 May 2014

Hello, brilliant researchers. I am having an error on Simulink while I am simulating flights of Unmanned Aerial Vehicle (UAV) by letting it to track a Unmanned Ground Vehicle (UGV). I have a following error.

------------------------------------------------------------------------------------------

Simulink cannot solve the algebraic loop containing 'UAV_UGV_sim/Closed loop UGV dynamics/cal_theta' at time 0.0 using the TrustRegion-based algorithm due to one of the following reasons: the model is ill-defined i.e., the system equations do not have a solution; or the nonlinear equation solver failed to converge due to numerical issues.

To rule out solver convergence as the cause of this error, either a) switch to LineSearch-based algorithm using set_param('UAV_UGV_sim','AlgebraicLoopSolver','LineSearch') b) reducing the ode45 solver RelTol parameter so that the solver takes smaller time steps. If the error persists in spite of the above changes, then the model is likely ill-defined and requires modification.

------------------------------------------------------------------------------------------

The following facebook link has the image file of my UGV and UAV simulink diagram.

http://www.facebook.com/photo.php?fbid=10151243017093889&set=a.10150636883693889.397114.628253888&type=1&theater

Thank you very much in advance for your invaluable helps.

1 Comment

Walter Roberson on 28 Dec 2012

Did you try switching to a LineSearch based algorithm to narrow down whether the problem is ill-defined or has numeric problems?

Did you check whether the system is well-defined at the initial conditions you use? That, for example, you do not have a division by 0 because an initial condition (e.g., time) is 0 but would be non-zero once the model starts going?

Sunghun Jung

Tags

Products

2 Answers

Answer by Ryan G on 28 Dec 2012
Accepted answer

The error you are seeing is related to the solver attempting to automatically resolve an algebraic loop. However, in this case, it is running into issues accomplishing the task. To resolve the issue try inserting 1/z into the sensor feedback paths. This will resolve the algebraic loop and put in realistic sensor characteristics (delays) so your model should still be relatively accurate.

4 Comments

Ryan G on 29 Dec 2012

1/z is the mathematical representation of a unit delay. In simulink you can define this to be fixed step, say 0.01 seconds, or inherited (-1).

Felipe Vasconcelos on 13 May 2013

THANK YOU!!!!!!

CEDRIC baes on 8 May 2014

Hello, I'm making a computal model of a thermoelectric genererator. I have a similar error indication of Simulink. I tried to put a Unit Delay before my Matlab Function but the problem still persists. I'm making a computal model of a thermoelectric generator (electric circuit). Any idea what the problem is ? Or what do I do wrong ?

Ryan G
Answer by Sunghun Jung on 29 Dec 2012

Thank you very much, Ryan. That worked!

0 Comments

Sunghun Jung

Contact us