Skip to content
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

CentroidalStatics->init() function must be handled differently #19

Open
lucarossini-iit opened this issue Feb 16, 2021 · 1 comment
Open
Assignees
Labels
bug Something isn't working

Comments

@lucarossini-iit
Copy link
Collaborator

So far, we moved the init() function from setContactLinks() and setContactRotationMatrix functions to a public class member function in order to minimize its number of calls and OpenSoT problem generation as well.

At the moment, the procedure should be:

  • setContactLinks(),
  • setOptimizeTorque(),
  • setFrictionCoefficient(),
  • init(),
  • setContactRotationMatrices(),

If the init() is called after setting the rotation matrices, they will be re-initialized as identity matrices leading to an error. In my opinion this procedure is not intuitive and the init() function should be put again inside the setContactLinks(), setOptimizeTorque(), setFrictionCoefficien() functions.

@lucarossini-iit lucarossini-iit added the bug Something isn't working label Feb 16, 2021
@EnricoMingo
Copy link
Collaborator

If I remember well we moved out to avoid re-initialization of the problem every time a new one setter is called. We could eventually handle the initialization internally in the solve. Something like: every time a setter is called an internal (to_initi) flag is set to true. When solved, if to_init is true, init() is called and the flag is set to false.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants