HJReachability / ilqgames

Iterative Linear-Quadratic Games!
https://hjreachability.github.io/ilqgames/
BSD 3-Clause "New" or "Revised" License
132 stars 41 forks source link

Handle infeasible initial guess #33

Closed dfridovi closed 4 years ago

dfridovi commented 4 years ago

Implements a bit of a dirty but intuitive fix for initial guesses not being feasible. Now each constraint must specify an "equivalent cost" which is used whenever the trajectory specified by the operating point and strategies is not feasible. The idea is that if this "equivalent cost" version is used enough then the constraints should eventually be satisfied, though of course that's only a heuristic. Other fixes could work if the constraints did not change between solver calls, but that's not very realistic so I didn't want to depend on that. This fix seems to work for the receding horizon example, which now runs very quickly (<10ms / instantiation).

dfridovi commented 4 years ago

Noticed a bug - doesn't appear to handle constraints right on ThreePlayerIntersectionExample so I'm looking to this.

dfridovi commented 4 years ago

Essentially fixed bug now. Could probably be cleaner but this seems to be ok for now.

dfridovi commented 4 years ago

@MrRubyRed thought this looked good, so merging.