Algebraic state in algebraic loop containing ... computed at time 0.0 is Inf or NaN.
Show older comments
Hello,
I am making a collision avoidance application such that an ego vehicle must avoid collision with another vehicle using responsibilty sensative safety by mobileye, controlling the ego vehicle with an mpc to get to point A to point B, and changing the optimal control with a Barrier Certificate Enforcement to avoid other vehicles.
I've attached a compressed file of the matlab codes and simulink model. I believe its necessary that I attach it all because this error is coming from a matrix multiplier. Please run "initialize_constants" matlab script before running simulink model.
The error I recieve is...
An error occurred while running the simulation and the simulation was terminated
Caused by:
- Algebraic state in algebraic loop containing 'feedbackmpcCBFv3/Barrier certificate enforcement/Barrier Certificate Enforcement/Barrier Certificate Constraint/Product1' computed at time 0.0 is Inf or NaN. There may be a singularity in the solution. If the model is correct, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances) or tweak the initial guess of algebraic loop variable values.
In my barrier function I divide by a parameter called LODSDSD(Longitudinal opposite direction/same direction safe distance). This value is calculated by using the longitudinal velocity data of the non-ego vehicle from the scenario reader.
When I log the signal of the non-ego vehicle's longitudinal velocity it comes out as 0 which would cause that barrier function to be a non-real number which is why I believe im getting this error from. I've verified that the scenario is inputted properly by making a feedfoward system with the same scenario to just log the data. and the initial condition of the non-ego vehicle is correct but when I turn it back to a feedback loop the intial longitudinal velocity of the non-ego vehicle is 0.
I've tried to change to a stiffer solver (ode15s(stiff/NDF)) and tighten my error tolerance.
I believe my model is correct as im use a model from Rajesh Rajamani - Vehicle Dynamics and Control Second Edition book.
Thank you in advance for anyone that can assist me with this error,
Marshall Botta
4 Comments
Daniel
on 2 Oct 2024
I get some errors trying to run the attached model. It looks like you defined some variables in the MATLAB workspace that don't get populated automatically by the model. Could you provide some values to use for those variables?
Error evaluating 'InitFcn' callback of NonlinearMPC block (mask) 'feedbackmpcCBFv3/MPC controller/Nonlinear MPC Controller'. Callback string is 'nmpcblock_InitFcn;'
Caused by:
- Cannot resolve: nlobj.
Error:Error due to multiple causes.
Caused by:
Error evaluating parameter 'EgoVehicleActorID' in 'feedbackmpcCBFv3/Simulation/Scenario Reader'
Unrecognized function or variable 'egoID'.
Variable 'egoID' does not exist.
Suggested Actions:
Load a file into base workspace.
Create a new variable.
Error evaluating parameter 'SampleTime' in 'feedbackmpcCBFv3/Simulation/Scenario Reader'
Unrecognized function or variable 'Ts'.
Variable 'Ts' does not exist.
Suggested Actions:
Load a file into base workspace.
Create a new variable.
Error:Error due to multiple causes.
Caused by:
Error evaluating parameter 'a' in 'feedbackmpcCBFv3/Vehicle dynamics/Vehicle Body 3DOF Single Track'
Unrecognized function or variable 'lf'.
Variable 'lf' does not exist.
Suggested Actions:
Load a file into base workspace.
Create a new variable.
Error evaluating parameter 'b' in 'feedbackmpcCBFv3/Vehicle dynamics/Vehicle Body 3DOF Single Track'
Unrecognized function or variable 'lr'.
Variable 'lr' does not exist.
Suggested Actions:
Load a file into base workspace.
Create a new variable.
Error evaluating parameter 'Cy_f' in 'feedbackmpcCBFv3/Vehicle dynamics/Vehicle Body 3DOF Single Track'
Unrecognized function or variable 'Cf'.
Variable 'Cf' does not exist.
Suggested Actions:
Load a file into base workspace.
Create a new variable.
Error evaluating parameter 'Cy_r' in 'feedbackmpcCBFv3/Vehicle dynamics/Vehicle Body 3DOF Single Track'
Unrecognized function or variable 'Cr'.
Variable 'Cr' does not exist.
Suggested Actions:
Load a file into base workspace.
Create a new variable.
Error evaluating parameter 'Izz' in 'feedbackmpcCBFv3/Vehicle dynamics/Vehicle Body 3DOF Single Track'
Unrecognized function or variable 'Iz'.
Variable 'Iz' does not exist.
Suggested Actions:
Load a file into base workspace.
Create a new variable.
Marshall Botta
on 2 Oct 2024
Daniel
on 2 Oct 2024
Hi Marshall,
In retrospect that file probably should have been more obvious to me. :)
Anyway, I get another error now. It looks like I'm missing "deaccelerationtestscript".
Marshall Botta
on 2 Oct 2024
Edited: Marshall Botta
on 2 Oct 2024
Accepted Answer
More Answers (0)
Categories
Find more on Refinement 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!