-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Description:
The osqp_.solve function within c3.cc can fail silently without propagating an error to the caller. This occurs when OSQP encounters conditions like "ITERATION LIMIT," "INFEASIBLE CONSTRAINTS," or other non-optimal exits. As a consequence, the z_sol_ value, which should reflect the solution from the most recent solve, instead retains the value from the last successful solve. This leads to the system operating with potentially incorrect or outdated solution data, masking underlying issues that need attention.
Reproduce
In general, I believe this would be hard to reproduce, but a sure fire way to observe this behavior is to add infeasible user constraints.
Background
The issue was observed when implementing a simulated cartpole system with the c3 controller. At the time of writing this issue, there existed another bug which lead to conflicting initial force constraints. This bug will be resolved with <TODO: add PR # here>.