There is no standard name in the literature for the kinematic coupling matrix that relates generalized speeds u to generalized coordinate derivatives qdot. Way back when, I chose the symbol "Q" for this matrix for Simbody's kinematic differential equation qdot=Q*u. That looked like a clever choice in Mathtype but has turned out to be bad in the limited typography of code, where method names with Q in them are common but usually refer to generalized coordinates q. To make matters worse Q is q-dependent, that is Q=Q(q). This has made for some awkward and confusing method names.
In SimTK "2.0" (or whatever) this is going to get worse because I have to add more operators to support inverse dynamics and impulse momentum. I would like to fix the ill-conceived terminology choice now.
The name I would like to use for this matrix is "N". I discussed this with Paul Mitiguy and he likes that but also suggested "R" or "S" since they are "between Q and U" (cute). I prefer N for a number of minor reasons: (1) it isn't used anywhere and doesn't have any common use in multibody dynamics that I can think of, (2) it has a pleasant association with the quaternion normalizations equations which we write n(q)=0 and which arise precisely because N is not identity, (3) it is adjacent to the other differential equation matrix M.
The differential equations would then be
qdot = N*u
M udot = f - G^T*lambda
zdot = fz(t,q,u,z)
This change would permit operator methods involving "N" to be named like those involving "M" rather than using the awkward and still-confusing "QMatrix".
Does anyone have objections or other ideas?
Sherm
Renaming the "Q" matrix
- Michael Sherman
- Posts: 806
- Joined: Fri Apr 01, 2005 6:05 pm
RE: Renaming the "Q" matrix
No one seems to be defending the existing choice, and I haven't heard any better choices than "N", so I'm going to rename Q to N in the near future unless someone screams.
The old names won't be removed until SimTK 2.0 because it is a (mildly) breaking change to the API. However, I will try to get the new names in soon as preferred alternates.
The old names won't be removed until SimTK 2.0 because it is a (mildly) breaking change to the API. However, I will try to get the new names in soon as preferred alternates.