-
Notifications
You must be signed in to change notification settings - Fork 9
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
Simplify integrators
module structure
#82
Conversation
c3808bb
to
c0f163c
Compare
I was doing the review in the online VSCode and it got sent before actually finishing it :) It looks good even though there's some issue with typing. In fact, the Euler/RK integrators are generic and can work on any pytree. Instead, the semi-implicit variants and those that integrate the quaternion on I originally developed these integrators for a possible new external library, but it always made sense to keep them inside the project. Eventually, the schemes that work better are those with the base orientation on the manifold, and they are pretty custom for floating-base robots. I have a better implementation of schemes based on Butcher tableau in #72, if we feel like, we can use those resources also for the vanilla fixed-step integrators (forward euler, RK4). |
Co-authored-by: Diego Ferigo <[email protected]>
Co-authored-by: Diego Ferigo <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good! Some remaining minor comments.
Co-authored-by: Diego Ferigo <[email protected]>
a225c87
to
e212c69
Compare
This PR has the aim of simplifying the
integrators
module. This will ease up the process of adding new types of integrators and facilitate the debugging.In order to do this, I made the following changes:
IntegratorType
has been moved fromode_integration
tointegrators
. This has no effect on the rest of the code as theintegrators
module is imported beforeode_integration
odeint_INTEGRATORTYPE
functions have been concentrated in oneodeint_INTEGRATORTYPE_one_step
functions have been merged in oneoneint_one_step
that changes the body function only. For the manifold integrator, the additional operation have been moved inside a conditionalSince @diegoferigo is working on the variable step integrators, we could think to merge this PR after rebasing on the #72
📚 Documentation preview 📚: https://jaxsim--82.org.readthedocs.build//82/