-
Notifications
You must be signed in to change notification settings - Fork 48
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
Package CasADi MATLAB bindings #719
Package CasADi MATLAB bindings #719
Comments
The tricky aspect here is that to compile the MATLAB bindings from source, casadi requires a forked version of SWIG, and specifically a different fork w.r.t. to the one used by YARP and iDynTree MATLAB bindings. To solve this, we should build a repo |
As per robotology/idyntree#865, this issue quickly became relevant. While testing robotology/wb-toolbox#209 that modified WB-Toolbox to add support for osqp (and so it links osqp in the WB-Toolbox shared library plugin), @CarlottaSartore experienced this MATLAB crash in a controller that was using Casadi binaries downloaded from https://web.casadi.org/ and WB-Toolbox compiled binaries via the robotology-superbuild:
The issue is probably due to the fact that osqp in robotology-superbuild is 0.6.2 and the one used in official casadi binaries is 0.5.0, and they are not ABI compatible. |
Fortunately thanks to @GiulioRomualdi efforts the casadi version in the robotology-superbuild is compatible with the latest osqp (see casadi/casadi#2671), so indeed fixing this issue should permit to use in the same controllers the CasADi MATLAB bindings and the WB-Toolbox binaries. |
Fixing this should also permit to package https://github.com/robotology/urdf2casadi-matlab as part of the robotology-superbuild (and also get conda packages for it). |
To ensure that the generated conda binary packages work as expected when a qp solver is used, we also need to remember to fix this: conda-forge/casadi-feedstock#51 . |
Since robotology/whole-body-controllers#104, the
whole-body-controllers
package of the superbuild depends on the CasADi MATLAB bindings. While at the moment users install CasADi manually as documented in https://github.com/CarlottaSartore/whole-body-controllers/blob/6c3d28fec228d23323ca3c7d07f2342666e69d7e/library/simulink-library/MomentumVelocityControl/README.md#hammer-dependencies , this is an additional manual step that complicates deployment. Ideally, we should ensure that the CasADi MATLAB bindings are compiled if bothROBOTOLOGY_ENABLE_DYNAMICS_FULL_DEPS
andROBOTOLOGY_USES_MATLAB
options are enabled.The text was updated successfully, but these errors were encountered: