-
Notifications
You must be signed in to change notification settings - Fork 7
Basic class based Matlab interface. #13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Nice work in general! Would love to merge this PR. However, I have some issues running this. I ran your example from above to test the matlab interface. Here is my error message:
Anything I need to do in the build process? |
Ah this actually has little to do with the matlab version and more to do with the fact that Mathworks in their infinite wisdom ships their own (old) version of
This is a known issue with many matlab interfaces including e.g. IPOPT: https://list.coin-or.org/pipermail/ipopt/2013-July/003429.html |
Okay, great! That resolved it. I think we should update the README file with those changes before merging. Would you be willing to update that section? |
Part 1 of the work to make LCQPow easier to use as a sub-solver. This PR (mostly) doesn't touch the core algorithm and just provides an interface for matlab which allows creating
LCQProblem
objects, e.g.:This uses the modern (since R2017b) C++ library for creating
.mex
interfaces (though it has only been tested on >=R2023b), and acasADi
style pointer to "self" in each object to store the underlying pointer to theLCQProblem
C++ object.There are a few things that still should be (and will be in part 2,3,4,...) cleaned up, namely a more maintainable
CMakeLists.txt
for the interface targets, unifying indentation (there is a bunch of tabs vs spaces conflicts), and some memory handling improvements to reduce the number of copies that need to happen to load problem data and pass it to the QP solvers.I don't know what detail you want to look at this in @hallfjonas, but I figured I shouldn't just start pushing directly to main 😄
(updated this to a PR from a branch in this repo so the fork can be deleted).