You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Users specify joints by giving a frame on the parent link (Jp) and a frame on the child link (Jc), plus joint-specific info. Joints are implemented with mobilizers that use an inboard frame F and outboard frame M in the multibody tree. Currently we use Jp and Jc for F and M. This is not always the optimal choice, in which case we would be better off making up new F and M's for computation, transforming back to Jp and Jc only when needed.
Examples are:
Weld joints should enforce that F and M are always coincident, so that we do not have to compose X_FM during kinematics. Currently they enforce an arbitrary X_FM matching X_JpJc. A better choice of F (e.g. coincident with Jc) would make X_FM identity.
Pin, prismatic, and screw joints specify an axis in addition to Jp and Jc. The underlying mobilizers would be much more efficient if the axis was aligned with one of the F and M coordinate axes. In that case the axis has only one non-zero element (a 1!) and the R_FM rotation matrix has a special 2d structure where only 4 elements change.
The victory condition for this issue is that we can create and bookkeep new frames, with appropriate conversions back to Jp and Jc as necessary, with a single example implemented (say Weld), without necessarily taking advantage yet of the potential speedups.
Separate issues will be filed for special-casing more mobilizers and taking advantage of the simplifications.
This is part of the Multibody performance epic #18442
The text was updated successfully, but these errors were encountered:
Users specify joints by giving a frame on the parent link (Jp) and a frame on the child link (Jc), plus joint-specific info. Joints are implemented with mobilizers that use an inboard frame F and outboard frame M in the multibody tree. Currently we use Jp and Jc for F and M. This is not always the optimal choice, in which case we would be better off making up new F and M's for computation, transforming back to Jp and Jc only when needed.
Examples are:
The victory condition for this issue is that we can create and bookkeep new frames, with appropriate conversions back to Jp and Jc as necessary, with a single example implemented (say Weld), without necessarily taking advantage yet of the potential speedups.
Separate issues will be filed for special-casing more mobilizers and taking advantage of the simplifications.
This is part of the Multibody performance epic #18442
The text was updated successfully, but these errors were encountered: