Replies: 6 comments 9 replies
-
Dear Jake, Thanks for raising these questions. For the second one, in Pinocchio we always operate on the tangent space of the given motion groups enabled by the joints for velocity and forces quantities. In Pinocchio, to get access to higher tensor derivatives, you can always rely on autodiff support, which is well supported by Pinocchio. Best, |
Beta Was this translation helpful? Give feedback.
-
Thanks Justin for your quick and helpful reply, it resolves my questions! Indeed, this question evolved out of a discussion with Dr. Wensing this week at ICRA. I’ll look further into implementing these things and I appreciate your insight. |
Beta Was this translation helpful? Give feedback.
-
Hey guys, As Justin says, the algorithm in my paper and in Pinnochio have the same conceptual operation. My algorithm and the supporting theory were developed in 2014, and I've shared documentation of that with Justin (I'm dreadfully slow to publish, and I'm sorry that was the case). I think we've agreed that there was independent development and value brought from both sides. I'd mostly been thinking about applying the Coriolis matrix for adaptive control, so I'm excited to see Jake's new directions here. There are a few nuance points that I think will be important for Jake.
Sorry for the long post, but I figured it was worth clarifying -- happy to follow up in any way that would be helpful. Cheers, |
Beta Was this translation helpful? Give feedback.
-
I do think this impacts the answer to question #1548 as well. It seems that the answer there assumes that the skew-symmetry of |
Beta Was this translation helpful? Give feedback.
-
Hi Pat, No need to apologize for the long post, this was extremely helpful! I guess in hindsight you explained some of these things when we spoke verbally and also in the paper I linked, but I don't think I properly grasped them til now. For example - that the passivity property holds for a number of admissible factorizations, not just the Christoffel-consistent one. Thanks also for the line-by-line details about the differences between these choices in implementations, that's super helpful. In regards to the non-commuting basis vector fields in general - this makes sense to me for the non-symmetry of the generalized Christoffel symbols, and I see you noted that the correct indexing Justin, do you think Pinocchio is likely to have the option to use the body-factorization Pat suggests? I wonder if perhaps you chose the other one for performance reasons since it seems to be less total operations. Would having a flag to choose the factorization be an option? By the way, @Brian-Acosta had a similar interest regarding the passivity-based control that Pat was getting at. I discussed this briefly with Brian and I don't think he got as far as implementing it, but I think there's a few folks interested in being able to use this factorization. I'm not knowledgeable about passivity-based control, but perhaps the feature Brian was looking for is already available in Pinocchio (whereas he was originally asking about Drake) because the passivity property is satisfied, just not the Christoffel-consistency. Thanks again to you both for your prompt and helpful messages. Best, |
Beta Was this translation helpful? Give feedback.
-
@jakewelde @pwensing I made the change (see #1665) to get a Coriolis matrix which is consistent with Christoffel symbols of first kind. @jakewelde You should be able to install Pinocchio from the devel branch from source. |
Beta Was this translation helpful? Give feedback.
-
Hi there,
I have some followups to the question #1548 about whether the$C(q,v)$ computed by Pinocchio is consistent with the Christoffel symbols. Just to make sure, does your answer mean that $C(q,v) = \Gamma_{ijk} v^k$ , where $\Gamma_{ijk}$ are the Christoffel symbols (of the first kind)?
Furthermore, is this still the case for floating-body systems, in which case I am asking about the "generalized Christoffel symbols" in agreement with the implicit basis of vector fields used to express the components of the velocity$v$ ?
Finally, is this just the result of choosing a consistent body-level factorization, which therefore yields an appropriate factorization for the coupled system, as described in this paper as a "Christoffel-consistent" factorization?
The reason I ask is that I am interested in using Pinocchio to compute covariant derivatives of various vector fields, so if the factorization used by Pinocchio is as I described, I believe that given any two vector fields represented in components in the basis of the velocity components, I can compute the covariant derivative of one along the other using a combination of matrix operations with$M$ and $C$ and Lie derivatives.
Many thanks,
Jake
Beta Was this translation helpful? Give feedback.
All reactions