-
Notifications
You must be signed in to change notification settings - Fork 356
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
Computing gradients and hessians #437
Comments
Which derivatives do you need? |
rearranged my dynamics into the form dx/dt = f(x,u), wondering if there is functions to compute df/dx, df/du etc .. or if there is a general way that these are computed when solving typical optimization problems Thanks alot |
I would take this opportunity to open a discussion about automatic differentiation. I know that we can find analytical derivatives of some rigid body algorithms, but do you think we can do it for all the algorithms? In negative case, it would be nice to extend Pinocchio with CppAd |
@Bilalhmd It really depends on the choice of your robot. Is a free floating base system or not. |
@cmastalli It would be interested indeed, but AD does not solve all the problems. It is also a hard to make all the code compliant with operator overloading. |
@Bilalhmd Do you need additional help for derivatives? I will close this issue. |
@Bilalhmd A while ago, you asked for computing derivatives in Pinocchio. Best, Justin |
Hi, this has been really helpful, it seems to me that the terms regarding the contact/external forces are not included in the code, for example in the forward dynamics derivative dFD/dq should i just simply add (dM_inv/dq).J^T.f_{ext} + M_inv.(dJ^T/dq).f_{ext} ? best |
They are taken into account on the devel branch. |
found it, thanks! it seems that only the python binding was missing for the extended version of the function, i will stop posting on this thread. |
Do you need them? |
no everything works fine, thanks again |
Is there an implementation to compute gradients and hessians of the dynamics ? i can find a finite-difference implementation in algorithms, will I be able to use this ?
The text was updated successfully, but these errors were encountered: