-
Notifications
You must be signed in to change notification settings - Fork 151
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
Get coriolis matrix or transpose of coriolis and centrifugal * velocity #21
Comments
Can you specify what do you mean by coriolis matrix? Do you maybe mean the vector returned by NonlinearEffects (q, qdot, f_ext) (https://rbdl.github.io/d6/d63/group__dynamics__group.html#ga1782fbfb223812259d73fec58deff94e)? |
Martin, the NonlinearEffects term (N) in rbdl library can be expressed as: N = C(q,qdot)*qdot |
i also meet this problem, solved it? |
One of the easiest ways to circumvent this problem is by using 'Mdotqdot - Cqdot' instead of 'Ctranspose * qdot' from the relationship 'Mdot = C + C^T'. Mdot can be obtained from simple numerical derivatives. C*qdot is equal to the NonlinearEffects API values - gravity vector. But this method produces some errors on Mdot especially when the velocity is fast. C matrix also can be obtained from the inertia matrix M using the Christoffel Symbol method. But this method costs a lot of computation if the DoF of the model is large (maybe O(N^3)). I'm trying to implement a recent work presented in this paper (https://arxiv.org/abs/2010.01033) which offers MATLAB code(https://github.com/ROAM-Lab-ND/spatial_v2_extended). |
Hi, I'd like to achieve a momentum-based observer. Is there a way to get the C matrix directly? |
you can set dq to zero vector, and the you can get the gravity torque, and than set q to zero vector, set dq=[1, 0, 0....], [0, 1, 0...], get the centripetal force, then set dq=[1, 1, 0, ...], get the centripetal force and coriolis force. |
Is it possible to get the coriolis matrix for a given model? I realize that there is no direct API call, but I wanted to calculate Ctranspose * qdot for my work. Is there a way to get this value?
The text was updated successfully, but these errors were encountered: