Decided to make my posts on Friday, so it is more of a reflection of past week (in this case a little more). Besides that I’m also gonna try to keep using the format of my midterm overview. So what has happened:

  • Merged PR #23981 adding an optional frame argument to RigidBody.parallel_axis and implementing Body.parallel_axis.
  • Merged PR #23982 changing Body to always have an inertia, also when representing a Particle. This will partially solve issue #23269.
  • Merged PR #23920 changing the definition of a Joint to use intermediate frames. Something that was specifically added last week was the support for supplying an axis with which the interframe should align its X axis. Something which surprisingly gives the exact same results as parent_axis and child_axis did (means that those rotations were actually chosen more logical than I thought).
  • Closed issue #23913 on the problem that the use of temporary relationships between ReferenceFrames in the Joint class can lead to deleting correct relations. Was also fixed in #23920.
  • Raised issue #1929 in the symengine on the problem of stackability of null Matrices.
  • Raised and closed issue #24005 on the problem that a CI slow test 2 failed due to a timeout. However due to irreproducibility this issue was also closed.
  • Opened PR #24028 implementing a generic coordinate generation helper, which is ready for merging.
  • Opened draft PR #24037 implementing the CylindricalJoint, which will be ready for review as soon as #24028 is merged.

As you can see from the list above, quite a few things have happened and I’m happy with the progress. A lot of this progress is also due to the help in reviewing and conceptual problem solving I got from Sam Brockie, who is now also able to work full time on SymPy. Next week I also hope to publish the PRs of the PlanarJoint and SphericalJoint. And probably also finish of that state saving issue #23741 by just going for the easy solution, namely leaving almost everything as is and just removing the to aggressive relation deletion of ReferenceFrame._dcm (#23913).