Skip to content

feat: parse <inertial> elements and joint effort/velocity limits#330

Merged
gkjohnson merged 3 commits into
gkjohnson:masterfrom
ferrolho:fix/address-pr-299-feedback
Apr 10, 2026
Merged

feat: parse <inertial> elements and joint effort/velocity limits#330
gkjohnson merged 3 commits into
gkjohnson:masterfrom
ferrolho:fix/address-pr-299-feedback

Conversation

@ferrolho

@ferrolho ferrolho commented Apr 9, 2026

Copy link
Copy Markdown
Contributor

Supersedes #299 by @dkozma -- this PR is based on their work with review feedback addressed.

Changes

Inertial parsing (<link>)

  • Parses <inertial> child elements: mass, origin (xyz + rpy), and inertia (ixx, ixy, ixz, iyy, iyz, izz)
  • inertial is always present on URDFLink with URDF spec defaults (mass: 0, origin: identity, inertia: zeros), same pattern as limit on URDFJoint
  • Uses number[] for origin xyz/rpy (consistent with processTuple)
  • Added copy() to URDFLink for the new property
  • Exported URDFInertial TypeScript interface

Joint limits (<joint>)

  • Parses effort and velocity from <limit> elements
  • Both default to 0 (not null)

Other

  • Updated README documentation for .inertial on URDFLink and .limit on URDFJoint
  • Updated tests (all 32 pass, 6 skipped, 1 todo -- all pre-existing)
  • Dropped the meshPath addition from Add joint limit and inertial link data #299 (separate concern, LoadingManager is the right approach)

Credit

Original work by @dkozma in #299. Review feedback from @gkjohnson addressed in ferrolho@9d3c29a.

@ferrolho ferrolho force-pushed the fix/address-pr-299-feedback branch from 9d3c29a to c515bda Compare April 9, 2026 21:24
@ferrolho ferrolho force-pushed the fix/address-pr-299-feedback branch from c515bda to ae7014a Compare April 9, 2026 21:28
@gkjohnson gkjohnson added this to the v0.12.7 milestone Apr 10, 2026
@gkjohnson

Copy link
Copy Markdown
Owner

This is great! Thanks for taking these changes to the finish line.

@gkjohnson gkjohnson merged commit 757eeda into gkjohnson:master Apr 10, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants