-
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
Add casadi-matlab-bindings and remove qpOASES dependency in whole-body-controllers #783
Conversation
This turns out to be more problematic that expected, as it basically makes
|
Another problem that emerged is:
This is happening because |
I think I will need a quick feedback on this from actual users. Brief recap:
Any strong opinion on this @lrapetti @S-Dafarra @gabrielenava ? |
It seems to me that option 3 is the most preferable. Is it possible to avoid the controller to crash and burn if Casadi is not present, and eventually throw a meaningful warning? |
No idea, @CarlottaSartore do you have any opinion? |
I don't have a strong opinion on that, but I would go with what @S-Dafarra proposed if doable. |
I do not see any problem with the approach proposed by @S-Dafarra for the external projects, since it would mean to correctly document the set of the variable
This part could be tricky, if I recall correctly, the model does not compile if Casadi is not found. So we should define a way to proceed (check if casadi is present at the initialization phase a throw an error stating to set to true I can dig into the issue to find a suitable way to deal with it.
It seems to me that also this one could be a valuable option, since it seems to me that the use of Casadi in the lab is increasing lately, although the problem of the compilations error could be critical |
I would also go for option 3 as an immediate solution, for the reasons already mentioned. I think option 1 (Move casadi and casadi-matlab-bindings in ROBOTOLOGY_USES_DYNAMICS ) is risky, potentially increasing the compilation errors as @CarlottaSartore mentioned. I haven't tried recently, but I remember having issues for building Casadi on the MacOS, where it was less well supported than on other platforms. This should have been improved with Conda... About option 2: Move whole-body-controllers in ROBOTOLOGY_USES_DYNAMICS_ADDITIONAL_DEPS. So in the long (not too long) run, I would go for option 2 after moving the yarpmotorgui files elsewhere. |
In any case, whatever option is selected, I think the yarpmotorgui files should be moved elsewhere. |
Given the consensus, let's keep things as they are. |
That was the best compromise we were able to find in robotology-legacy/codyco-modules#273 . If there is a new concrete proposal of where to host those files, and both the whole-body-controllers mantainer (@gabrielenava) and the mantainer of the repo (or of the newly created repo) meant to host those files agree with the change, then I don't think there is anything blocking the change. |
Actually I just realized that in any case we want to drop qpOASES dependency? |
Related to #782 . This ensure that casadi-matlab-bindings are installed also when
whole-body-controllers
is installed via conda binary packages, as it happens for the MATLAB/Simulink one line installation process (https://github.com/robotology/robotology-superbuild/blob/master/doc/matlab-one-line-install.md) @DanielePucci .Note that the problem fixed by this PR and described in #782 does not affect running controllers that do not use CasADi, such as the YOGA++ .